【发布时间】:2026-01-03 23:00:02
【问题描述】:
我将Django Restful API Framework 与Simple JWT 一起使用,并成功创建了一个用于接收和刷新用户令牌的URL。
为了尝试使用令牌进行身份验证,我创建了一个视图,它简单地列出了数据库中的所有帖子。然后我将IsAuthenticated 类分配给视图。
正如预期的那样,我收到一条错误消息,指出未提供身份验证凭据。然后我继续使用 Postman 发出一个简单的GET 请求,并在“授权”选项卡中提供了身份验证令牌。类型设置为“Bear Token”。不幸的是,我仍然收到“未提供身份验证凭据”消息。带有 403 禁止代码。
我也试过在Headers中提供token,以及发出CURL请求,一切都无济于事。
我的观点是这样的:
class PostListView(generics.ListAPIView):
permission_classes = (IsAuthenticated,)
queryset = Post.objects.filter()
这是序列化程序:
class PostListSerializer(serializers.ModelSerializer):
class Meta:
model = Post
fields = ('__all__')
Django项目的settings.py:
REST_FRAMEWORK = {
'DEFAULT_FILTER_BACKENDS': ['django_filters.rest_framework.DjangoFilterBackend'],
'DEFAULT_PERMISSION_CLASSES': ['rest_framework.permissions.AllowAny'],
'DEFAULT_AUTHENTICATION_CLASSES:': ('rest_framework_simplejwt.authentication.JWTAuthentication',)
}
CORS_ALLOW_ALL_ORIGINS = True # For testing purposes
我在网上学习了几个不同的教程,阅读了许多帖子,并遵循了 Simple JWT 的官方文档。
【问题讨论】:
标签: django django-rest-framework jwt