【发布时间】:2021-09-12 10:52:45
【问题描述】:
我将 DRF 与 djangorestframework-simplejwt 包一起使用。在我的 settings.py 中:
INSTALLED_APPS = [
...
'rest_framework',
...
]
...
REST_FRAMEWORK = {
'DEFAULT_PERMISSION_CLASSES': (
'rest_framework.permissions.AllowAny',
),
'DEFAULT_AUTHENTICATION_CLASSES': (
'rest_framework_simplejwt.authentication.JWTTokenUserAuthentication',
),
}
SWAGGER_SETTINGS = {
'SECURITY_DEFINITIONS': {
'Bearer': {
'type': 'apiKey',
'name': 'Authorization',
'in': 'header',
'description': 'E.g. \'Bearer jwt.token.here\''
}
}
}
在我的应用的 views.py 中:
...
class PublicCreateView(generics.CreateAPIView):
"""
Should be available for unauthenticated users
"""
serializer_class = PublicThingSerializer
def post(self, request, *args, **kwargs):
return Response("It works!", 200)
...
但由于某种原因,此视图会为未经身份验证的用户返回 401 响应。我尝试了很多东西,我得到的最好的结果是当我从我的settings.py 中完全删除REST_FRAMEWORK 配置时,响应代码更改为403 forbidden。有什么想法吗?
【问题讨论】:
-
清理您的 cookie 并重试
标签: django django-rest-framework jwt django-rest-framework-simplejwt