加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – Rails devise_token_auth gem,如何设置密码重

发布时间:2020-12-17 02:25:50 所属栏目:百科 来源:网络整理
导读:我有使用此gem的密码重置功能的问题. https://github.com/lynndylanhurley/devise_token_auth 这来自文件. /password/edit GET “Verify user by password reset token. This route is the destination URL for password reset confirmation. This route mus
我有使用此gem的密码重置功能的问题.
https://github.com/lynndylanhurley/devise_token_auth

这来自文件.

/password/edit     GET

“Verify user by password reset token. This route is the destination
URL for password reset confirmation. This route must contain
reset_password_token and redirect_url params. These values will be set
automatically by the confirmation email that is generated by the
password reset request.”

当用户忘记他们的密码时,他们可以输入他们的注册电子邮件,他们将通过电子邮件收到密码重置链接.

POST :07001

params = email and redirect link
(07002)

我可以通过电子邮件发送密码重置链接,但当我点击电子邮件中的链接或“更改我的密码”时,它会跳转到带有令牌的重定向地址.

它显示“您正在寻找的页面不存在.”

这可能是路由错误或其他什么,但我不知道.我甚至不确定是否应该为重定向链接设置“/ password / edit”.

这是github的相关链接
https://github.com/lynndylanhurley/devise_token_auth/issues/604

我错过了什么,或者我应该为重定向链接部分设置不同的地址?

解决方法

devise_token_auth重置密码功能的流程是,
它有三个API

>发送重置密码令牌的帖子调用,
>获取身份验证标头的get请求
>用于更改密码的补丁调用

在帖子中,您将发送电子邮件和重定向网址,这将在DeviseTokenAuth :: PasswordsController中调用create方法,该方法创建重置密码令牌并将其发送到电子邮件中.

电子邮件中的链接将调用DeviseTokenAuth :: PasswordsController的编辑方法,在该方法中它生成身份验证标头并重定向到您在上一个请求中发送的重定向URL,并将这些身份验证标头作为查询字符串(url参数)

使用这些身份验证标头将请求修补到DeviseTokenAuth :: PasswordsController中的update方法,并使用password和password_confirmation作为属性.

密码将被更改.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读