From 319b3df904e12c61bc9ee4a7894a5d4180cc5881 Mon Sep 17 00:00:00 2001 From: Paul Slaughter Date: Wed, 31 Jul 2024 09:41:15 -0500 Subject: [PATCH 1/8] Fix relative_url_root Web IDE OAuth issues - Have gitlabUrl end with slash so that OAuth paths include relative_url_root - Update oauth_domain_mismatch_error to concatenate based on the real baseUrl of the callback URL's. - Update getOAuthConfig to take into account relative_url_root when building callbackUrl --- .../oauth_domain_mismatch_error.vue | 47 +++++--------- app/assets/javascripts/ide/constants.js | 3 + app/assets/javascripts/ide/index.js | 24 +++---- .../ide/lib/gitlab_web_ide/get_base_config.js | 8 +-- .../lib/gitlab_web_ide/get_oauth_config.js | 54 +++++++++++++++- .../ide/lib/parse_callback_urls.js | 62 +++++++++++++++++++ .../oauth_callback_domain_mismatch_error.js | 26 +++----- .../javascripts/lib/utils/url_utility.js | 11 ++++ config/routes.rb | 1 + locale/gitlab.pot | 3 - .../gitlab_web_ide/get_base_config_spec.js | 4 +- .../ide/lib/parse_callback_urls_spec.js | 55 ++++++++++++++++ spec/frontend/lib/utils/url_utility_spec.js | 17 +++++ 13 files changed, 240 insertions(+), 75 deletions(-) create mode 100644 app/assets/javascripts/ide/lib/parse_callback_urls.js create mode 100644 spec/frontend/ide/lib/parse_callback_urls_spec.js diff --git a/app/assets/javascripts/ide/components/oauth_domain_mismatch_error.vue b/app/assets/javascripts/ide/components/oauth_domain_mismatch_error.vue index 9899e941fbfe9b..bc2d365df5d3d3 100644 --- a/app/assets/javascripts/ide/components/oauth_domain_mismatch_error.vue +++ b/app/assets/javascripts/ide/components/oauth_domain_mismatch_error.vue @@ -1,43 +1,32 @@