From 6b112fc1be462ad353264325fac466a22c6d6675 Mon Sep 17 00:00:00 2001 From: Alexey Zinoviev Date: Tue, 15 Oct 2024 14:03:55 +0400 Subject: [PATCH] UBERF-8429: Allow to disable sign-ups (#6934) Signed-off-by: Alexey Zinoviev --- .vscode/launch.json | 3 +- dev/docker-compose.yaml | 2 + .../src/components/Form.svelte | 3 +- .../src/components/LoginApp.svelte | 7 ++-- .../src/components/LoginForm.svelte | 5 ++- .../src/components/LoginOtpForm.svelte | 4 +- .../src/components/LoginPasswordForm.svelte | 2 + .../src/components/OtpForm.svelte | 3 +- .../src/components/PasswordRequest.svelte | 5 ++- .../src/components/SignupForm.svelte | 6 +++ .../src/components/Tabs.svelte | 23 ++++++----- plugins/login/src/index.ts | 3 +- pods/authProviders/src/github.ts | 39 ++++++++++++++----- pods/authProviders/src/google.ts | 26 +++++++++---- pods/authProviders/src/index.ts | 8 ++-- pods/authProviders/src/openid.ts | 39 ++++++++++++++----- pods/authProviders/src/token.ts | 3 +- server/account-service/src/index.ts | 7 +++- server/account/src/operations.ts | 14 +++++-- server/front/src/index.ts | 2 + server/front/src/starter.ts | 5 ++- 21 files changed, 148 insertions(+), 61 deletions(-) diff --git a/.vscode/launch.json b/.vscode/launch.json index c1f2a92066..4b97af00c9 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -97,7 +97,8 @@ "SES_URL": "", "MINIO_ACCESS_KEY": "minioadmin", "MINIO_SECRET_KEY": "minioadmin", - "MINIO_ENDPOINT": "localhost" + "MINIO_ENDPOINT": "localhost", + // "DISABLE_SIGNUP": "true", // "INIT_SCRIPT_URL": "https://raw.githubusercontent.com/hcengineering/init/main/script.yaml", // "INIT_WORKSPACE": "onboarding", }, diff --git a/dev/docker-compose.yaml b/dev/docker-compose.yaml index b9784be4ce..d000ac9d5a 100644 --- a/dev/docker-compose.yaml +++ b/dev/docker-compose.yaml @@ -85,6 +85,7 @@ services: - LAST_NAME_FIRST=true - ACCOUNTS_URL=http://host.docker.internal:3000 - BRANDING_PATH=/var/cfg/branding.json + # - DISABLE_SIGNUP=true # - INIT_SCRIPT_URL=https://raw.githubusercontent.com/hcengineering/init/main/script.yaml # - INIT_WORKSPACE=onboarding restart: unless-stopped @@ -197,6 +198,7 @@ services: - DESKTOP_UPDATES_URL=https://dist.huly.io - DESKTOP_UPDATES_CHANNEL=dev - BRANDING_URL=http://host.docker.internal:8087/branding.json + # - DISABLE_SIGNUP=true restart: unless-stopped transactor: image: hardcoreeng/transactor diff --git a/plugins/login-resources/src/components/Form.svelte b/plugins/login-resources/src/components/Form.svelte index ab4028b92b..a9ee5d1bd6 100644 --- a/plugins/login-resources/src/components/Form.svelte +++ b/plugins/login-resources/src/components/Form.svelte @@ -57,6 +57,7 @@ export let ignoreInitialValidation: boolean = false export let withProviders: boolean = false export let subtitle: string | undefined = undefined + export let signUpDisabled = false $: $themeStore.language && validate($themeStore.language) @@ -138,7 +139,7 @@ }} > {#if loginState !== 'none'} - + {:else} {#if subtitle !== undefined}
diff --git a/plugins/login-resources/src/components/LoginApp.svelte b/plugins/login-resources/src/components/LoginApp.svelte index 77174900fa..d0c9b64ef7 100644 --- a/plugins/login-resources/src/components/LoginApp.svelte +++ b/plugins/login-resources/src/components/LoginApp.svelte @@ -54,6 +54,7 @@ export let page: Pages = 'signup' + const signUpDisabled = getMetadata(login.metadata.DisableSignUp) ?? false let navigateUrl: string | undefined onDestroy(location.subscribe(updatePageLoc)) @@ -134,13 +135,13 @@
{#if page === 'login'} - + {:else if page === 'signup'} - + {:else if page === 'createWorkspace'} {:else if page === 'password'} - + {:else if page === 'recovery'} {:else if page === 'selectWorkspace'} diff --git a/plugins/login-resources/src/components/LoginForm.svelte b/plugins/login-resources/src/components/LoginForm.svelte index 2d8973b45b..ced1085f38 100644 --- a/plugins/login-resources/src/components/LoginForm.svelte +++ b/plugins/login-resources/src/components/LoginForm.svelte @@ -21,6 +21,7 @@ import login from '../plugin' export let navigateUrl: string | undefined = undefined + export let signUpDisabled = false let method: LoginMethods = LoginMethods.Otp @@ -44,12 +45,12 @@ {#if method === LoginMethods.Otp} - +
{:else} - +
diff --git a/plugins/login-resources/src/components/LoginOtpForm.svelte b/plugins/login-resources/src/components/LoginOtpForm.svelte index 1782cc1d76..1ecf5943aa 100644 --- a/plugins/login-resources/src/components/LoginOtpForm.svelte +++ b/plugins/login-resources/src/components/LoginOtpForm.svelte @@ -21,6 +21,7 @@ import { OtpLoginSteps, sendOtp } from '../index' export let navigateUrl: string | undefined = undefined + export let signUpDisabled = false const fields = [{ id: 'email', name: 'username', i18n: login.string.Email }] const formData = { @@ -57,11 +58,12 @@ {fields} object={formData} {action} + {signUpDisabled} ignoreInitialValidation withProviders /> {/if} {#if step === OtpLoginSteps.Otp && formData.username !== ''} - + {/if} diff --git a/plugins/login-resources/src/components/LoginPasswordForm.svelte b/plugins/login-resources/src/components/LoginPasswordForm.svelte index d5ac9c37a5..29bb4169ff 100644 --- a/plugins/login-resources/src/components/LoginPasswordForm.svelte +++ b/plugins/login-resources/src/components/LoginPasswordForm.svelte @@ -21,6 +21,7 @@ import login from '../plugin' export let navigateUrl: string | undefined = undefined + export let signUpDisabled = false const fields = [ { id: 'email', name: 'username', i18n: login.string.Email }, @@ -62,6 +63,7 @@ {fields} {object} {action} + {signUpDisabled} bottomActions={[recoveryAction]} ignoreInitialValidation withProviders diff --git a/plugins/login-resources/src/components/OtpForm.svelte b/plugins/login-resources/src/components/OtpForm.svelte index 057e850cdb..dd655817be 100644 --- a/plugins/login-resources/src/components/OtpForm.svelte +++ b/plugins/login-resources/src/components/OtpForm.svelte @@ -28,6 +28,7 @@ export let navigateUrl: string | undefined = undefined export let email: string export let retryOn: Timestamp + export let signUpDisabled = false const dispatch = createEventDispatcher() @@ -232,7 +233,7 @@ style:min-height={$deviceInfo.docHeight > 720 ? '42rem' : '0'} >
- +