Почему Devise не позволяет неподтвержденным пользователям войти в систему, даже если установлен параметр allow_unconfirmed_access_for?
У нас уже есть база пользователей, и мы добавляем подтверждение по электронной почте. Подтверждение не является обязательным, но позволит дополнительные функции. Пользователи не обязаны подтверждать. Я'Мы добавили подтверждающий модуль и выполнили миграцию. Подтверждение работает как рекламируется.
Но пользователи не могут войти, так как они не подтверждены. Все текущие пользователи имеют нулевые значения подтверждения, чего мы и хотим (пользователи могут вернуться и подтвердить свою электронную почту в любое время). Я'Мы следили за всеми статьями Devise wiki и установили allow_unconfirmed_access_for в инициализаторе: I '
config.allow_unconfirmed_access_for = 10.years
мы также попытались установить его в нашей пользовательской модели:
devise :confirmable, allow_unconfirmed_access_for: 10.years
мы также пытались использовать другие значения (1. год, 500 дней и т. д.)
Мой SessionsController, который мало чем отличается от Devise 'метод s (здесь на 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
Разрабатывают»ответ: {"
ошибка":"Вы должны подтвердить свой аккаунт, прежде чем продолжить. "}
Разработать 2.1.2 с Rails 3.2.9.