X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/94972ae20fa5d9dde7dc814695a970e9d5bad4a7..df1ebc0e3184afd3fb66414651fc1aec713928bf:/apps/workbench/app/models/arvados_api_client.rb diff --git a/apps/workbench/app/models/arvados_api_client.rb b/apps/workbench/app/models/arvados_api_client.rb index 3c9bfa793d..2abcf49e57 100644 --- a/apps/workbench/app/models/arvados_api_client.rb +++ b/apps/workbench/app/models/arvados_api_client.rb @@ -40,7 +40,7 @@ class ArvadosApiClient def initialize(request_url, api_response) @api_status = api_response.status_code @api_response_s = api_response.content - @api_response = Oj.load(@api_response_s, :symbol_keys => true) + @api_response = Oj.strict_load(@api_response_s, :symbol_keys => true) errors = @api_response[:errors] if errors.respond_to?(:join) errors = errors.join("\n\n") @@ -167,7 +167,7 @@ class ArvadosApiClient end begin - resp = Oj.load(msg.content, :symbol_keys => true) + resp = Oj.strict_load(msg.content, :symbol_keys => true) rescue Oj::ParseError resp = nil end @@ -235,17 +235,37 @@ class ArvadosApiClient end def arvados_login_url(params={}) - uri = URI.parse(Rails.configuration.Services.Controller.ExternalURL.to_s) if Rails.configuration.testing_override_login_url uri = URI(Rails.configuration.testing_override_login_url) + uri.path = "/login" + uri.query = URI.encode_www_form(params) + return uri.to_s + end + + case + when Rails.configuration.Login.PAM.Enable, + Rails.configuration.Login.LDAP.Enable, + Rails.configuration.Login.Test.Enable + + uri = URI.parse(Rails.configuration.Services.Workbench1.ExternalURL.to_s) + uri.path = "/users/welcome" + uri.query = URI.encode_www_form(params) + else + uri = URI.parse(Rails.configuration.Services.Controller.ExternalURL.to_s) + uri.path = "/login" + uri.query = URI.encode_www_form(params) end - uri.path = "/login" - uri.query = URI.encode_www_form(params) uri.to_s end def arvados_logout_url(params={}) - arvados_login_url(params).sub('/login','/logout') + uri = URI.parse(Rails.configuration.Services.Controller.ExternalURL.to_s) + if Rails.configuration.testing_override_login_url + uri = URI(Rails.configuration.testing_override_login_url) + end + uri.path = "/logout" + uri.query = URI.encode_www_form(params) + uri.to_s end def arvados_v1_base