问题标签 [django-graphql-jwt]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - DJANGO-GRAPHQL-JWT:我们如何知道刷新令牌发布后的年龄?
概述
基于长期运行刷新令牌的设置部分中的概念。
这意味着您需要每 5 分钟刷新一次 [访问令牌],并且您需要在刷新令牌发出后 7 天内更换您的刷新令牌。
这将使用户能够保持刷新令牌会话,只要我们可以在 7 天内刷新它(例如 'JWT_REFRESH_EXPIRATION_DELTA': timedelta(days=7)
)。
请注意,您不能使用过期的刷新令牌进行调用refreshToken(refreshToken: $refreshToken)
,因为这可能会导致"message": "Refresh token is expired"
.
问题
现在这里的难题是我们如何知道刷新令牌将在 7 天后过期?所以我们可以创建一个逻辑来检查它是否还有 1 天的会话时间然后触发refreshToken()
突变?
结论
在不知道刷新令牌的到期日期的情况下,开发人员将不得不集成存储在客户端发布刷新令牌之后的日期,以确定刷新令牌的年龄。
好吧,如果我遗漏了一些东西,也许已经有一种简单的方法来处理刷新令牌到期日期的检查?
graphql - 通过 CORS 的 GraphQL 请求的无效响应和通过使用 JWT 的 GraphiQL 处理身份验证的有效响应
问题是我总是收到没有任何有效负载的 400 响应代码。即使出现问题,graphql 也会使用代码 200 和带有错误块的有效负载。事实上,GraphiQl 工作正常,告诉我设置和架构是正确的。所以......我被困住了。也许,任何想法,在哪里看?
我不认为它失败是因为 cors 本身。我的应用在DRF下运行良好。我决定为我尝试新的技术并使用 GQL 覆盖应用程序。
我的起源:http: //127.0.0.1 :8080
这是我的阿波罗客户:
有我的要求(通过状态来自表单的变量值):
我使用 react-apollo-hook 来执行查询:
我的架构(根据文档):
从 GraphiQL 处理这个查询会给我一个有效的响应。GraphiQL 在浏览器的另一个选项卡上的http://127.0.0.1:8000/graphql上运行。
询问:
变量:
回复:
unit-testing - 如何在 graphene_django 或 graphql_jwt 中测试 GraphQLError 异常?
我正在使用 graphene_django 和 graphql_jwt 在 django 中实现用户类型和身份验证。这是我的两个文件:位于名为“用户”的文件夹中的代码和相应的测试,该文件夹是应用程序级文件夹(但不是 django 应用程序)
架构.py
测试.py
然后,当我通过python manage.py test users
它运行测试时,它会说:
我已经像这样搜索了stackoverflow [异常引发但未被assertRaises捕获] [1]
[1]:异常引发但未被 assertRaises 捕获,但这仍然不能解决我的问题。那么如何真正测试 GraphQLError 呢?
django - Graphene-Django 和多对多关系查找
我有两个 Django 模型——教师和学生,并且有一个多对多的关系。教师可以有多个学生,学生可以有多个教师。有一种称为“备注”的“通过”模型,教师可以将学生标记为最喜欢的。
我是 GraphQL 的新手。我正在尝试实现两个查询:
1. 老师和他们所有的学生
2. 老师和他们最喜欢的学生
我在实施第二个查询时遇到了困难,并且一直无法这样做。
模型.py
架构.py
django - 如何为 django-graphql-auth 使用自定义用户模型
我在我的项目中使用 graphql 并希望在注册时生成令牌。尽管 django-graphql-auth 具有所有书面变异,但它使用不同的用户模型。但我想使用我的自定义用户模型。我该怎么办?这是我的用户模型
python - 基于类的视图django中的JWT验证
我已经使用 Django-graphql-jwt 库在 django 中实现了 jwt 身份验证,现在我想只允许使用 JWT 令牌的请求在我的端点 (/graphql) 上获取/发布。django-graphql-jwt 文档中有一些示例,例如@login_required,但我不想在每个查询和突变之上放置一个装饰器。所以,我决定限制对视图的访问。我在 url.py 中添加了 path('graphql/', PrivateGraphQLView.as_view()) 但是如何实现请求检查标头中的有效令牌?
python - /graphql 处的递归错误。超出最大递归深度
问题定义:
我已阅读有关使用此官方链接graphene-jwt
中的包为我的项目添加 JWT 身份验证的文章。根据教程中所说,应该对项目文件进行一些更改:settings.py
- 首先应该安装包:
- 将 AuthenticationMiddleware 添加到
MIDDLEWARE
变量。
- 添加 JSONWebTokenBackend 后端
AUTHENTICATION_BACKENDS
变量:
- 将 JSONWebTokenMiddleware 添加到
GRAPEHENE
变量中。
完成第 4 步后,每个请求localhost:8000/graphql
都有以下堆栈跟踪:
项目结构:
不知道是bug还是我的错。(API 在添加上述配置之前运行良好,并且已经检查了很多次)我在互联网上搜索过,但没有找到我的问题的正确答案。如果有人可以帮助我,我将不胜感激。
PS1:与我有关的最著名的问题是this one,主要讨论python中的最大递归深度误差。但是我在这里无法理解此错误的原因。
PS2:我还在 settings.py 中添加了以下几行,但它仍然不起作用!
python - 如何在 graphene-django GraphQLTestCase 中使用 django-grahql-jwt 进行身份验证?
我正在尝试根据石墨烯 django 文档测试我的突变。突变适用于@login_required
装饰器,并且存在问题,因为任何登录测试方法都不起作用。我试过了self.client.login
,self.client.force_login
。我什至做了一个 tokenAuth 突变,并在那里硬编码了一些凭据,但它也不起作用;用户仍然是匿名的。
python - GraphQL:[Errno 111] 连接被拒绝
描述
我正在尝试为具有不同类型用户(司机、客户、系统管理员和授权人)的交通系统构建一个 API。为此,我AbstractUser
为上述所有不同的用户创建了一个并使用继承关系。为了将 JWT 添加到模型中,我已经阅读了官方教程,但是每当我想创建一个像下面这样的新用户时,我都会遇到错误:
重现步骤
- 这是我的模型:
- 用户架构
- 项目架构
预期行为
我希望代码可以毫无问题地运行,但会遇到以下错误actual behavior
我还有另一个问题。正如我已经解释了各种用户和他们的注册,我需要不同的论点。但是在我们刚刚添加的模式中register = mutations.Register.Field()
,我怎样才能达到这个目的?