天哪!
应用部门:
djangorestframework-simplejwt==4.3.0
,
djangorestframework==3.10.3
我正在尝试在User
不JWTTokenUserAuthentication
使用数据库的情况下使用 shared进行身份验证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),
}
对于我使用的视图rest_framework_simplejwt.views.TokenObtainPairView
。在我的应用程序的网址中:
urlpatterns = [
path('test-token/', TokenObtainPairView.as_view(),
name='token_obtain_pair')
]
因此,我正在发出发布请求,并为其提供承载令牌和凭据username
以及password
. 但我收到消息:
{
"detail": "No active account found with the given credentials"
}
我应该怎么做才能正确进行身份验证?