ActiveAdmin 错误 401 无法再使用工作凭据登录。使用 rails 5.2
ActiveAdmin error 401 Can no longer log in with working credentials. Using rails 5.2
我创建了一个 ActiveAdmin 用户,但我无法再使用以前的任何 ActiveAdmin 用户登录,也无法创建新用户。当我尝试时,出现 401 错误。我曾多次尝试操纵设计初始值设定项和模型,但均无济于事。
使用 rails 5.2.1,activeadmin 1.3.1,activeadmin_addons 1.6.0,cancancan 2.2.0
active_admin_role0.2.1
Processing by ActiveAdmin::Devise::SessionsController#create as HTML
Parameters: {"utf8"=>"✓", "authenticity_token"=>"Xyn9lV8tJQE9+Kii+LjFwiwrR4VKOXF8oACcQK4ui8Nb/9jkqDY8hfCHKEpX4/ftO3aKtdb0KJ9RXTq1TIbhpw==", "admin_user"=>{"login"=>"hodari@hiddengeniusproject.org", "password"=>"[FILTERED]", "remember_me"=>"1"}, "commit"=>"Submit"}
AdminUser Load (1.1ms) SELECT "admin_users".* FROM "admin_users" WHERE (lower(email) = 'hodari@hiddengeniusproject.org') ORDER BY "admin_users"."id" ASC LIMIT [["LIMIT", 1]]
Completed 401 Unauthorized in 149ms (ActiveRecord: 1.9ms)
由 ActiveAdmin::Devise::SessionsController#new 作为 HTML 处理
参数:{"utf8"=>"✓",
"authenticity_token"=>"Xyn9lV8tJQE9+Kii+LjFwiwrR4VKOXF8oACcQK4ui8Nb/9jkqDY8hfCHKEp X4/ftO3aKtdb0KJ9RXTq1TIbhpw==", "admin_user"=>{"login"=>" ", "password"=>"
[已过滤]", "remember_me"=>"1"}, "commit"=>"Submit"}
渲染 /Users/professortoure/.rvm/gems/ruby-2.4.1/gems/activeadmin-
1.3.1/app/views/active_admin/devise/sessions/new.html.erb内
layouts/active_admin_logged_out
渲染 /Users/professortoure/.rvm/gems/ruby-2.4.1/gems/activeadmin-
1.3.1/app/views/active_admin/devise/shared/_links.erb (1.6ms)
渲染 /Users/professortoure/.rvm/gems/ruby-2.4.1/gems/activeadmin-
1.3.1/app/views/active_admin/devise/sessions/new.html.erb内
layouts/active_admin_logged_out(51.6 毫秒)
在 838 毫秒内完成 200 OK(视图:836.8 毫秒 | ActiveRecord:0.0 毫秒)
这是我的管理员用户模型
class AdminUser < ApplicationRecord
role_based_authorizable
设计 :database_authenticatable,
:可恢复,:可记忆,:可追踪
attr_accessor :登录
has_many :class房间
受保护
def self.find_for_database_authentication(warden_conditions)
conditions = warden_conditions.dup
login = conditions.delete(:login)
where(conditions).where(["lower(email) = :value", { :value => login
}]).first
end
end
这是我的 devise.rb
Devise.setup do |config|
config.secret_key = ENV['devise_secret_key'] if Rails.env.production?
config.mailer_sender = 'Devise Omniauth
config.mailer = 'Devise::Mailer'
config.parent_mailer = 'ActionMailer::Base'
config.authentication_keys = [:login]
config.reset_password_keys = [:login]
config.strip_whitespace_keys = [:email, :username ]
config.params_authenticatable = true
config.http_authenticatable = false
config.paranoid = true
config.skip_session_storage = [:http_auth]
config.clean_up_csrf_token_on_authentication = true
config.reload_routes = true
config.stretches = Rails.env.test? ? 1 : 11
config.allow_unconfirmed_access_for = 364.days
config.confirm_within = 365.daysconfig.reconfirmable = true
config.expire_all_remember_me_on_sign_out = true
config.password_length = 6..128
config.email_regexp = /\A[^@\s]+@[^@\s]+\z/
config.unlock_strategy = :both
config.reset_password_within = 6.hours
Rails.application.config.app_middleware.use OmniAuth::Builder do
config.omniauth :google_oauth2,
Figaro.env.google_client_id,
Figaro.env.google_client_secret
#google_oauth2_options
{
scope: 'email, calendar',
prompt: 'select_account',
image_aspect_ratio: 'original',
name: 'google',
access_type: 'offline',
provider_ignores_state: true
}
end
end
我不确定还包括什么,我还在学习。
谢谢
我刚刚回到我的 git 存储库到最后一个已知的工作版本并重置到那里。不确定问题出在哪里,但我的应用程序又能正常工作了。
我创建了一个 ActiveAdmin 用户,但我无法再使用以前的任何 ActiveAdmin 用户登录,也无法创建新用户。当我尝试时,出现 401 错误。我曾多次尝试操纵设计初始值设定项和模型,但均无济于事。 使用 rails 5.2.1,activeadmin 1.3.1,activeadmin_addons 1.6.0,cancancan 2.2.0 active_admin_role0.2.1
Processing by ActiveAdmin::Devise::SessionsController#create as HTML Parameters: {"utf8"=>"✓", "authenticity_token"=>"Xyn9lV8tJQE9+Kii+LjFwiwrR4VKOXF8oACcQK4ui8Nb/9jkqDY8hfCHKEpX4/ftO3aKtdb0KJ9RXTq1TIbhpw==", "admin_user"=>{"login"=>"hodari@hiddengeniusproject.org", "password"=>"[FILTERED]", "remember_me"=>"1"}, "commit"=>"Submit"} AdminUser Load (1.1ms) SELECT "admin_users".* FROM "admin_users" WHERE (lower(email) = 'hodari@hiddengeniusproject.org') ORDER BY "admin_users"."id" ASC LIMIT [["LIMIT", 1]] Completed 401 Unauthorized in 149ms (ActiveRecord: 1.9ms)
由 ActiveAdmin::Devise::SessionsController#new 作为 HTML 处理 参数:{"utf8"=>"✓",
"authenticity_token"=>"Xyn9lV8tJQE9+Kii+LjFwiwrR4VKOXF8oACcQK4ui8Nb/9jkqDY8hfCHKEp X4/ftO3aKtdb0KJ9RXTq1TIbhpw==", "admin_user"=>{"login"=>" ", "password"=>" [已过滤]", "remember_me"=>"1"}, "commit"=>"Submit"} 渲染 /Users/professortoure/.rvm/gems/ruby-2.4.1/gems/activeadmin- 1.3.1/app/views/active_admin/devise/sessions/new.html.erb内 layouts/active_admin_logged_out 渲染 /Users/professortoure/.rvm/gems/ruby-2.4.1/gems/activeadmin- 1.3.1/app/views/active_admin/devise/shared/_links.erb (1.6ms) 渲染 /Users/professortoure/.rvm/gems/ruby-2.4.1/gems/activeadmin- 1.3.1/app/views/active_admin/devise/sessions/new.html.erb内 layouts/active_admin_logged_out(51.6 毫秒) 在 838 毫秒内完成 200 OK(视图:836.8 毫秒 | ActiveRecord:0.0 毫秒)
这是我的管理员用户模型
class AdminUser < ApplicationRecord role_based_authorizable 设计 :database_authenticatable, :可恢复,:可记忆,:可追踪 attr_accessor :登录 has_many :class房间 受保护
def self.find_for_database_authentication(warden_conditions)
conditions = warden_conditions.dup
login = conditions.delete(:login)
where(conditions).where(["lower(email) = :value", { :value => login
}]).first
end
end
这是我的 devise.rb
Devise.setup do |config|
config.secret_key = ENV['devise_secret_key'] if Rails.env.production?
config.mailer_sender = 'Devise Omniauth
config.mailer = 'Devise::Mailer'
config.parent_mailer = 'ActionMailer::Base'
config.authentication_keys = [:login]
config.reset_password_keys = [:login]
config.strip_whitespace_keys = [:email, :username ]
config.params_authenticatable = true
config.http_authenticatable = false
config.paranoid = true
config.skip_session_storage = [:http_auth]
config.clean_up_csrf_token_on_authentication = true
config.reload_routes = true
config.stretches = Rails.env.test? ? 1 : 11
config.allow_unconfirmed_access_for = 364.days
config.confirm_within = 365.daysconfig.reconfirmable = true
config.expire_all_remember_me_on_sign_out = true
config.password_length = 6..128
config.email_regexp = /\A[^@\s]+@[^@\s]+\z/
config.unlock_strategy = :both
config.reset_password_within = 6.hours
Rails.application.config.app_middleware.use OmniAuth::Builder do
config.omniauth :google_oauth2,
Figaro.env.google_client_id,
Figaro.env.google_client_secret
#google_oauth2_options
{
scope: 'email, calendar',
prompt: 'select_account',
image_aspect_ratio: 'original',
name: 'google',
access_type: 'offline',
provider_ignores_state: true
}
end
end
我不确定还包括什么,我还在学习。
谢谢
我刚刚回到我的 git 存储库到最后一个已知的工作版本并重置到那里。不确定问题出在哪里,但我的应用程序又能正常工作了。