我在 django rest 框架和 oauth2 上开发了一个类似博客的项目。我现在正在尝试分离资源和身份验证服务器,如下所示:https ://django-oauth-toolkit.readthedocs.io/en/latest/resource_server.html
我已采取以下步骤:
- 按照文档中的说明设置身份验证服务器
- 将以下内容添加到身份验证服务器中的 settings.py
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.
}
- 按照文档中的描述设置资源服务器
- 将此添加到资源服务器中的 settings.py 中:
OAUTH2_PROVIDER = {
'RESOURCE_SERVER_INTROSPECTION_URL': 'http://localhost/o/introspect/',
'RESOURCE_SERVER_AUTH_TOKEN': 'abc',
}
我在RESOURCE_SERVER_AUTH_TOKEN based
这里创建了说明:Django OAuth-分离资源和授权服务器
总而言之,我为资源服务器创建了一个超级用户,然后使用管理站点向资源服务器添加了一个应用程序,选择confidential
forclient type
和authorization code
for authorization grant type
。'abc' 是我为访问令牌选择的随机字符串。
尽管如此,我仍然面临以下错误:
Introspection: Failed to get a valid response from the authentication server. Status code: 403, Reason: Forbidden.
NoneType: None
从我所描述的内容中,您知道我可能会出错的地方吗?我是否正确理解了这一点并以正确的方式创建了RESOURCE_SERVER_AUTH_TOKEN
?