模型

class oauth2_provider.models.AbstractAccessToken(*args, **kwargs)

AccessToken实例表示用于访问用户资源的实际访问令牌,如 RFC6749 Section 5

字段:

  • user 代表资源“所有者”的Django用户

  • source_refresh_token 如果来自刷新,则消耗的RefeshToken

  • token 访问令牌

  • application 应用程序实例

  • expires 令牌到期的日期和时间,日期时间格式

  • scope 允许的作用域

allow_scopes(scopes)

检查令牌是否允许提供的作用域

参数:

scopes -- 包含要检查的作用域的迭代数

is_expired()

使用时区感知功能检查令牌过期

is_valid(scopes=None)

检查访问令牌是否有效。

参数:

scopes -- 包含要检查或不检查的作用域的迭代数

revoke()

统一令牌的便捷方法“接口,现在只需将该令牌从数据库中删除即可撤销它。

property scopes

返回允许的作用域名(作为键)及其描述(作为值)的字典

class oauth2_provider.models.AbstractApplication(*args, **kwargs)

应用程序实例表示授权服务器上的客户端。通常,应用程序是由客户端的开发人员在登录到授权服务器后手动创建的。

字段:

  • client_id 期间颁发给客户端的客户端标识符

    注册流程,如中所述 RFC6749 Section 2.2

  • user 参考Django用户

  • redirect_uris 允许的重定向URI列表。这根弦

    由用空格分隔的有效URL组成

  • post_logout_redirect_uris 之后允许的重定向URI列表

    RP启动了注销。该字符串由用空格分隔的有效URL组成

  • client_type Client type as described in RFC6749 Section 2.1

  • authorization_grant_type 可用于的授权流

    应用

  • client_secret 在此期间向客户发布的机密

    中所述的注册流程 RFC6749 Section 2.2

  • name 应用程序的友好名称

clean()

用于在self.lean_field对每个字段调用lean()之后执行任何额外的模型范围验证的挂钩。此方法引发的任何ValidationError将不与特定字段关联;它将与由NON_FIELD_ERROR定义的字段有特殊关联。

property default_redirect_uri

返回默认的reDirect_uri, if 只有一家是注册的。

get_allowed_schemes()

返回应用程序允许的重定向方案列表。默认情况下,返回 ALLOWED_REDIRECT_URI_SCHEMES

is_usable(request)

确定是否可以使用该应用程序。

参数:

request -- 正在处理的oauthlib.Common.Request.

origin_allowed(origin)

检查给定来源是否为中的项目之一 allowed_origins 细绳

参数:

origin -- 要检查的原点

post_logout_redirect_uri_allowed(uri)

检查给定的URI是否为 post_logout_redirect_uris 细绳

参数:

uri -- 要检查的URI

redirect_uri_allowed(uri)

检查给定的url是否为 redirect_uris 细绳

参数:

uri -- 要检查的URL

class oauth2_provider.models.AbstractGrant(*args, **kwargs)

Grant实例表示生存期较短的令牌,可交换为访问令牌,如中所述 RFC6749 Section 4.1.2

字段:

  • user 请求授权的Django用户

  • code 授权服务器生成的授权码

  • application 应用程序实例请求此授权

  • expires 过期时间,以秒为单位,默认为

    settings.AUTHORIZATION_CODE_EXPIRE_SECONDS

  • redirect_uri 不言而喻

  • scope 必需的作用域,可选

  • code_challenge PKCE代码挑战

  • code_challenge_method PKCE代码挑战转换算法

is_expired()

使用时区感知功能检查令牌过期

class oauth2_provider.models.AbstractIDToken(*args, **kwargs)

IDToken实例表示用于访问用户资源的实际令牌,如 :openid:`2`

字段:

  • user 代表资源所有者的Django用户

  • jti ID令牌JWT令牌ID,用于标识单个令牌

  • application 应用程序实例

  • expires 令牌到期的日期和时间,日期时间格式

  • scope 允许的作用域

  • created 令牌创建的日期和时间,日期时间格式

  • updated 令牌更新的日期和时间,日期时间格式

