python - 如何在 Oauth_provider_toolkit Django rest_framework 中增加访问 token 的 "expires_in"时间?

标签 python django oauth-2.0 django-rest-framework

如何在 Oauth_provider 工具包 django rest framework django 中增加访问 token 的 expires_in 时间(默认情况下为 36000 i) 我想增加时间,所以我需要帮助。

我应该更改 django rest 框架代码还是之前有任何可用的方法以便我可以使用它。

最佳答案

在你的设置中设置:

 OAUTH2_PROVIDER = {
        'ACCESS_TOKEN_EXPIRE_SECONDS': 60 * 15,
        'OAUTH_SINGLE_ACCESS_TOKEN': True,
        'OAUTH_DELETE_EXPIRED': True
 }

这会将您的过期时间设置为 15 分钟。 第二个和第三个常量是可选的,只是为了展示你可以做什么。

您可以覆盖所有这些:

DEFAULTS = {
    'CLIENT_ID_GENERATOR_CLASS': 'oauth2_provider.generators.ClientIdGenerator',
    'CLIENT_SECRET_GENERATOR_CLASS': 'oauth2_provider.generators.ClientSecretGenerator',
    'CLIENT_SECRET_GENERATOR_LENGTH': 128,
    'OAUTH2_SERVER_CLASS': 'oauthlib.oauth2.Server',
    'OAUTH2_VALIDATOR_CLASS': 'oauth2_provider.oauth2_validators.OAuth2Validator',
    'OAUTH2_BACKEND_CLASS': 'oauth2_provider.oauth2_backends.OAuthLibCore',
    'SCOPES': {"read": "Reading scope", "write": "Writing scope"},
    'DEFAULT_SCOPES': ['__all__'],
    'READ_SCOPE': 'read',
    'WRITE_SCOPE': 'write',
    'AUTHORIZATION_CODE_EXPIRE_SECONDS': 60,
    'ACCESS_TOKEN_EXPIRE_SECONDS': 36000,
    'REFRESH_TOKEN_EXPIRE_SECONDS': None,
    'ROTATE_REFRESH_TOKEN': True,
    'APPLICATION_MODEL': getattr(settings, 'OAUTH2_PROVIDER_APPLICATION_MODEL', 'oauth2_provider.Application'),
    'REQUEST_APPROVAL_PROMPT': 'force',
    'ALLOWED_REDIRECT_URI_SCHEMES': ['http', 'https'],

    # Special settings that will be evaluated at runtime
    '_SCOPES': [],
    '_DEFAULT_SCOPES': [],
}

关于python - 如何在 Oauth_provider_toolkit Django rest_framework 中增加访问 token 的 "expires_in"时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40933006/

相关文章:

python - 获取两个具有缺失值的 DataFrame 的平均值

mysql - Django——错误表不存在,但它不应该存在

python - 使用 google-api-python-client 授予 GAE 应用对 Google API 的访问权限

Python 删除字符串中的乱码和后面的所有内容

Python lxml - 返回空列表

python - 扭曲的 websockets 导入错误

django - 如何使用 native django 缓存匹配 Redis 键模式?

django - 在 settings.py 中为 Travis CI 配置数据库部分

oauth-2.0 - Keycloak JAX-RS 和 Postman 授权(Auth URL)

facebook - 不同类型的 Facebook 访问 token