from IPython.display import Markdown
OAuth
= Path(f'../examples')
ex_path # secrets = (ex_path/'goog_secret.json').read_json()
= parse_env(fn=ex_path/'gh_secret.env')
secrets = 'localhost',8000
host,port = f"http://{host}:{port}/redirect" redirect_uri
GoogleAppClient
GoogleAppClient (client_id, client_secret, redirect_uri=None, redirect_uris=None, code=None, scope=None, **kwargs)
A WebApplicationClient
for Google oauth2
GitHubAppClient
GitHubAppClient (client_id, client_secret, redirect_uri, code=None, scope=None, **kwargs)
A WebApplicationClient
for GitHub oauth2
WebApplicationClient.login_link
WebApplicationClient.login_link (scope=None)
Get a login link for this client
# client = GoogleAppClient(**secrets['web'], redirect_uri=redirect_uri)
= GitHubAppClient(**secrets, redirect_uri=redirect_uri)
client = client.login_link() login_link
= recv_once(host, port)
t f'[login]({login_link})') Markdown(
retr_code
retr_code (ret)
Parse a request to get the code – mainly used for testing
= retr_code(t.result)
code code
'e0b01caa1aa03fa8cfa7'
_AppClient.parse_response
_AppClient.parse_response (code)
Get the token from the oauth2 server response
_AppClient.get_info
_AppClient.get_info ()
Get the info for authenticated user
_AppClient.retr_info
_AppClient.retr_info (code)
Combines parse_response
and get_info
_AppClient.retr_id
_AppClient.retr_id (code)
Call retr_info
and then return id/subcriber value
client.retr_id(code)
346999