allow_scopes(scopes)

检查令牌是否允许提供的作用域

参数:

scopes -- 包含要检查的作用域的迭代数

is_expired()

使用时区感知功能检查令牌过期

is_valid(scopes=None)

检查访问令牌是否有效。

参数:

scopes -- 包含要检查或不检查的作用域的迭代数

revoke()

统一令牌接口的便捷方法,目前只需将该令牌从数据库中删除以撤销它。

property scopes

返回允许的作用域名(作为键)及其描述(作为值)的字典

class oauth2_provider.models.AbstractRefreshToken(*args, **kwargs)

刷新令牌实例表示一个令牌,该令牌在到期时可以交换为新的访问令牌。

字段:

  • user 代表资源“所有者”的Django用户

  • token 令牌值

  • application 应用程序实例

  • access_token AccessToken实例此刷新令牌为

    有界于

  • revoked 此刷新令牌被吊销的时间戳

revoke()

将此刷新令牌标记为已吊销,并吊销相关访问令牌

class oauth2_provider.models.AccessToken(id, user, source_refresh_token, token, id_token, application, expires, scope, created, updated)
exception DoesNotExist
exception MultipleObjectsReturned
class oauth2_provider.models.Application(id, client_id, user, redirect_uris, post_logout_redirect_uris, client_type, authorization_grant_type, client_secret, hash_client_secret, name, skip_authorization, created, updated, algorithm, allowed_origins)
exception DoesNotExist
exception MultipleObjectsReturned
class oauth2_provider.models.ClientSecretField(*args, db_collation=None, **kwargs)
pre_save(model_instance, add)

在保存前返回字段的值。

class oauth2_provider.models.Grant(id, user, code, application, expires, redirect_uri, scope, created, updated, code_challenge, code_challenge_method, nonce, claims)
exception DoesNotExist
exception MultipleObjectsReturned
class oauth2_provider.models.IDToken(id, user, jti, application, expires, scope, created, updated)
exception DoesNotExist
exception MultipleObjectsReturned
class oauth2_provider.models.RefreshToken(id, user, token, application, access_token, created, updated, revoked)
exception DoesNotExist
exception MultipleObjectsReturned
oauth2_provider.models.get_access_token_admin_class()

返回在此项目中处于活动状态的AccessToken管理类。

oauth2_provider.models.get_access_token_model()

返回此项目中处于活动状态的AccessToken模型。

oauth2_provider.models.get_application_admin_class()

返回在此项目中处于活动状态的应用程序管理员类。

oauth2_provider.models.get_application_model()

返回此项目中处于活动状态的应用程序模型。

oauth2_provider.models.get_grant_admin_class()

返回在此项目中处于活动状态的Grant管理类。

oauth2_provider.models.get_grant_model()

返回在此项目中处于活动状态的Grant模型。

oauth2_provider.models.get_id_token_admin_class()

返回在此项目中处于活动状态的IDToken管理类。

oauth2_provider.models.get_id_token_model()

返回此项目中处于活动状态的AccessToken模型。

oauth2_provider.models.get_refresh_token_admin_class()

返回在此项目中处于活动状态的REFREFRESH Token管理类。

oauth2_provider.models.get_refresh_token_model()

返回在此项目中处于活动状态的刷新令牌模型。

oauth2_provider.models.is_origin_allowed(origin, allowed_origins)

根据提供的Allowed_Origins配置检查是否允许给定源URI。

参数:
  • origin -- 要检查的源URI

  • allowed_origins -- 允许的源URI列表

oauth2_provider.models.redirect_to_uri_allowed(uri, allowed_uris)

检查是否可以根据提供的Allowed_URI配置重定向到给定的URI。

除了精确匹配之外,此函数还处理基于RFC 8252的环回IP。

参数:
  • uri -- 要检查的URI

  • allowed_uris -- 允许的URI列表