Login: fix ldap

This commit is contained in:
Timofey Boyko 2024-08-09 12:40:17 +03:00
parent 7dc348e05a
commit 1cb8af424c
5 changed files with 8 additions and 15 deletions

View File

@ -70,6 +70,7 @@ async function Page() {
reCaptchaPublicKey={settings?.recaptchaPublicKey}
reCaptchaType={settings?.recaptchaType}
ldapDomain={capabilities?.ldapDomain}
ldapEnabled={capabilities?.ldapEnabled}
/>
<ThirdParty
thirdParty={thirdParty}

View File

@ -31,27 +31,20 @@ import React, { createContext, useState } from "react";
export const LoginValueContext = createContext({
isLoading: false,
isModalOpen: false,
ldapDomain: "",
});
export const LoginDispatchContext = createContext({
setIsLoading: (value: boolean) => {},
setIsModalOpen: (value: boolean) => {},
setLdapDomain: (value: string) => {},
});
export const LoginContext = ({ children }: { children: React.ReactNode }) => {
const [isLoading, setIsLoading] = useState(false);
const [isModalOpen, setIsModalOpen] = useState(false);
const [ldapDomain, setLdapDomain] = useState("");
return (
<LoginDispatchContext.Provider
value={{ setIsLoading, setIsModalOpen, setLdapDomain }}
>
<LoginValueContext.Provider
value={{ isLoading, isModalOpen, ldapDomain }}
>
<LoginDispatchContext.Provider value={{ setIsLoading, setIsModalOpen }}>
<LoginValueContext.Provider value={{ isLoading, isModalOpen }}>
{children}
</LoginValueContext.Provider>
</LoginDispatchContext.Provider>

View File

@ -75,6 +75,7 @@ const LoginForm = ({
reCaptchaPublicKey,
reCaptchaType,
ldapDomain,
ldapEnabled,
}: LoginFormProps) => {
const { isLoading, isModalOpen } = useContext(LoginValueContext);
const { setIsLoading } = useContext(LoginDispatchContext);
@ -420,7 +421,7 @@ const LoginForm = ({
onChangeCheckbox={onChangeCheckbox}
/>
{ldapDomain && (
{ldapDomain && ldapEnabled && (
<LDAPContainer
ldapDomain={ldapDomain}
isLdapLoginChecked={isLdapLoginChecked}

View File

@ -66,16 +66,13 @@ const ThirdParty = ({
hideAuthPage,
}: ThirdPartyProps) => {
const { isLoading } = useContext(LoginValueContext);
const { setIsModalOpen, setLdapDomain } = useContext(LoginDispatchContext);
const { setIsModalOpen } = useContext(LoginDispatchContext);
const searchParams = useSearchParams();
const { t } = useTranslation(["Login", "Common"]);
useEffect(() => {
if (capabilities?.ldapEnabled && capabilities.ldapDomain)
setLdapDomain(capabilities.ldapDomain);
if (
ssoUrl &&
hideAuthPage &&
@ -83,7 +80,7 @@ const ThirdParty = ({
) {
window.location.replace(ssoUrl);
}
}, [capabilities, searchParams, setLdapDomain, ssoUrl, hideAuthPage]);
}, [capabilities, searchParams, ssoUrl, hideAuthPage]);
const onSocialButtonClick = useCallback(
(e: React.MouseEvent<Element, MouseEvent>) => {

View File

@ -87,6 +87,7 @@ export type LoginFormProps = {
reCaptchaType?: RecaptchaType;
cookieSettingsEnabled: boolean;
ldapDomain?: string;
ldapEnabled?: boolean;
};
export type ForgotPasswordModalDialogProps = {