我有一些意见如下:
class SomeView(generics.ListAPIView):
serializer_class = SomeSerializer
permission_classes = [AllowAny]
settings.py
:
REST_FRAMEWORK = {
'DEFAULT_PERMISSION_CLASSES': (
'rest_framework.permissions.AllowAny',
),
...
'DEFAULT_AUTHENTICATION_CLASSES': (
'rest_framework_simplejwt.authentication.JWTAuthentication',
),
...
}
当我请求没有任何Authorization
头时,它工作正常。但当我添加Bearer Authorization
头时,它响应
"detail": "Given token not valid for any token type",
"code": "token_not_valid",
我给出了permission_classes=[AllowAny]
。为什么?我认为发送和不发送tokens
没有区别。因为我设置了permission_class=[AllowAny]
。
在ASP.NET
中没有这样的问题。在ASP.NET
中,如果我设置了AllowAny
权限,则无论您是否发送Token
,此端点都将对所有人开放。
**EDIT:**当我请求without
或with
任何Authorization
头时,它工作正常。但当我添加错误的Authorization
头时,它会给出授权错误
1条答案
按热度按时间u7up0aaq1#
AllowAny验证令牌是否已发送,如果没有则通过。因此,如果不需要进行身份验证,请清除permission_classes