如何在Oauth_provider_toolkit Django rest_framework中增加访问令牌的“expires_in”时间?

时间:2016-12-02 13:08:50

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

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

我应该更改django rest框架代码,或者之前有任何可用的方法,所以我可以使用它。

1 个答案:

答案 0 :(得分:9)

在您的设置中进行设置:

 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': [],
}