基于类的视图django中的JWT验证

Posted

技术标签:

【中文标题】基于类的视图django中的JWT验证【英文标题】:JWT validation in class based view django 【发布时间】:2020-08-25 11:26:53 【问题描述】:

我已经使用 Django-graphql-jwt 库在 django 中实现了 jwt 身份验证,现在我想只允许使用 JWT 令牌的请求在我的端点 (/graphql) 上获取/发布。 django-graphql-jwt 文档中有一些示例,例如@login_required,但我不想在每个查询和突变之上放置一个装饰器。所以,我决定限制对视图的访问。我在 url.py 中添加了 path('graphql/', PrivateGraphQLView.as_view()) 但是如何实现请求检查标头中的有效令牌?

from graphene_django.views import GraphQLView


class PrivateGraphQLView(GraphQLView):
    pass

【问题讨论】:

github.com/graphql-python/flask-graphql/issues/53 【参考方案1】:

在这里找到我的答案JWT Authentication: Use UI token to authenticate Graphene/Django (GraphQL) queries? 但实际上我决定不深入,因为它只是一个简单的应用程序,我需要至少打开一个突变(获取令牌),所以来自 django-graphql-jwt 的装饰器应该足够了

【讨论】:

以上是关于基于类的视图django中的JWT验证的主要内容,如果未能解决你的问题,请参考以下文章

Django 基于类的通用视图和身份验证

带有来自模型的自定义验证消息的 Django 1.5 基于类的视图

Django Rest Framework 避免身份验证 JWT

django drf框架中的user验证以及JWT拓展的介绍

Django Rest Framework 不接受 JWT 身份验证令牌

如何添加身份验证中间件 JWT django?