X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/ed2b65fa0aa4d752db8e1eaaecc17eb05c06acd3..385f300ba44bc186aa679d5aba543260e8ffee1e:/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 45edc9049b..eaaf7b5b93 100644 --- a/services/api/app/controllers/user_sessions_controller.rb +++ b/services/api/app/controllers/user_sessions_controller.rb @@ -93,20 +93,22 @@ class UserSessionsController < ApplicationController # Stub: automatically register all new API clients api_client_url_prefix = callback_url.match(%r{^.*?://[^/]+})[0] + '/' - api_client = ApiClient.find_or_create_by_url_prefix(api_client_url_prefix) + act_as_system_user do + @api_client = ApiClient.find_or_create_by_url_prefix api_client_url_prefix + end api_client_auth = ApiClientAuthorization. new(user: user, - api_client: api_client, + api_client: @api_client, created_by_ip_address: remote_ip) api_client_auth.save! if callback_url.index('?') - callback_url << '&' + callback_url += '&' else - callback_url << '?' + callback_url += '?' end - callback_url << 'api_token=' << api_client_auth.api_token + callback_url += 'api_token=' + api_client_auth.api_token redirect_to callback_url end end