忘记了 django 和 graphql 的密码?

Posted

技术标签:

【中文标题】忘记了 django 和 graphql 的密码?【英文标题】:forgot password with django and graphql? 【发布时间】:2020-02-07 11:12:48 【问题描述】:

我使用 django 作为 graphql 的支持,我试图实现忘记密码,并更改密码,我使用 django-graphql-jwt 登录,一切正常,但我没有看到任何关于忘记的文档graphql 的密码。

【问题讨论】:

到目前为止你有什么尝试? 带有查询和突变的 jwt 登录工作正常。@thatrockbottomprogrammer 生成可以更改密码的令牌。使用用户 ID 将其存储在 Redis 等临时存储中,并反向查找记录以更改密码 我知道如何休息,但在 graphql 我不知道如何生成忘记密码的链接。 @AJAIAU,你有什么发现吗? 【参考方案1】:

您可以使用django-graphql-auth。

它具有 send password reset email 和 password reset 的内置突变。

请求密码重置邮件

mutation 
  sendPasswordResetEmail(
    email: "skywalker@email.com"
  ) 
    success,
    errors
  

用户收到带有链接的电子邮件

该链接包含您在客户端用于发送突变的令牌:

mutation 
  passwordReset(
    token: "1eyJ1c2VybmFtZSI6InNreXdhbGtlciIsImFjdGlvbiI6InBhc3N3b3JkX3Jlc2V0In0:1itExL:op0roJi-ZbO9cszNEQMs5mX3c6s",
    newPassword1: "supersecretpassword",
    newPassword2: "supersecretpassword"
  ) 
    success,
    errors
  

免责声明:我是作者

【讨论】:

试过用它,但我似乎无法发送电子邮件

以上是关于忘记了 django 和 graphql 的密码?的主要内容,如果未能解决你的问题,请参考以下文章

Django中忘记密码的实现

向 Django 2.1 管理站点添加忘记密码功能

Django忘记密码电子邮件系统期间的NoReverseMatch错误

使用 ReactJS 实现忘记密码/电子邮件验证 django rest

django的admin密码忘记了怎么办?一分钟解决!!

django 开发忘记密码通过邮箱找回功能