allow to enable/disable email sigin via env variable

This commit is contained in:
notmd
2023-02-02 00:29:46 +07:00
parent 2d97ffa371
commit 0b9b8ed927
5 changed files with 10 additions and 1 deletions
+1
View File
@@ -128,6 +128,7 @@ services:
- NEXT_PUBLIC_CLOUDFARE_CAPTCHA_SITE_KEY=1x00000000000000000000AA
- CLOUDFLARE_CAPTCHA_SERCERT_KEY=1x0000000000000000000000000000000AA
- NEXT_PUBLIC_ENABLE_EMAIL_SIGNIN_CAPTCHA=true
- NEXT_PUBLIC_ENABLE_EMAIL_SIGNIN=true
depends_on:
webdb:
condition: service_healthy
+1
View File
@@ -21,3 +21,4 @@ EMAIL_FROM=info@example.com
NEXT_PUBLIC_CLOUDFLARE_CAPTCHA_SITE_KEY=1x00000000000000000000AA
CLOUDFLARE_CAPTCHA_SERCERT_KEY=1x0000000000000000000000000000000AA
NEXT_PUBLIC_ENABLE_EMAIL_SIGNIN_CAPTCHA=false
NEXT_PUBLIC_ENABLE_EMAIL_SIGNIN=true
@@ -165,6 +165,10 @@ export default function auth(req: NextApiRequest, res: NextApiResponse) {
return true;
}
if (account.provider === "email" && !boolean(process.env.NEXT_PUBLIC_ENABLE_EMAIL_SIGNIN)) {
return false;
}
const captcha = req.body.captcha;
const res = await checkCaptcha(captcha, getIp(req));
+3 -1
View File
@@ -80,7 +80,9 @@ function Signin({ providers }: SigninProps) {
<AuthLayout>
<Stack spacing="2">
{credentials && <DebugSigninForm providerId={credentials.id} bgColorClass={bgColorClass} />}
{email && <EmailSignInForm providerId={email.id}></EmailSignInForm>}
{email && boolean(process.env.NEXT_PUBLIC_ENABLE_EMAIL_SIGNIN) && (
<EmailSignInForm providerId={email.id}></EmailSignInForm>
)}
{discord && (
<Button
bg={buttonBgColor}
+1
View File
@@ -5,6 +5,7 @@ declare global {
NEXT_PUBLIC_CLOUDFLARE_CAPTCHA_SITE_KEY: string;
CLOUDFLARE_CAPTCHA_SERCERT_KEY: string;
NEXT_PUBLIC_ENABLE_EMAIL_SIGNIN_CAPTCHA: boolean;
NEXT_PUBLIC_ENABLE_EMAIL_SIGNIN: boolean;
}
}
}