我将使用Django Oauth Library。
我希望有不同的认证服务器和资源服务器。
在认证服务器上,以下是我的设置。
在我的资源服务器上
我希望有不同的认证服务器和资源服务器。
在认证服务器上,以下是我的设置。
INSTALLED_APPS = [
...
'oauth2_provider',
'rest_framework',
]
REST_FRAMEWORK = {
'DEFAULT_AUTHENTICATION_CLASSES': (
'oauth2_provider.contrib.rest_framework.OAuth2Authentication',
),
'DEFAULT_PERMISSION_CLASSES': (
'rest_framework.permissions.IsAuthenticated',
),
}
# ############## OAUTH SETTINGS ###################
OAUTH2_PROVIDER = {
'SCOPES': {'users': 'user details', 'read': 'Read scope', 'write': 'Write scope', 'groups': 'Access to your groups', 'introspection': 'introspection'},
'ACCESS_TOKEN_EXPIRE_SECONDS': 86400, # 1 Day.
}
在我的资源服务器上
INSTALLED_APPS = [
...
'oauth2_provider',
'rest_framework',
]
REST_FRAMEWORK = {
'DEFAULT_AUTHENTICATION_CLASSES': (
'oauth2_provider.contrib.rest_framework.OAuth2Authentication',
),
'DEFAULT_PERMISSION_CLASSES': (
'rest_framework.permissions.IsAuthenticated',
),
}
# ############## OAUTH SETTINGS ###################
OAUTH2_PROVIDER = {
'RESOURCE_SERVER_INTROSPECTION_URL': 'http://localhost:8000/o/introspect/',
'RESOURCE_SERVER_AUTH_TOKEN': '3yUqsWtwKYKHnfivFcJu',
}
问题1)
如何获取RESOURCE_SERVER_AUTH_TOKEN
?
问题2)
在内省令牌时,认证服务器在控制台日志中返回403禁止错误。
以下是获取访问令牌的流程。
我从客户端POST请求到资源服务器上获取client_id,client_secret,grant_type和scopes
。我从资源服务器调用认证服务器,并将响应返回给客户端。
我在这里到底缺少什么?