X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/ea7c6effed14cd80a444c6e4d5b89c8b99c17d59..91a3a6759a0294c28fa55f044c2d611d01054c20:/services/api/app/controllers/user_sessions_controller.rb diff --git a/services/api/app/controllers/user_sessions_controller.rb b/services/api/app/controllers/user_sessions_controller.rb index a7391bd732..696ae026c5 100644 --- a/services/api/app/controllers/user_sessions_controller.rb +++ b/services/api/app/controllers/user_sessions_controller.rb @@ -1,5 +1,5 @@ class UserSessionsController < ApplicationController - before_filter :require_auth_scope_all, :only => [ :destroy ] + before_filter :require_auth_scope, :only => [ :destroy ] skip_before_filter :find_object_by_uuid skip_before_filter :render_404_if_no_object @@ -9,7 +9,6 @@ class UserSessionsController < ApplicationController # omniauth callback method def create omniauth = env['omniauth.auth'] - #logger.debug "+++ #{omniauth}" identity_url_ok = (omniauth['info']['identity_url'].length > 0) rescue false unless identity_url_ok @@ -43,7 +42,11 @@ class UserSessionsController < ApplicationController :first_name => omniauth['info']['first_name'], :last_name => omniauth['info']['last_name'], :identity_url => omniauth['info']['identity_url'], - :is_active => Rails.configuration.new_users_are_active) + :is_active => Rails.configuration.new_users_are_active, + :owner_uuid => system_user_uuid) + act_as_system_user do + user.save or raise Exception.new(user.errors.messages) + end else user.email = omniauth['info']['email'] user.first_name = omniauth['info']['first_name'] @@ -58,7 +61,7 @@ class UserSessionsController < ApplicationController # "unauthorized": Thread.current[:user] = user - user.save! + user.save or raise Exception.new(user.errors.messages) omniauth.delete('extra')