查看代码和详细信息
属类
泛型视图旨在以“包含电池”的方式使用,以通过OAuth2身份验证和作用域处理来保护自己的视图。
- class oauth2_provider.views.generic.ClientProtectedResourceView(**kwargs)
用于使用客户端凭据方法保护资源的视图。这包括在请求正文中允许访问令牌、基本身份验证和纯凭据。
- class oauth2_provider.views.generic.ClientProtectedScopedResourceView(**kwargs)
如果客户端保护回退到访问令牌,则施加作用域限制。
- class oauth2_provider.views.generic.ProtectedResourceView(**kwargs)
通过提供开箱即用的OAuth2身份验证来保护资源的通用视图
- class oauth2_provider.views.generic.ReadWriteScopedResourceView(*args, **kwargs)
使用OAuth2身份验证和读/写作用域保护资源的通用视图。Get、Head、Options http方法需要“Read”作用域。否则需要“WRITE”作用域。
- class oauth2_provider.views.generic.ScopedProtectedResourceView(**kwargs)
通用视图通过提供OAuth2身份验证和开箱即用的作用域处理来保护资源
混合食品
这些视图主要供内部使用,但高级用户可以将它们用作基本组件,以在他们的Django应用程序中定制OAuth2逻辑。
- class oauth2_provider.views.mixins.ClientProtectedResourceMixin
混合使用RFC:`3.2.1`中提到的客户端身份验证来保护资源。这涉及到使用以下任何一种身份验证进行身份验证:HTTP基本身份验证、客户端凭据和访问令牌。在第一次验证后中断。
- class oauth2_provider.views.mixins.OAuthLibMixin
这种混合将Django OAuth工具包从OAuthLib中分离出来。
用户可以通过设置以下类变量来配置此Mixin使用的Server、Validator和OAuthlibCore类:
server_class
validator_class
oauthlib_backend_class
如果未设置这些类变量,它将回退到使用OAuth2_设置中指定的类(OAuth2_SERVER_CLASS、OAUT2_VALIDATOR_CLASS和OAUT2_BACKEND_CLASS)。
- authenticate_client(request)
返回一个布尔值,表示是否使用客户端凭据方法对客户端进行身份验证。退货 True 如果通过身份验证。
- 参数:
request -- 当前的django.HTTP.HttpRequest对象
- create_authorization_response(request, scopes, credentials, allow)
调用CREATE_AUTHORIZATION_RESPONSE server_class 举个例子。
- 参数:
request -- 当前的django.HTTP.HttpRequest对象
scopes -- 以空格分隔的提供作用域的字符串
credentials -- 授权凭据字典包含 client_id , state , redirect_uri 和 response_type
allow -- 如果用户授权客户端,则为True,否则为False
- create_revocation_response(request)
一个包装方法,该方法调用 server_class 举个例子。
- 参数:
request -- 当前的django.HTTP.HttpRequest对象
- create_token_response(request)
调用Create_Token_Response的包装方法 server_class 举个例子。
- 参数:
request -- 当前的django.HTTP.HttpRequest对象
- create_userinfo_response(request)
一个包装器方法,该方法调用 server_class 举个例子。
- 参数:
request -- 当前的django.HTTP.HttpRequest对象
- error_response(error, **kwargs)
如果出现任何错误,则返回要向资源所有者显示的错误。
- 参数:
error --
OAuthToolkitError
- classmethod get_oauthlib_backend_class()
返回要使用的OAuthLibCore实现类
- classmethod get_oauthlib_core()
缓存并返回 OAuthlibCore 实例,因此除非ALWAYS_RELOAD_OAUTHLIB_CORE为True,否则将仅在第一次请求时创建它。
- get_scopes()
这应该返回访问资源所需的作用域的列表。默认情况下,它返回一个空列表。
- classmethod get_server()
返回的实例 server_class 被初始化为 validator_class 对象
- classmethod get_server_class()
返回要使用的OAuthlib服务器类
- classmethod get_validator_class()
返回要使用的RequestValidator实现类
- validate_authorization_request(request)
上调用VALIDATE_AUTHORIZATION_REQUEST的包装方法 server_class 举个例子。
- 参数:
request -- 当前的django.HTTP.HttpRequest对象
- verify_request(request)
调用Verify_RequestOn的包装方法 server_class 举个例子。
- 参数:
request -- 当前的django.HTTP.HttpRequest对象
- class oauth2_provider.views.mixins.OIDCLogoutOnlyMixin
仅当启用OIDC和OIDC RP启动的注销时才能访问的视图的混合。
如果其中一项未启用:
如果DEBUG为True,则引发错误配置异常,解释原因
否则,返回404响应,并记录相同的警告
- class oauth2_provider.views.mixins.OIDCOnlyMixin
仅在启用OIDC时才能访问的视图的混合。
如果未启用OIDC:
如果DEBUG为True,则引发错误配置异常,解释原因
否则,返回404响应,并记录相同的警告
- class oauth2_provider.views.mixins.ProtectedResourceMixin
在请求分派时实现OAuth2保护的Helper Mixin,特别适用于Django通用视图
基座
实现Django OAuth工具包支持的主要OAuth2授权流所需的视图。
- class oauth2_provider.views.base.AuthorizationView(**kwargs)
实现要处理的终结点 Authorization Requests 如中所示 RFC6749 Section 4.1.1 并用表单提示用户确定她是否授权客户端应用程序访问她的数据。在授权过程中,会两次到达此端点: * first receive a
GETrequest from user asking authorization for a certain client application, a form is served possibly showing some useful info and prompting for * 授权/不授权*。然后收到一个
POST可能在用户授权访问之后请求
中包含的一些信息
GET请求并需要在访问期间创建GRANT令牌POST请求将在上述两个步骤之间丢失,因此它们暂时存储在表单的隐藏字段中。一种可能的替代办法是在会议期间保留这些信息。该端点用于以下流: * Authorization code * 隐性赠款
- form_class
AllowForm的别名
- form_valid(form)
如果表单有效,请重定向到提供的URL。
- get(request, *args, **kwargs)
处理GET请求:实例化表单的空白版本。
- get_initial()
返回用于此视图上的表单的初始数据。
- handle_no_permission()
为未经授权的用户生成响应。
如果Prompt设置为None,则使用OIDC 3.1.2.6定义的错误代码重定向
从OAuthLibMixin.Error_Response复制的一些代码,但这些代码被设计为对包装在OAuthToolkitError中的oauthlib中的OAuth1Error进行操作
- class oauth2_provider.views.base.BaseAuthorizationView(**kwargs)
实现要处理的通用终结点 Authorization Requests 如中所示 RFC6749 Section 4.1.1 。该视图不会实施任何策略来确定 authorize/do not authorize 这是逻辑。该端点用于以下流:
授权码
隐性赠款
- error_response(error, application, **kwargs)
通过在正文中使用包含错误详细信息的json重定向到reDirect_uri或提供错误响应来处理错误
- class oauth2_provider.views.base.RevokeTokenView(**kwargs)
实现端点以撤销访问或刷新令牌
- class oauth2_provider.views.base.TokenView(**kwargs)
实现终结点以提供访问令牌
该端点用于以下流: * Authorization code * 密码*客户端凭据