Django 会话不是使用 JWT 和石墨烯生成的

Posted

技术标签:

【中文标题】Django 会话不是使用 JWT 和石墨烯生成的【英文标题】:Django session is not generated using JWT and graphene 【发布时间】:2018-09-26 21:36:52 【问题描述】:

我是使用 django 学习石墨烯的新手,正如文档所说,我有这个课程:

import graphql_jwt

class Mutations(graphene.ObjectType):
    token_auth = graphql_jwt.ObtainJSONWebToken.Field()
    verify_token = graphql_jwt.Verify.Field()
    refresh_token = graphql_jwt.Refresh.Field()

但调用 tockenAuth 突变,即使令牌正确生成,因为用户和密码正确,我也看不到会话表中保存的任何内容:

Session.objects.all()

总是空的

我正在检查会话以注销任何用户。那么,如何从 authToken 突变调用生成 Session 条目,以及使用 graphql_jwt 登录/注销用户的正确/更好的方法是什么?

问候

【问题讨论】:

【参考方案1】:

JWT 是会话的替代方案 - 它是验证请求的另一种方式,因此如果您使用 JWT,则不需要会话。

JWT 也不会在数据库中创建任何类型的信息 - 您只需使用密码学来验证令牌是否合法。要使用 JWT 进行身份验证,请在您的 AUTHENTICATION_BACKENDS 中包含 JSONWebTokenBackend,如 here 所述。

阅读更多关于 jwt here.

【讨论】:

嗨 AmerllicA - 给我写信给 don.skoy.333@gmail.com

以上是关于Django 会话不是使用 JWT 和石墨烯生成的的主要内容,如果未能解决你的问题,请参考以下文章

石墨烯代码在 Django 数据迁移之前运行

Django 石墨烯中继限制对用户拥有的对象的查询

Django 模型对象和石墨烯 get_node

石墨烯 Django 和 react-router-relay

403 由石墨烯-django 提供。不要使用 csrf_exempt

石墨烯和 Django 关于关系