0
Fork 0
mirror of https://github.com/logto-io/logto.git synced 2025-02-03 21:48:55 -05:00

feat(console): allow to disable create account (#1806)

This commit is contained in:
Gao Sun 2022-08-23 15:42:01 +08:00 committed by GitHub
parent fa0b2342f3
commit 67305ec407
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
9 changed files with 66 additions and 0 deletions

View file

@ -0,0 +1,28 @@
import { SignInMode } from '@logto/schemas';
import { useFormContext } from 'react-hook-form';
import { useTranslation } from 'react-i18next';
import FormField from '@/components/FormField';
import Switch from '@/components/Switch';
import { SignInExperienceForm } from '../types';
import * as styles from './index.module.scss';
const AuthenticationForm = () => {
const { t } = useTranslation(undefined, { keyPrefix: 'admin_console' });
const { register } = useFormContext<SignInExperienceForm>();
return (
<>
<div className={styles.title}>{t('sign_in_exp.others.authentication.title')}</div>
<FormField title="sign_in_exp.others.authentication.enable_create_account">
<Switch
{...register('createAccountEnabled')}
label={t('sign_in_exp.others.authentication.enable_create_account_description')}
/>
</FormField>
</>
);
};
export default AuthenticationForm;

View file

@ -3,6 +3,7 @@ import { useFormContext } from 'react-hook-form';
import UnsavedChangesAlertModal from '@/components/UnsavedChangesAlertModal'; import UnsavedChangesAlertModal from '@/components/UnsavedChangesAlertModal';
import AuthenticationForm from '../components/AuthenticationForm';
import LanguagesForm from '../components/LanguagesForm'; import LanguagesForm from '../components/LanguagesForm';
import TermsForm from '../components/TermsForm'; import TermsForm from '../components/TermsForm';
import { SignInExperienceForm } from '../types'; import { SignInExperienceForm } from '../types';
@ -25,6 +26,7 @@ const OthersTab = ({ defaultData, isDataDirty }: Props) => {
<> <>
<TermsForm /> <TermsForm />
<LanguagesForm /> <LanguagesForm />
<AuthenticationForm />
<UnsavedChangesAlertModal hasUnsavedChanges={isDataDirty} /> <UnsavedChangesAlertModal hasUnsavedChanges={isDataDirty} />
</> </>
); );

View file

@ -20,4 +20,5 @@ export type SignInExperienceForm = Omit<SignInExperience, 'signInMethods' | 'lan
fixedLanguage: Language; fixedLanguage: Language;
fallbackLanguage: Language; fallbackLanguage: Language;
}; };
createAccountEnabled: boolean;
}; };

View file

@ -3,6 +3,7 @@ import {
SignInMethodKey, SignInMethodKey,
SignInMethods, SignInMethods,
SignInMethodState, SignInMethodState,
SignInMode,
} from '@logto/schemas'; } from '@logto/schemas';
import { conditional } from '@silverhand/essentials'; import { conditional } from '@silverhand/essentials';
@ -41,6 +42,7 @@ export const signInExperienceParser = {
const { const {
languageInfo: { autoDetect, fallbackLanguage, fixedLanguage }, languageInfo: { autoDetect, fallbackLanguage, fixedLanguage },
signInMode,
} = signInExperience; } = signInExperience;
return { return {
@ -58,12 +60,14 @@ export const signInExperienceParser = {
fallbackLanguage, fallbackLanguage,
fixedLanguage, fixedLanguage,
}, },
createAccountEnabled: signInMode !== SignInMode.SignIn,
}; };
}, },
toRemoteModel: (setup: SignInExperienceForm): SignInExperience => { toRemoteModel: (setup: SignInExperienceForm): SignInExperience => {
const { const {
branding, branding,
languageInfo: { mode, fallbackLanguage, fixedLanguage }, languageInfo: { mode, fallbackLanguage, fixedLanguage },
createAccountEnabled,
} = setup; } = setup;
return { return {
@ -85,6 +89,7 @@ export const signInExperienceParser = {
fallbackLanguage, fallbackLanguage,
fixedLanguage, fixedLanguage,
}, },
signInMode: createAccountEnabled ? SignInMode.SignInAndRegister : SignInMode.SignIn,
}; };
}, },
}; };

View file

@ -79,6 +79,12 @@ const sign_in_exp = {
'Which language to fall back if Logto finds no proper language phrase-set.', 'Which language to fall back if Logto finds no proper language phrase-set.',
fixed_language: 'Fixed language', fixed_language: 'Fixed language',
}, },
authentication: {
title: 'AUTHENTICATION',
enable_create_account: 'Enable create account',
enable_create_account_description:
'Enable or disable create account (sign-up). Once disabled, your customers cant create accounts through the sign-in UI, but you can still add users in Admin Console.',
},
}, },
setup_warning: { setup_warning: {
no_connector: '', no_connector: '',

View file

@ -81,6 +81,12 @@ const sign_in_exp = {
'La langue de repli si Logto ne trouve pas de jeu de phrases dans la langue appropriée.', 'La langue de repli si Logto ne trouve pas de jeu de phrases dans la langue appropriée.',
fixed_language: 'Langue fixe', fixed_language: 'Langue fixe',
}, },
authentication: {
title: 'AUTHENTICATION',
enable_create_account: 'Enable create account',
enable_create_account_description:
'Enable or disable create account (sign-up). Once disabled, your customers cant create accounts through the sign-in UI, but you can still add users in Admin Console.',
},
}, },
setup_warning: { setup_warning: {
no_connector: '', no_connector: '',

View file

@ -75,6 +75,12 @@ const sign_in_exp = {
fallback_language_tip: '적절한 언어를 찾을 수 없을 때 백업 언어를 사용해요.', fallback_language_tip: '적절한 언어를 찾을 수 없을 때 백업 언어를 사용해요.',
fixed_language: '언어 고정', fixed_language: '언어 고정',
}, },
authentication: {
title: 'AUTHENTICATION',
enable_create_account: 'Enable create account',
enable_create_account_description:
'Enable or disable create account (sign-up). Once disabled, your customers cant create accounts through the sign-in UI, but you can still add users in Admin Console.',
},
}, },
setup_warning: { setup_warning: {
no_connector: '', no_connector: '',

View file

@ -80,6 +80,12 @@ const sign_in_exp = {
'Logto uygun bir dil ifade kümesi bulamazsa hangi dilden vazgeçilecek?', 'Logto uygun bir dil ifade kümesi bulamazsa hangi dilden vazgeçilecek?',
fixed_language: 'Sabitlenmiş dil', fixed_language: 'Sabitlenmiş dil',
}, },
authentication: {
title: 'AUTHENTICATION',
enable_create_account: 'Enable create account',
enable_create_account_description:
'Enable or disable create account (sign-up). Once disabled, your customers cant create accounts through the sign-in UI, but you can still add users in Admin Console.',
},
}, },
setup_warning: { setup_warning: {
no_connector: '', no_connector: '',

View file

@ -75,6 +75,12 @@ const sign_in_exp = {
fallback_language_tip: '如果 Logto 找不到合适的语言包,将回退至哪种语言。', fallback_language_tip: '如果 Logto 找不到合适的语言包,将回退至哪种语言。',
fixed_language: '固定语言', fixed_language: '固定语言',
}, },
authentication: {
title: '身份验证',
enable_create_account: '启用创建帐号',
enable_create_account_description:
'启用或禁用创建帐号(注册)。一旦禁用,你的用户将无法通过登录 UI 来创建帐户,但你仍可以通过「管理面板」添加用户。',
},
}, },
setup_warning: { setup_warning: {
no_connector: '', no_connector: '',