From 9f87207d668fbe0a2039c63803128fbe5916f993 Mon Sep 17 00:00:00 2001 From: kamtschatka Date: Sat, 12 Oct 2024 15:27:21 +0200 Subject: feature: Allow to disable default password login after SSO is configured. Fixes #406 (#502) * [Feature Request] Allow to disable default password log in after SSO is configured #406 changed the flag to also disallow logging in via password The extensions will also no longer be allowed to log in via username/password then * [Feature Request] Allow to disable default password log in after SSO is configured #406 added the error message for OAuth --- apps/browser-extension/src/SignInPage.tsx | 6 +----- apps/web/components/signin/CredentialsForm.tsx | 17 ++++++++++++++++- apps/web/lib/clientConfig.tsx | 2 +- 3 files changed, 18 insertions(+), 7 deletions(-) (limited to 'apps') diff --git a/apps/browser-extension/src/SignInPage.tsx b/apps/browser-extension/src/SignInPage.tsx index f1899d5a..1d849028 100644 --- a/apps/browser-extension/src/SignInPage.tsx +++ b/apps/browser-extension/src/SignInPage.tsx @@ -80,11 +80,7 @@ export default function SignInPage() { break; } if (loginError) { - if (loginError.data?.code == "UNAUTHORIZED") { - errorMessage = "Wrong username or password"; - } else { - errorMessage = loginError.message; - } + errorMessage = loginError.message || "Wrong username or password"; } return ( diff --git a/apps/web/components/signin/CredentialsForm.tsx b/apps/web/components/signin/CredentialsForm.tsx index a35b768f..313dc7c5 100644 --- a/apps/web/components/signin/CredentialsForm.tsx +++ b/apps/web/components/signin/CredentialsForm.tsx @@ -35,6 +35,8 @@ function SignIn() { const [signinError, setSigninError] = useState(""); const router = useRouter(); const searchParams = useSearchParams(); + const clientConfig = useClientConfig(); + const oAuthError = searchParams.get("error"); if (oAuthError && !signinError) { setSigninError(`${OAUTH_FAILED} ${oAuthError}`); @@ -44,6 +46,19 @@ function SignIn() { resolver: zodResolver(signInSchema), }); + if (clientConfig.auth.disablePasswordAuth) { + return ( + <> + {signinError && ( +

{signinError}

+ )} +

+ Password authentication is currently disabled. +

+ + ); + } + return (
{clientConfig.auth.disableSignups || - clientConfig.auth.disablePasswordSignups ? ( + clientConfig.auth.disablePasswordAuth ? (

Signups are currently disabled.

) : ( diff --git a/apps/web/lib/clientConfig.tsx b/apps/web/lib/clientConfig.tsx index 90e6d35c..c5d206e3 100644 --- a/apps/web/lib/clientConfig.tsx +++ b/apps/web/lib/clientConfig.tsx @@ -6,7 +6,7 @@ export const ClientConfigCtx = createContext({ demoMode: undefined, auth: { disableSignups: false, - disablePasswordSignups: false, + disablePasswordAuth: false, }, inference: { inferredTagLang: "english", -- cgit v1.2.3-70-g09d2