gpt4 book ai didi

ruby-on-rails-3 - 为什么即使设置了allow_unconfirmed_access_for,Devise也不允许未经确认的用户登录?

转载 作者:行者123 更新时间:2023-12-04 00:05:21 26 4
gpt4 key购买 nike

我们有一个现有的用户群,并且正在添加电子邮件确认。确认是可选的,但将允许附加功能。用户无需确认。我添加了可确认模块并运行了迁移。确认工作如广告。

但是,用户无法登录,因为他们没有得到确认。所有当前用户都有 nil 确认值,这是我们想要的(用户可以随时返回并确认他们的电子邮件)。我已经关注了所有的 Devise wiki 文章并在初始化程序中设置了 allow_unconfirmed_access_for :

config.allow_unconfirmed_access_for = 10.years 

我也尝试在我们的用户模型中设置它:
devise :confirmable, allow_unconfirmed_access_for: 10.years

我也尝试过使用其他值(1.year、500.days 等)

我的 SessionsController,与 Devise 的方法没有太大区别( here on github)
class Users::SessionsController < Devise::SessionsController
respond_to :json

def new
redirect_to "/#login"
end

def create
resource = warden.authenticate(auth_options)
if !resource
render json: {error: "Invalid email or password" }, status: 401 and return
end

sign_in(resource_name, resource)
render "sign_in", formats: [:json], locals: { object: resource }
end
end

设计的回应:

{"error":"您必须在继续之前确认您的帐户。"}

使用 Rails 3.2.9 设计 2.1.2。

最佳答案

Devise 团队发布了一个版本 (2.2.4),它支持 nil 作为 的有效值。 allow_unconfirmed_access_for ,意思是没有限制。问题:https://github.com/plataformatec/devise/issues/2275

您现在可以执行以下操作:

config.allow_unconfirmed_access_for = nil 

关于ruby-on-rails-3 - 为什么即使设置了allow_unconfirmed_access_for,Devise也不允许未经确认的用户登录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14083887/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com