提问人:nico_lrx 提问时间:11/11/2023 最后编辑:nico_lrx 更新时间:11/22/2023 访问量:39
发送密码重置后设计 302 无限重定向
Devise 302 infinite redirect after password reset sent
问:
在 Rails 6 应用程序中,我使用的是 Devise gem(版本 4.9.3)。在开发环境中,当我尝试重置密码时,会发送出站电子邮件,但随后我收到 302 重定向,导致重定向无限循环:
已重定向至“已完成”http://localhost:3000/users/sign_in“已找到302个诊断树 在 7022 毫秒中(ActiveRecord:12.8 毫秒 |分配:31198)
启动 GET “/users/”
我试图覆盖密码控制器并设置重定向路径,但同样的问题:
def after_sending_reset_password_instructions_path_for(resource_name)
root_path
end
我尝试禁用缓存,清除了cookie /会话,但仍然收到错误。
也许它来自用户模型,在该模型中,我禁用了密码验证以创建没有密码的用户(他们在确认电子邮件后添加密码)。
用户模型:
class User < ApplicationRecord
attr_accessor :skip_password_validation
has_secure_token
devise :database_authenticatable, :registerable,
:recoverable, :rememberable, :validatable, :confirmable
protected
def password_required?
return false if skip_password_validation
super
end
end
这个问题从何而来?我没有想法了......感谢您的帮助!
此问题仅发生在开发环境中,并且涉及所有 Devise POST 请求(重定向循环也会在创建帐户、登录/注销等后发生)。
答: 暂无答案
评论