From 8608a75029e1b29c0eacf53532baded917d73a96 Mon Sep 17 00:00:00 2001 From: Peter Amstutz Date: Fri, 16 Dec 2022 14:36:50 -0500 Subject: [PATCH] 19880: Password based login fix Now sends user to wb1 front page instead of controller login endpoint that returns an error. Arvados-DCO-1.1-Signed-off-by: Peter Amstutz --- .../app/models/arvados_api_client.rb | 26 +++++++++++++++---- .../app/views/users/welcome.html.erb | 2 +- 2 files changed, 22 insertions(+), 6 deletions(-) diff --git a/apps/workbench/app/models/arvados_api_client.rb b/apps/workbench/app/models/arvados_api_client.rb index 47fcc4ce51..25a4e74b70 100644 --- a/apps/workbench/app/models/arvados_api_client.rb +++ b/apps/workbench/app/models/arvados_api_client.rb @@ -235,19 +235,35 @@ class ArvadosApiClient end def arvados_login_url(params={}) + 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) + if Rails.configuration.testing_override_login_url + uri = URI(Rails.configuration.testing_override_login_url) + end + uri.path = "/login" + uri.query = URI.encode_www_form(params) + end + uri.to_s + end + + def arvados_logout_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) end - uri.path = "/login" + uri.path = "/logout" uri.query = URI.encode_www_form(params) uri.to_s end - def arvados_logout_url(params={}) - arvados_login_url(params).sub('/login','/logout') - end - def arvados_v1_base # workaround Ruby 2.3 bug, can't duplicate URI objects # https://github.com/httprb/http/issues/388 diff --git a/apps/workbench/app/views/users/welcome.html.erb b/apps/workbench/app/views/users/welcome.html.erb index 92fd6dad46..69009a03d4 100644 --- a/apps/workbench/app/views/users/welcome.html.erb +++ b/apps/workbench/app/views/users/welcome.html.erb @@ -57,7 +57,7 @@ SPDX-License-Identifier: AGPL-3.0 %>

password

- " id="login-return-to"> + " id="login-return-to">

-- 2.39.5