From a376a7fd00cf4da656beb81e98e54d9b8caa511c Mon Sep 17 00:00:00 2001 From: Jan Kessler <Ithanil@users.noreply.github.com> Date: Mon, 30 Oct 2023 14:52:47 +0100 Subject: [PATCH] Add env EXTERNAL_AUTH and replace checks for OPENID_CONNECT with checks for EXTERNAL_AUTH where applicable (#5480) * add env EXTERNAL_AUTH and replace env OPENID_CONNECT with it where applicable * remove OPENID_CONNECT from envAPI --- app/controllers/api/v1/api_controller.rb | 2 +- app/controllers/api/v1/env_controller.rb | 2 +- app/javascript/components/admin/manage_users/ManageUsers.jsx | 2 +- .../admin/site_settings/registration/Registration.jsx | 2 +- app/javascript/components/home/AuthButtons.jsx | 2 +- app/javascript/components/rooms/room/join/JoinCard.jsx | 2 +- .../components/rooms/room/join/RequireAuthentication.jsx | 2 +- app/javascript/components/users/authentication/Signup.jsx | 2 +- esbuild.dev.mjs | 2 +- esbuild.mjs | 2 +- 10 files changed, 10 insertions(+), 10 deletions(-) diff --git a/app/controllers/api/v1/api_controller.rb b/app/controllers/api/v1/api_controller.rb index 502124b7..92b27351 100644 --- a/app/controllers/api/v1/api_controller.rb +++ b/app/controllers/api/v1/api_controller.rb @@ -89,7 +89,7 @@ module Api { sort_column => sort_direction } end - # Checks if external authentication is enabled + # Checks if external authentication is enabled (currently only OIDC is implemented) def external_authn_enabled? ENV['OPENID_CONNECT_ISSUER'].present? end diff --git a/app/controllers/api/v1/env_controller.rb b/app/controllers/api/v1/env_controller.rb index 2541f5ed..946e261c 100644 --- a/app/controllers/api/v1/env_controller.rb +++ b/app/controllers/api/v1/env_controller.rb @@ -25,7 +25,7 @@ module Api # Returns basic NON-CONFIDENTIAL information on the environment variables def index render_data data: { - OPENID_CONNECT: ENV['OPENID_CONNECT_ISSUER'].present?, + EXTERNAL_AUTH: ENV['OPENID_CONNECT_ISSUER'].present?, # currently only OIDC is implemented HCAPTCHA_KEY: ENV.fetch('HCAPTCHA_SITE_KEY', nil), VERSION_TAG: ENV.fetch('VERSION_TAG', ''), CURRENT_PROVIDER: current_provider, diff --git a/app/javascript/components/admin/manage_users/ManageUsers.jsx b/app/javascript/components/admin/manage_users/ManageUsers.jsx index c72d9eef..b8269617 100644 --- a/app/javascript/components/admin/manage_users/ManageUsers.jsx +++ b/app/javascript/components/admin/manage_users/ManageUsers.jsx @@ -81,7 +81,7 @@ export default function ManageUsers() { /> )} { - (!envAPI.isLoading && !envAPI.data?.OPENID_CONNECT) + (!envAPI.isLoading && !envAPI.data?.EXTERNAL_AUTH) && ( <Modal modalButton={ diff --git a/app/javascript/components/admin/site_settings/registration/Registration.jsx b/app/javascript/components/admin/site_settings/registration/Registration.jsx index 3c2e2edb..6b75f888 100644 --- a/app/javascript/components/admin/site_settings/registration/Registration.jsx +++ b/app/javascript/components/admin/site_settings/registration/Registration.jsx @@ -52,7 +52,7 @@ export default function Registration() { </Dropdown.Item> </SettingSelect> - { env?.OPENID_CONNECT && ( + { env?.EXTERNAL_AUTH && ( <Row className="mb-3"> <SettingsRow name="ResyncOnLogin" diff --git a/app/javascript/components/home/AuthButtons.jsx b/app/javascript/components/home/AuthButtons.jsx index 3bb4a320..b088fb64 100644 --- a/app/javascript/components/home/AuthButtons.jsx +++ b/app/javascript/components/home/AuthButtons.jsx @@ -40,7 +40,7 @@ export default function AuthButtons({ direction }) { return registrationMethod !== 'invite' || !!inviteToken; } - if (env?.OPENID_CONNECT) { + if (env?.EXTERNAL_AUTH) { return ( <Form action={process.env.OMNIAUTH_PATH} method="POST" data-turbo="false"> <input type="hidden" name="authenticity_token" value={document.querySelector('meta[name="csrf-token"]').content} /> diff --git a/app/javascript/components/rooms/room/join/JoinCard.jsx b/app/javascript/components/rooms/room/join/JoinCard.jsx index 41ac6ac4..73fc255f 100644 --- a/app/javascript/components/rooms/room/join/JoinCard.jsx +++ b/app/javascript/components/rooms/room/join/JoinCard.jsx @@ -252,7 +252,7 @@ export default function JoinCard() { </Row> <Row> {!currentUser?.signed_in && ( - env?.OPENID_CONNECT ? ( + env?.EXTERNAL_AUTH ? ( <Stack direction="horizontal" className="d-flex justify-content-center text-muted mt-3"> {t('authentication.already_have_account')} <RegularForm action={process.env.OMNIAUTH_PATH} method="POST" data-turbo="false"> <input type="hidden" name="authenticity_token" value={document.querySelector('meta[name="csrf-token"]').content} /> diff --git a/app/javascript/components/rooms/room/join/RequireAuthentication.jsx b/app/javascript/components/rooms/room/join/RequireAuthentication.jsx index 98ed8676..88908ddc 100644 --- a/app/javascript/components/rooms/room/join/RequireAuthentication.jsx +++ b/app/javascript/components/rooms/room/join/RequireAuthentication.jsx @@ -38,7 +38,7 @@ export default function RequireAuthentication({ path }) { </Card.Body> <Card.Footer className="bg-white"> { - env?.OPENID_CONNECT ? ( + env?.EXTERNAL_AUTH ? ( <Form action={process.env.OMNIAUTH_PATH} method="POST" data-turbo="false"> <input type="hidden" name="authenticity_token" value={document.querySelector('meta[name="csrf-token"]').content} /> <Button variant="brand-outline-color" className="btn btn-lg m-2" type="submit">{t('authentication.sign_up')}</Button> diff --git a/app/javascript/components/users/authentication/Signup.jsx b/app/javascript/components/users/authentication/Signup.jsx index b5306175..7cbe8b3a 100644 --- a/app/javascript/components/users/authentication/Signup.jsx +++ b/app/javascript/components/users/authentication/Signup.jsx @@ -32,7 +32,7 @@ export default function Signup() { const envAPI = useEnv(); const isLoading = envAPI.isLoading || registrationMethodSettingAPI.isLoading; - if (envAPI.data?.OPENID_CONNECT) { + if (envAPI.data?.EXTERNAL_AUTH) { return <Navigate to="/" replace />; } diff --git a/esbuild.dev.mjs b/esbuild.dev.mjs index 1bd3839c..3ff73114 100644 --- a/esbuild.dev.mjs +++ b/esbuild.dev.mjs @@ -20,7 +20,7 @@ await esbuild.build({ }, define: { 'process.env.RELATIVE_URL_ROOT': `"${relativeUrlRoot}"`, - 'process.env.OMNIAUTH_PATH': `"${relativeUrlRoot}/auth/openid_connect"`, + 'process.env.OMNIAUTH_PATH': `"${relativeUrlRoot}/auth/openid_connect"`, // currently, only OIDC is implemented }, }); diff --git a/esbuild.mjs b/esbuild.mjs index 6330cbc2..e9aa8a45 100644 --- a/esbuild.mjs +++ b/esbuild.mjs @@ -14,7 +14,7 @@ await esbuild.build({ }, define: { 'process.env.RELATIVE_URL_ROOT': `"${relativeUrlRoot}"`, - 'process.env.OMNIAUTH_PATH': `"${relativeUrlRoot}/auth/openid_connect"`, + 'process.env.OMNIAUTH_PATH': `"${relativeUrlRoot}/auth/openid_connect"`, // currently, only OIDC is implemented }, }); -- GitLab