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')
sign_in_and_redirect @user, event: :authentication
else
Rails.logger.error @user.errors.full_messages
redirect_to root_url, alert: t(:notice_cannot_create_account)
end
end
|