Class: Microservice::OmniauthCallbacksController

Inherits:
ApplicationController show all
Defined in:
app/controllers/microservice/omniauth_callbacks_controller.rb

Instance Method Summary collapse

Instance Method Details

#ssoObject



4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# File 'app/controllers/microservice/omniauth_callbacks_controller.rb', line 4

def sso
  @user = User.find_or_initialize_by(uuid: request.env['omniauth.auth']['uid'])

  update_user_from_omniauth(request.env['omniauth.auth'])

  if @user.new_record?
    @user.password = Devise.friendly_token[0, 20]
    @user.skip_confirmation!
  end

  if @user.save
    flash[:notice] = t('devise.omniauth_callbacks.success', kind: 'SSO')
     @user, event: :authentication
  else
    Rails.logger.error @user.errors.full_messages
    redirect_to root_url, alert: t(:notice_cannot_create_account)
  end
end