授权

处理OAuth的基本框架

查看文档页面以了解如何使用这个。

from IPython.display import Markdown

来源

谷歌应用客户端

 GoogleAppClient (client_id, client_secret, code=None, scope=None,
                  **kwargs)

一个 WebApplicationClient 用于 Google oauth2


来源

GitHub应用客户端

 GitHubAppClient (client_id, client_secret, code=None, scope=None,
                  **kwargs)

一个 WebApplicationClient 用于 GitHub oauth2


来源

HuggingFaceClient

 HuggingFaceClient (client_id, client_secret, code=None, scope=None,
                    state=None, **kwargs)

一个WebApplicationClient用于HuggingFace oauth2


来源

Discord应用客户端

 DiscordAppClient (client_id, client_secret, is_user=False, perms=0,
                   scope=None, **kwargs)

一个 WebApplicationClient 用于 Discord oauth2


来源

Auth0应用客户端

 Auth0AppClient (domain, client_id, client_secret, code=None, scope=None,
                 redirect_uri='', **kwargs)

一个 WebApplicationClient 用于 Auth0 OAuth2

# cli = GoogleAppClient.from_file('/Users/jhoward/subs_aai/_nbs/oauth-test/client_secret.json')

来源

重定向网址

 redir_url (request, redir_path, scheme=None)

获取request中主机的重定向URL

@rt
def index(request):
    redir = redir_url(request, redir_path)
    return A('login', href=cli.login_link(redir), target='_blank')

来源

_AppClient.解析响应

 _AppClient.parse_response (code, redirect_uri)

从 oauth2 服务器响应中获取令牌


来源

_AppClient.get_info

 _AppClient.get_info (token=None)

获取认证用户的信息


来源

_AppClient.获取信息

 _AppClient.retr_info (code, redirect_uri)

组合 parse_responseget_info

@rt(redir_path)
def get(request, code:str):
    redir = redir_url(request, redir_path)
    info = cli.retr_info(code, redir)
    return P(f'Login successful for {info["name"]}!')
# HTMX()
server.stop()

来源

_AppClient.retr_id

 _AppClient.retr_id (code, redirect_uri)

调用 retr_info 然后返回 id/subscriber 值

通过提供者登录后,用户将被重定向回提供的重定向URL。对此URL的请求将包含一个 code 参数,该参数用于获取访问令牌并获取用户的个人资料信息。请参阅 这里的解释 以获取示例。您可以选择:

  • 使用 client.retr_info(code) 来获取所有的个人资料信息,或者
  • 使用 client.retr_id(code) 获取用户的 ID。

在这些调用之后,您还可以使用 client.token["access_token"] 访问访问令牌(例如,用于撤销访问)。


来源

网址匹配

 url_match (url, patterns=('^(localhost|127\\.0\\.0\\.1)(:\\d+)?$',))

来源

授权

 OAuth (app, cli, skip=None, redir_path='/redirect', error_path='/error',
        logout_path='/logout', login_path='/login', https=True,
        http_patterns=('^(localhost|127\\.0\\.0\\.1)(:\\d+)?$',))

初始化 self。请查看 help(type(self)) 以获取准确的签名。