问题标签 [devise-recoverable]

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.

0 投票
2 回答
150 浏览

ruby-on-rails - 我们如何进行设计验证并重置仅 24 小时且仅 1 次链接的电子邮件链接?

我在后端使用 ruby​​ on rails。

它是一个基于研究的问题。我尝试搜索但没有得到任何解决方案。

非常感谢任何形式的帮助。

提前致谢!!!

0 投票
1 回答
74 浏览

ruby-on-rails - 设计 4.2 向 ERR_NAME_NOT_RESOLVED 页面发送密码说明电子邮件链接

我已经使用 Rails 4.2.7.1 成功设置了 Devise 4.2 'recoverable' 模块。用户体验如下:

  1. 用户访问该站点,进入登录页面,单击“帮助,我忘记了密码”。
  2. 用户被发送到随后的页面,他们在其中输入他们的电子邮件地址。如果该地址被接受,他们会通过电子邮件(我们称之为“恢复电子邮件”)发送一个指向他们可以去重置密码的地方的链接。

我遇到的问题出在恢复电子邮件的正文中。里面的一切都有效!但是,指向我的网站的链接省略了网站名称中的“www”,导致链接到的页面显示以下错误:

无法访问此站点 找不到 example.com 的服务器 DNS 地址。ERR_NAME_NOT_RESOLVED

如果我按照该电子邮件正文中的链接访问该页面,我将收到该错误。

生成的链接是http://example.com/admin/users/password/edit.10?reset_password_token=NfGEHb3z6uF7qPyqd79V

奇怪的是,如果我在这个错误页面的地址栏中手动添加“www”,一切都会很好。也就是说,以下工作:

http://www.example.com/admin/users/password/edit.10?reset_password_token=NfGEHb3z6uF7qPyqd79V

如果我删除除以下内容之外的所有内容,它也可以工作: http://example.com/admin/

请注意,在这种情况下,我省略了“www”,但它仍然有效。

这是恢复电子邮件的代码:

以下是 routes.rb 的摘录,如果相关的话:

一些可能不相关的细节:

  • 该网站托管在 Heroku 上。
  • 我用于测试的电子邮件客户端是 GMail。
  • DNS 和域内容是 AWS Route 53。

可能有人知道我做错了什么吗?

0 投票
1 回答
286 浏览

ruby-on-rails - nil:NilClass 的未定义方法“router_name”

我正在尝试通过电子邮件发送忘记密码的说明,而我的电子邮件正文苗条模板包含以下行

并且在发送邮件时显示错误。 在此处输入图像描述

0 投票
0 回答
193 浏览

ruby-on-rails - 幽灵和崩溃

Ubuntu 14.xx 上的 Devise 3.4.1 的可恢复功能生成无效令牌。无法更改忘记的密码。我使用 vmware 并在没有 Spectre 和 Meltdown 安全更新补丁的情况下返回快照,并且能够更改测试用户密码。我没有安装任何新的东西,没有新的 gem。我很确定问题出在安全补丁上。有很多关于无效令牌的答案我都试过了,但是为什么我要更改一个月复一月运行良好的配置呢?有人有同样的经历吗?我知道最大的病毒是我自己,但在这种情况下..

这是 app/models/user.rb

# 包括默认设计模块。其他可用的有:# :confirmable, :lockable, :timeoutable 和 :omniauthable 设计 :database_authenticable, :registerable, :recoverable, :rememberable, :trackable, :validatable, :confirmable

结尾

我试过 devise_mailer.send(notification, self, *args).deliver_now 但我仍然得到不匹配的令牌

0 投票
0 回答
46 浏览

ruby-on-rails - 为密码更新设计区域设置定制

当用户忘记密码时,我正在尝试在设计中自定义我的错误消息以更新密码。我做了所有的翻译和定制,registrationspasswords我有点挣扎。

在我的密码/新视图中,我有通常的助手调用:

但是从语言环境文件中获取的翻译是这样的:

这有点奇怪,因为此消息registrations与我的应用程序中的“您的帐户尚未保存”相同,并且设置为“您的帐户尚未保存”。但在这种情况下,这不是关于保存帐户,而是确认已发送续订电子邮件。

