Skip to content
Snippets Groups Projects
Unverified Commit 397f9bee authored by Samuel Couillard's avatar Samuel Couillard Committed by GitHub
Browse files

Add SMTP check for reset password link (#5303)

* Add SMTP check for reset password link

* Add redirect to /forget_password
parent 8ddfb4be
Branches
Tags
No related merge requests found
...@@ -28,7 +28,8 @@ module Api ...@@ -28,7 +28,8 @@ module Api
OPENID_CONNECT: ENV['OPENID_CONNECT_ISSUER'].present?, OPENID_CONNECT: ENV['OPENID_CONNECT_ISSUER'].present?,
HCAPTCHA_KEY: ENV.fetch('HCAPTCHA_SITE_KEY', nil), HCAPTCHA_KEY: ENV.fetch('HCAPTCHA_SITE_KEY', nil),
VERSION_TAG: ENV.fetch('VERSION_TAG', ''), VERSION_TAG: ENV.fetch('VERSION_TAG', ''),
CURRENT_PROVIDER: current_provider CURRENT_PROVIDER: current_provider,
SMTP_ENABLED: ENV.fetch('SMTP_SERVER', nil)
}, status: :ok }, status: :ok
end end
end end
......
...@@ -29,12 +29,14 @@ import useCreateSession from '../../../../hooks/mutations/sessions/useCreateSess ...@@ -29,12 +29,14 @@ import useCreateSession from '../../../../hooks/mutations/sessions/useCreateSess
import useSignInForm from '../../../../hooks/forms/users/authentication/useSignInForm'; import useSignInForm from '../../../../hooks/forms/users/authentication/useSignInForm';
import HCaptcha from '../../../shared_components/utilities/HCaptcha'; import HCaptcha from '../../../shared_components/utilities/HCaptcha';
import FormCheckBox from '../../../shared_components/forms/controls/FormCheckBox'; import FormCheckBox from '../../../shared_components/forms/controls/FormCheckBox';
import useEnv from '../../../../hooks/queries/env/useEnv';
export default function SigninForm() { export default function SigninForm() {
const { t } = useTranslation(); const { t } = useTranslation();
const { methods, fields } = useSignInForm(); const { methods, fields } = useSignInForm();
const createSessionAPI = useCreateSession(); const createSessionAPI = useCreateSession();
const captchaRef = useRef(null); const captchaRef = useRef(null);
const { data: env } = useEnv();
const handleSubmit = useCallback(async (session) => { const handleSubmit = useCallback(async (session) => {
const results = await captchaRef.current?.execute({ async: true }); const results = await captchaRef.current?.execute({ async: true });
...@@ -52,7 +54,11 @@ export default function SigninForm() { ...@@ -52,7 +54,11 @@ export default function SigninForm() {
<FormCheckBox field={fields.extend_session} /> <FormCheckBox field={fields.extend_session} />
</Col> </Col>
<Col> <Col>
{
env?.SMTP_ENABLED && (
<Link to="/forget_password" className="text-link float-end small"> {t('authentication.forgot_password')} </Link> <Link to="/forget_password" className="text-link float-end small"> {t('authentication.forgot_password')} </Link>
)
}
</Col> </Col>
</Row> </Row>
<HCaptcha ref={captchaRef} /> <HCaptcha ref={captchaRef} />
......
...@@ -16,13 +16,21 @@ ...@@ -16,13 +16,21 @@
import React from 'react'; import React from 'react';
import Card from 'react-bootstrap/Card'; import Card from 'react-bootstrap/Card';
import { Link } from 'react-router-dom'; import { Link, Navigate } from 'react-router-dom';
import { useTranslation } from 'react-i18next'; import { useTranslation } from 'react-i18next';
import ForgetPwdForm from './forms/ForgetPwdForm'; import ForgetPwdForm from './forms/ForgetPwdForm';
import Logo from '../../shared_components/Logo'; import Logo from '../../shared_components/Logo';
import useEnv from '../../../hooks/queries/env/useEnv';
export default function ForgetPassword() { export default function ForgetPassword() {
const { t } = useTranslation(); const { t } = useTranslation();
const { data: env, isLoading } = useEnv();
if (isLoading) return null;
if (!env?.SMTP_ENABLED) {
return <Navigate to="/" />;
}
return ( return (
<div className="vertical-center"> <div className="vertical-center">
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment