This commit is contained in:
parent
8fa924e372
commit
e668180044
4 changed files with 20 additions and 4 deletions
|
@ -10,6 +10,15 @@ class Auth::SessionsController < Devise::SessionsController
|
|||
prepend_before_action :authenticate_with_two_factor, if: :two_factor_enabled?, only: [:create]
|
||||
before_action :set_instance_presenter, only: [:new]
|
||||
|
||||
def new
|
||||
Devise.omniauth_configs.each do |provider, config|
|
||||
if config.strategy.redirect_at_sign_in
|
||||
return redirect_to(omniauth_authorize_path(resource_name, provider))
|
||||
end
|
||||
end
|
||||
super
|
||||
end
|
||||
|
||||
def create
|
||||
super do |resource|
|
||||
remember_me(resource)
|
||||
|
|
|
@ -53,7 +53,8 @@ module Omniauthable
|
|||
private
|
||||
|
||||
def user_params_from_auth(auth)
|
||||
assume_verified = Devise.omniauth_configs[:saml].strategy.security.assume_email_is_verified
|
||||
strategy = Devise.omniauth_configs[auth.provider.to_sym].strategy
|
||||
assume_verified = strategy.try(:security).try(:assume_email_is_verified)
|
||||
email_is_verified = auth.info.verified || auth.info.verified_email || assume_verified
|
||||
email = auth.info.verified_email || auth.info.email
|
||||
email = email_is_verified && !User.exists?(email: auth.info.email) && email
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue