问题标签 [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.
ruby-on-rails - 我们如何进行设计验证并重置仅 24 小时且仅 1 次链接的电子邮件链接?
我在后端使用 ruby on rails。
它是一个基于研究的问题。我尝试搜索但没有得到任何解决方案。
非常感谢任何形式的帮助。
提前致谢!!!
ruby-on-rails - 设计 4.2 向 ERR_NAME_NOT_RESOLVED 页面发送密码说明电子邮件链接
我已经使用 Rails 4.2.7.1 成功设置了 Devise 4.2 'recoverable' 模块。用户体验如下:
- 用户访问该站点,进入登录页面,单击“帮助,我忘记了密码”。
- 用户被发送到随后的页面,他们在其中输入他们的电子邮件地址。如果该地址被接受,他们会通过电子邮件(我们称之为“恢复电子邮件”)发送一个指向他们可以去重置密码的地方的链接。
我遇到的问题出在恢复电子邮件的正文中。里面的一切都有效!但是,指向我的网站的链接省略了网站名称中的“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。
可能有人知道我做错了什么吗?
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 但我仍然得到不匹配的令牌
ruby-on-rails - 为密码更新设计区域设置定制
当用户忘记密码时,我正在尝试在设计中自定义我的错误消息以更新密码。我做了所有的翻译和定制,registrations
但passwords
我有点挣扎。
在我的密码/新视图中,我有通常的助手调用:
但是从语言环境文件中获取的翻译是这样的:
这有点奇怪,因为此消息registrations
与我的应用程序中的“您的帐户尚未保存”相同,并且设置为“您的帐户尚未保存”。但在这种情况下,这不是关于保存帐户,而是确认已发送续订电子邮件。
(当然,最重要的是,我有一条与正确显示的电子邮件字段相关的错误消息)
可以调整吗?
编辑编辑
好的,它似乎来自 Devise error helper 的这段代码:
https://github.com/plataformatec/devise/blob/master/app/helpers/devise_helper.rb
任何想法我可以调整这段代码,以便在设计命名空间内的每个设计子控制器都不同?
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.
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
。
对此有任何想法吗?
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
),以便前端应用程序可以立即使用它来登录用户。
有人能在这里指出我正确的方向吗?