【问题标题】:Django Rest-framework, JWT authenticationDjango Rest 框架,JWT 身份验证
【发布时间】:2021-12-21 08:58:58
【问题描述】:

我是 Django Restframework 的新手。我使用 JWT 进行登录,注册 API,一切正常,我想获取经过身份验证(令牌)的用户信息。这是我的 UserViewSet 代码

class UserViewSet(viewsets.ModelViewSet):
    queryset = User.objects.all()
    serializer_class = UserSerializer 
    authentication_classes = [IsAuthenticated,]

我在 Postman 上测试过,但收到:“'IsAuthenticated' 对象没有属性 'authenticate'”

REST_FRAMEWORK = {
    'NONE_FIELD_ERRORS_KEY':'error',
    'DEFAULT_AUTHENTICATION_CLASSES': (
        'rest_framework_simplejwt.authentication.JWTAuthentication',
    ),
}

您能帮我解决这个问题吗?非常感谢。

【问题讨论】:

    标签: django django-rest-framework django-views django-rest-framework-jwt django-rest-framework-simplejwt


    【解决方案1】:

    IsAuthenticated 不是authentication class。这是permission class

    您可以将其放入 permission_classes 以允许任何经过身份验证的用户访问该视图集,而身份验证(确定该请求的用户是谁的机制)将由该默认 JWT 身份验证处理:

    class UserViewSet(viewsets.ModelViewSet):
        queryset = User.objects.all()
        serializer_class = UserSerializer 
        permission_classes = [IsAuthenticated,]
    

    【讨论】:

    • 谢谢,我看到了我的错误
    猜你喜欢
    • 2019-03-01
    • 2019-07-11
    • 2018-10-17
    • 2019-05-02
    • 2013-06-29
    • 2017-09-26
    • 2017-11-02
    • 1970-01-01
    • 2019-01-01
    相关资源
    最近更新 更多