查看代码和详细信息

属类

泛型视图旨在以“包含电池”的方式使用,以通过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_idstateredirect_uriresponse_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通用视图

class oauth2_provider.views.mixins.ReadWriteScopedResourceMixin(*args, **kwargs)

实现“读写作用域”行为的帮助器混合

get_scopes(*args, **kwargs)

返回访问资源所需的作用域

参数:

args -- 支持外部注入作用域(尚未实现)

class oauth2_provider.views.mixins.ScopedResourceMixin

实现“作用域处理”行为的帮助器混合

get_scopes(*args, **kwargs)

返回访问资源所需的作用域

参数:

args -- 支持外部注入作用域(尚未实现)

基座

实现Django OAuth工具包支持的主要OAuth2授权流所需的视图。

class oauth2_provider.views.base.AuthorizationView(**kwargs)

实现要处理的终结点 Authorization Requests 如中所示 RFC6749 Section 4.1.1 并用表单提示用户确定她是否授权客户端应用程序访问她的数据。在授权过程中,会两次到达此端点: * first receive a GET request 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 * 密码*客户端凭据