你好!
应用程序部门:
djangorestframework-simplejwt==4.3.0
,
djangorestframework==3.10.3
我正在尝试使用 JWTTokenUserAuthentication
对 User
进行授权,而不使用使用共享 SECRET_KEY
的数据库。
在我的设置中我有:
REST_FRAMEWORK = {
'DEFAULT_AUTHENTICATION_CLASSES': (
'rest_framework_simplejwt.authentication.JWTTokenUserAuthentication',
),
'DEFAULT_PERMISSION_CLASSES': (
'rest_framework.permissions.IsAuthenticated',
),
}
SIMPLE_JWT = {
'ACCESS_TOKEN_LIFETIME': datetime.timedelta(minutes=120),
'REFRESH_TOKEN_LIFETIME': datetime.timedelta(hours=12),
'ROTATE_REFRESH_TOKENS': False,
'BLACKLIST_AFTER_ROTATION': True,
'ALGORITHM': 'HS256',
'SIGNING_KEY': SECRET_KEY,
'VERIFYING_KEY': SECRET_KEY,
'AUTH_HEADER_TYPES': ('Bearer',),
'USER_ID_FIELD': 'id',
'USER_ID_CLAIM': 'user_id',
'AUTH_TOKEN_CLASSES': ('rest_framework_simplejwt.tokens.AccessToken',),
'TOKEN_TYPE_CLAIM': 'token_type',
'SLIDING_TOKEN_REFRESH_EXP_CLAIM': 'refresh_exp',
'SLIDING_TOKEN_LIFETIME': datetime.timedelta(minutes=5),
'SLIDING_TOKEN_REFRESH_LIFETIME': datetime.timedelta(days=1),
}
对于 View ,我使用 rest_framework_simplejwt.views.TokenObtainPairView
。
在我的应用程序的网址中:
urlpatterns = [
path('test-token/', TokenObtainPairView.as_view(),
name='token_obtain_pair')
]
因此,我正在发出发布请求,向其提供 Bearer token 和凭据作为 username
和 password
。但我收到消息:
{
"detail": "No active account found with the given credentials"
}
我应该怎么做才能正确授权?
最佳答案
我可以指导整个过程,但那样你就不会学到任何有值(value)的东西。我也是一个苦苦挣扎的新手和老手 VB.net/Visual Basic 开发人员,但我很想学习像 django 这样的新事物......卷起你的袖子,伙计
关于python - 如何在没有数据库的情况下使用 JWTTokenUserAuthentication 进行身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58178938/
相关文章:
python - 使用 Python 类型模块指定序列或列表的长度
reactjs - 错误 : [mobx] Computed values are not allo
google-chrome - 一些 Font Awesome 图标在 Chrome 中不显示
netlogo - 如何使用 Netlogo 中的行为空间获取海龟到达不同 10 个补丁的滴答时间?
python - 将部分训练的 scikit-learn 模型存储或检查点到磁盘
selenium - Appium/WinAppDriver 无法找到上下文菜单 - 但仅在某些机器
bash - 如何使用 Shell 脚本在 mac 中覆盖环境变量
c# - 程序集绑定(bind)重定向 : How and Why?