如何在Oauth_provider工具包django rest framework django中增加访问令牌的expires_in时间(默认为36000 i) 我想增加时间,所以我需要帮助。
我应该更改django rest框架代码,或者之前有任何可用的方法,所以我可以使用它。
答案 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': [],
}