Fix authentication before 2FA challenge (#11943)

Regression from #11831
This commit is contained in:
Eugen Rochko
2019-09-24 04:35:36 +02:00
committed by GitHub
parent 67bef15e53
commit a1f04c1e34
7 changed files with 140 additions and 99 deletions

View File

@ -13,7 +13,8 @@ require_relative '../lib/paperclip/video_transcoder'
require_relative '../lib/paperclip/type_corrector'
require_relative '../lib/mastodon/snowflake'
require_relative '../lib/mastodon/version'
require_relative '../lib/devise/ldap_authenticatable'
require_relative '../lib/devise/two_factor_ldap_authenticatable'
require_relative '../lib/devise/two_factor_pam_authenticatable'
Dotenv::Railtie.load

View File

@ -71,13 +71,10 @@ end
Devise.setup do |config|
config.warden do |manager|
manager.default_strategies(scope: :user).unshift :database_authenticatable
manager.default_strategies(scope: :user).unshift :ldap_authenticatable if Devise.ldap_authentication
manager.default_strategies(scope: :user).unshift :pam_authenticatable if Devise.pam_authentication
# We handle 2FA in our own sessions controller so this gets in the way
manager.default_strategies(scope: :user).delete :two_factor_backupable
manager.default_strategies(scope: :user).delete :two_factor_authenticatable
manager.default_strategies(scope: :user).unshift :two_factor_ldap_authenticatable if Devise.ldap_authentication
manager.default_strategies(scope: :user).unshift :two_factor_pam_authenticatable if Devise.pam_authentication
manager.default_strategies(scope: :user).unshift :two_factor_authenticatable
manager.default_strategies(scope: :user).unshift :two_factor_backupable
end
# The secret key used by Devise. Devise uses this key to generate