(当然,最重要的是,我有一条与正确显示的电子邮件字段相关的错误消息)

可以调整吗?

编辑编辑

好的,它似乎来自 Devise error helper 的这段代码:

https://github.com/plataformatec/devise/blob/master/app/helpers/devise_helper.rb

任何想法我可以调整这段代码,以便在设计命名空间内的每个设计子控制器都不同?

0 投票
1 回答
891 浏览

ruby-on-rails - Devise finding user by reset token

I'm trying to make an api for resetting password, I made devise handle the part when the user press on forgot password and sending him an email with a token but I tried to change it in the other part I needed to look up user using that token when he reset his password but Devise reset_password_token of the user (in the DB) is not like the token sent in the email, I only receive token, password, password_confirmation to make that API work, So I need to find that user using token sent in the email(User.where(reset_password_token: TOKEN)), Is there a way to convert token in the email to the one I have in the DB.

0 投票
1 回答
216 浏览

ruby-on-rails - 设计 - 通过可恢复的电子邮件更新密码导致电子邮件已被占用

设计版本4.3.0 Rails4.2.8

在向用户发送密码重置电子邮件后,我无法让用户更新他们的密码。

Steps to reproduce
当用户从登录页面单击忘记密码时。
他们在忘记密码页面上输入他们的电子邮件
然后他们会收到一封密码重置电子邮件
在电子邮件中他们单击链接
他们被带到更改密码页面
他们输入更新的密码和密码确认
显示错误,电子邮件已经被拿掉了

该电子邮件已被占用,因为他们已经有一个帐户,我想更新他们的密码而不是创建一个新帐户。

我没有任何我已覆盖的设计控制器。

在此处输入图像描述

在此处输入图像描述

在此处输入图像描述

在我提出请求时检查用户日志后,它post request不是一个放置。即使表格上写着method: put

在此处输入图像描述

0 投票
1 回答
756 浏览

ruby-on-rails - 覆盖设计可恢复

由于我的声誉低于 50,所以我无法在这篇文章中接受的答案下方发表评论In Rails Devise gem 如何修改 send_reset_password_instructions 方法?了解更多信息。

我想在设计中自定义recoverable.rb 。我使用路径lib/devise/models/recoverable.rb在我的文件夹中制作了它的副本。问题是当请求发送重置密码指令时,我得到了错误undefined method activerecord51? for Devise:Module。我该如何解决这个问题?

看来我的可恢复不在设计模块中。我通过在lib/文件夹中复制devise.rb进行了一些尝试。但这无济于事。

有人可以帮忙吗?

编辑

任何不便敬请谅解。目前我只是试图将更多选项传递给该方法send_reset_password_instructions

对此有任何想法吗?

0 投票
2 回答
1058 浏览

ruby-on-rails - 使用 jwt 设计 - 可恢复的 reset_password_by_token

我正在开发一个 Rails API,它将通过 jwt 进行身份验证,并希望用户帐户可以恢复。据推测,在通过电子邮件收到他们的重置令牌后,用户将提供他们的新密码和带有 PUT 的令牌https://example.com/users/password,以由 处理/app/controllers/users/passwords_controller#update。目前我有这个passwords_controller.rb(主要是在默认的设计代码中):

问题是reset_password_by_token请求授权:

这对我来说似乎很奇怪,因为我希望用户能够使用令牌(除非过期)登录一次以更改密码。那时我想返回 jwt (因此 using warden.authenticate),以便前端应用程序可以立即使用它来登录用户。

有人能在这里指出我正确的方向吗?

0 投票
1 回答
204 浏览

ruby-on-rails - Rails API忘记密码未呈现视图

所以我在我的 Rails API 中构建了一个忘记密码,我能够发送重置密码电子邮件,但是当我转到链接时,它给了我204 No Content。我正在使用 lvh.me 在开发中测试我的 api 子域

这是我的 passwords_controller.rb

生成的链接如下所示:http://api.lvh.me:3000/user/password/edit?reset_password_token=blablabla

我的控制器和视图结构是:

我的用户 routes.rb 如下所示:

对用户/密码/编辑的响应