¿Por qué Devise no permite que usuarios no confirmados inicien sesión incluso cuando se establece allow_unconfirmed_access_for?

Tenemos una base de usuarios existente y estamos agregando confirmación por correo electrónico. La confirmación es opcional, pero permitirá características adicionales. Los usuarios no están obligados a confirmar. He añadido el módulo confirmable y ejecuté migraciones. La confirmación funciona como se anuncia.

Pero, los usuarios no pueden iniciar sesión ya que no están confirmados. Todos los usuarios actuales tienen valores de confirmación nula, que es lo que queremos (los usuarios pueden volver y confirmar su correo electrónico en cualquier momento). He seguido todos los artículos de la wiki de Devise y he establecido allow_unconfirmed_access_for en el inicializador:

config.allow_unconfirmed_access_for = 10.years 

También he intentado configurarlo en nuestro modelo de usuario también:

devise :confirmable, allow_unconfirmed_access_for: 10.years

También he intentado usar otros valores (1. años, 500 días, etc.)

My SessionsController, que no difiere mucho del método de Devise (aqui en 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

Respuesta de Devise:

{"error": "Debe confirmar su cuenta antes de continuar."}

Diseñar 2.1.2 con rieles 3.2.9.

Respuestas a la pregunta(3)

Su respuesta a la pregunta