0
Fork 0
mirror of https://github.com/logto-io/logto.git synced 2025-03-24 22:41:28 -05:00

feat(console): support signing-key rotation for oss version (#5559)

This commit is contained in:
Xiao Yijun 2024-03-27 16:52:40 +08:00 committed by GitHub
parent d91e3e7d83
commit 5758f84f5e
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
70 changed files with 775 additions and 657 deletions

View file

@ -0,0 +1,6 @@
---
"@logto/console": minor
"@logto/phrases": minor
---
feat(console): support signing-key rotation

View file

@ -0,0 +1,3 @@
<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M17.4998 3.66675L18.0832 3.08341C18.4165 2.75008 18.4165 2.25008 18.0832 1.91675C17.7498 1.58341 17.2498 1.58341 16.9165 1.91675L8.1665 10.6667C7.49984 10.2501 6.6665 10.0001 5.83317 10.0001C3.49984 10.0001 1.6665 11.8334 1.6665 14.1667C1.6665 16.5001 3.49984 18.3334 5.83317 18.3334C8.1665 18.3334 9.99984 16.5001 9.99984 14.1667C9.99984 13.3334 9.74984 12.5001 9.33317 11.8334L13.9998 7.16675L15.7498 8.91675C16.0832 9.25008 16.5832 9.25008 16.9165 8.91675C17.2498 8.58342 17.2498 8.08342 16.9165 7.75008L15.1665 6.00008L16.3332 4.83342L16.9165 5.41675C17.2498 5.75008 17.7498 5.75008 18.0832 5.41675C18.4165 5.08341 18.4165 4.58341 18.0832 4.25008L17.4998 3.66675ZM5.83317 16.6667C4.4165 16.6667 3.33317 15.5834 3.33317 14.1667C3.33317 12.7501 4.4165 11.6667 5.83317 11.6667C7.24984 11.6667 8.33317 12.7501 8.33317 14.1667C8.33317 15.5834 7.24984 16.6667 5.83317 16.6667Z" fill="#78767F"/>
</svg>

After

Width:  |  Height:  |  Size: 1,005 B

View file

@ -23,3 +23,4 @@ export const logtoThirdPartyGuideLink = '/docs/recipes/logto-as-idp/';
export const logtoThirdPartyAppPermissionsLink =
'/docs/recipes/logto-as-idp/permissions-management/';
export const logtoThirdPartyAppBrandingLink = '/docs/recipes/logto-as-idp/branding-customization/';
export const signingKeysLink = '/docs/recipes/openid-connect/signing-keys-rotation/';

View file

@ -9,6 +9,7 @@ import Connection from '@/assets/icons/connection.svg';
import Gear from '@/assets/icons/gear.svg';
import Hook from '@/assets/icons/hook.svg';
import JwtClaims from '@/assets/icons/jwt-claims.svg';
import Key from '@/assets/icons/key.svg';
import List from '@/assets/icons/list.svg';
import Organization from '@/assets/icons/organization.svg';
import UserProfile from '@/assets/icons/profile.svg';
@ -116,6 +117,10 @@ export const useSidebarMenuItems = (): {
{
title: 'developer',
items: [
{
Icon: Key,
title: 'signing_keys',
},
{
Icon: JwtClaims,
title: 'jwt_customizer',

View file

@ -48,6 +48,7 @@ import RoleUsers from '@/pages/RoleDetails/RoleUsers';
import Roles from '@/pages/Roles';
import SignInExperience from '@/pages/SignInExperience';
import { SignInExperienceTab } from '@/pages/SignInExperience/types';
import SigningKeys from '@/pages/SigningKeys';
import TenantSettings from '@/pages/TenantSettings';
import BillingHistory from '@/pages/TenantSettings/BillingHistory';
import Subscription from '@/pages/TenantSettings/Subscription';
@ -193,6 +194,7 @@ function ConsoleContent() {
<Route path="link-email" element={<LinkEmailModal />} />
<Route path="verification-code" element={<VerificationCodeModal />} />
</Route>
<Route path="signing-keys" element={<SigningKeys />} />
{isCloud && (
<Route path="tenant-settings" element={<TenantSettings />}>
<Route index element={<Navigate replace to={TenantSettingsTabs.Settings} />} />

View file

@ -13,24 +13,25 @@ import Delete from '@/assets/icons/delete.svg';
import FormCard from '@/components/FormCard';
import Button from '@/ds-components/Button';
import DangerConfirmModal from '@/ds-components/DeleteConfirmModal';
import DynamicT from '@/ds-components/DynamicT';
import FormField from '@/ds-components/FormField';
import IconButton from '@/ds-components/IconButton';
import Select from '@/ds-components/Select';
import TabNav, { TabNavItem } from '@/ds-components/TabNav';
import Table from '@/ds-components/Table';
import Tag from '@/ds-components/Tag';
import useApi, { type RequestError } from '@/hooks/use-api';
import * as styles from './index.module.scss';
function SigningKeys() {
type Props = {
keyType: LogtoOidcConfigKeyType;
};
function SigningKeyFormCard({ keyType }: Props) {
const api = useApi();
const { t } = useTranslation(undefined, { keyPrefix: 'admin_console.tenants.signing_keys' });
const [keyType, setKeyType] = useState<LogtoOidcConfigKeyType>(
LogtoOidcConfigKeyType.PrivateKeys
);
const { t } = useTranslation(undefined, { keyPrefix: 'admin_console.signing_keys' });
const isPrivateKey = keyType === LogtoOidcConfigKeyType.PrivateKeys;
const keyTypePhrase = isPrivateKey ? 'private' : 'cookie';
const { data, error, mutate } = useSWR<OidcConfigKeysResponse[], RequestError>(
`api/configs/oidc/${keyType}`
@ -96,26 +97,11 @@ function SigningKeys() {
);
return (
<FormCard title="tenants.signing_keys.title" description="tenants.signing_keys.description">
<TabNav>
<TabNavItem
isActive={keyType === LogtoOidcConfigKeyType.PrivateKeys}
onClick={() => {
setKeyType(LogtoOidcConfigKeyType.PrivateKeys);
}}
>
<DynamicT forKey="tenants.signing_keys.type.private_key" />
</TabNavItem>
<TabNavItem
isActive={keyType === LogtoOidcConfigKeyType.CookieKeys}
onClick={() => {
setKeyType(LogtoOidcConfigKeyType.CookieKeys);
}}
>
<DynamicT forKey="tenants.signing_keys.type.cookie_key" />
</TabNavItem>
</TabNav>
<FormField title={`tenants.signing_keys.${isPrivateKey ? 'private' : 'cookie'}_keys_in_use`}>
<FormCard
title={`signing_keys.${keyTypePhrase}_key`}
description={`signing_keys.${keyTypePhrase}_keys_description`}
>
<FormField title={`signing_keys.${keyTypePhrase}_keys_in_use`}>
<Table
hasBorder
isRowHoverEffectDisabled
@ -126,13 +112,11 @@ function SigningKeys() {
columns={tableColumns}
/>
</FormField>
<FormField title={`tenants.signing_keys.rotate_${isPrivateKey ? 'private' : 'cookie'}_keys`}>
<FormField title={`signing_keys.rotate_${keyTypePhrase}_keys`}>
<div className={styles.rotateKey}>
<div className={styles.description}>
{t(`rotate_${isPrivateKey ? 'private' : 'cookie'}_keys_description`)}
</div>
<div className={styles.description}>{t(`rotate_${keyTypePhrase}_keys_description`)}</div>
<Button
title={`tenants.signing_keys.rotate_${isPrivateKey ? 'private' : 'cookie'}_keys`}
title={`signing_keys.rotate_${keyTypePhrase}_keys`}
type="default"
onClick={() => {
setShowRotateConfirmModal(true);
@ -141,7 +125,7 @@ function SigningKeys() {
</div>
</FormField>
<DangerConfirmModal
confirmButtonText="tenants.signing_keys.rotate_button"
confirmButtonText="signing_keys.rotate_button"
isOpen={showRotateConfirmModal}
onCancel={() => {
setShowRotateConfirmModal(false);
@ -164,11 +148,11 @@ function SigningKeys() {
>
<span>
<Trans components={{ strong: <strong /> }}>
{t(`reminder.rotate_${isPrivateKey ? 'private' : 'cookie'}_key`)}
{t(`reminder.rotate_${keyTypePhrase}_key`)}
</Trans>
</span>
{isPrivateKey && (
<FormField title="tenants.signing_keys.select_private_key_algorithm">
<FormField title="signing_keys.select_private_key_algorithm">
<Select
options={Object.values(SupportedSigningKeyAlgorithm).map((value) => ({
title: value,
@ -205,7 +189,7 @@ function SigningKeys() {
>
<span>
<Trans components={{ strong: <strong /> }}>
{t(`reminder.delete_${isPrivateKey ? 'private' : 'cookie'}_key`)}
{t(`reminder.delete_${keyTypePhrase}_key`)}
</Trans>
</span>
</DangerConfirmModal>
@ -213,4 +197,4 @@ function SigningKeys() {
);
}
export default SigningKeys;
export default SigningKeyFormCard;

View file

@ -0,0 +1,14 @@
@use '@/scss/underscore' as _;
.container {
display: flex;
flex-direction: column;
min-height: 100%;
gap: _.unit(4);
padding-bottom: _.unit(6);
.header {
flex-shrink: 0;
}
}

View file

@ -0,0 +1,30 @@
import { withAppInsights } from '@logto/app-insights/react/AppInsightsReact';
import { LogtoOidcConfigKeyType } from '@logto/schemas';
import PageMeta from '@/components/PageMeta';
import { signingKeysLink } from '@/consts';
import CardTitle from '@/ds-components/CardTitle';
import useDocumentationUrl from '@/hooks/use-documentation-url';
import SigningKeyFormCard from './SigningKeyFormCard';
import * as styles from './index.module.scss';
function SigningKeys() {
const { getDocumentationUrl } = useDocumentationUrl();
return (
<div className={styles.container}>
<PageMeta titleKey="signing_keys.title" />
<CardTitle
title="signing_keys.title"
subtitle="signing_keys.description"
learnMoreLink={{ href: getDocumentationUrl(signingKeysLink), targetBlank: 'noopener' }}
className={styles.header}
/>
<SigningKeyFormCard keyType={LogtoOidcConfigKeyType.PrivateKeys} />
<SigningKeyFormCard keyType={LogtoOidcConfigKeyType.CookieKeys} />
</div>
);
}
export default withAppInsights(SigningKeys);

View file

@ -17,7 +17,6 @@ import { trySubmitSafe } from '@/utils/form';
import DeleteCard from './DeleteCard';
import DeleteModal from './DeleteModal';
import ProfileForm from './ProfileForm';
import SigningKeys from './SigningKeys';
import * as styles from './index.module.scss';
import { type TenantSettingsForm } from './types.js';
@ -121,7 +120,6 @@ function TenantBasicSettings() {
<FormProvider {...methods}>
<div className={styles.fields}>
<ProfileForm currentTenantId={currentTenantId} />
<SigningKeys />
<DeleteCard currentTenantId={currentTenantId} onClick={onClickDeletionButton} />
</div>
</FormProvider>

View file

@ -30,6 +30,7 @@ import role_details from './role-details.js';
import roles from './roles.js';
import session_expired from './session-expired.js';
import sign_in_exp from './sign-in-exp/index.js';
import signing_keys from './signing-keys.js';
import subscription from './subscription/index.js';
import tab_sections from './tab-sections.js';
import tabs from './tabs.js';
@ -91,6 +92,7 @@ const admin_console = {
protected_app,
jwt_claims,
invitation,
signing_keys,
};
export default Object.freeze(admin_console);

View file

@ -0,0 +1,44 @@
const signing_keys = {
title: 'Signierschlüssel',
description:
'Verwalten Sie sicher die Signierschlüssel, die von Ihren Anwendungen verwendet werden.',
private_key: 'OIDC-Privatschlüssel',
private_keys_description: 'OIDC-Privatschlüssel werden zum Signieren von JWT-Token verwendet.',
cookie_key: 'OIDC-Cookieschlüssel',
cookie_keys_description: 'OIDC-Cookieschlüssel werden zum Signieren von Cookies verwendet.',
private_keys_in_use: 'Verwendete private Schlüssel',
cookie_keys_in_use: 'Verwendete Cookie-Schlüssel',
rotate_private_keys: 'Private Schlüssel rotieren',
rotate_cookie_keys: 'Cookie-Schlüssel rotieren',
rotate_private_keys_description:
'Diese Aktion erstellt einen neuen privaten Signierungsschlüssel, rotiert den aktuellen Schlüssel und entfernt Ihren vorherigen Schlüssel. Ihre JWT-Token, die mit dem aktuellen Schlüssel signiert sind, bleiben gültig, bis sie gelöscht oder erneut rotiert werden.',
rotate_cookie_keys_description:
'Diese Aktion erstellt einen neuen Cookie-Schlüssel, rotiert den aktuellen Schlüssel und entfernt Ihren vorherigen Schlüssel. Ihre Cookies mit dem aktuellen Schlüssel bleiben gültig, bis sie gelöscht oder erneut rotiert werden.',
select_private_key_algorithm: 'Signierungsalgorithmus für den neuen privaten Schlüssel auswählen',
rotate_button: 'Rotieren',
table_column: {
id: 'ID',
status: 'Status',
algorithm: 'Signierungsschlüssel Algorithmus',
},
status: {
current: 'Aktuell',
previous: 'Vorherige',
},
reminder: {
rotate_private_key:
'Sind Sie sicher, dass Sie die <strong>OIDC-Private Keys</strong> rotieren möchten? Neue ausgestellte JWT-Token werden vom neuen Schlüssel signiert. Bestehende JWT-Token bleiben gültig, bis Sie sie erneut rotieren.',
rotate_cookie_key:
'Sind Sie sicher, dass Sie die <strong>OIDC-Cookie-Keys</strong> rotieren möchten? Neue Cookies, die in Anmelde-Sitzungen generiert werden, werden mit dem neuen Cookie-Schlüssel signiert. Bestehende Cookies bleiben gültig, bis Sie sie erneut rotieren.',
delete_private_key:
'Sind Sie sicher, dass Sie den <strong>OIDC-Privaten Schlüssel</strong> löschen möchten? Bestehende JWT-Token, die mit diesem privaten Signierungsschlüssel signiert wurden, sind nicht mehr gültig.',
delete_cookie_key:
'Sind Sie sicher, dass Sie den <strong>OIDC-Cookie-Schlüssel</strong> löschen möchten? Ältere Anmelde-Sitzungen mit Cookies, die mit diesem Cookie-Schlüssel signiert wurden, sind nicht mehr gültig. Eine erneute Authentifizierung ist für diese Benutzer erforderlich.',
},
messages: {
rotate_key_success: 'Signierungsschlüssel erfolgreich rotieren.',
delete_key_success: 'Schlüssel erfolgreich gelöscht.',
},
};
export default Object.freeze(signing_keys);

View file

@ -16,6 +16,7 @@ const tabs = {
mfa: 'Multi-Faktor-Authentifizierung',
/** UNTRANSLATED */
jwt_customizer: 'JWT Claims',
signing_keys: 'Signierschlüssel',
};
export default Object.freeze(tabs);

View file

@ -112,48 +112,6 @@ const tenants = {
description_2:
'Wenn Sie weitere Informationen wünschen, Bedenken haben oder die volle Funktionalität wiederherstellen und Ihre Mieter entsperren möchten, zögern Sie nicht, uns umgehend zu kontaktieren.',
},
signing_keys: {
title: 'SIGNIERUNGSSCHLÜSSEL',
description: 'Sicherer Umgang mit Signierungsschlüsseln in Ihrem Mandanten.',
type: {
private_key: 'OIDC-Private Keys',
cookie_key: 'OIDC-Cookie-Keys',
},
private_keys_in_use: 'Verwendete private Schlüssel',
cookie_keys_in_use: 'Verwendete Cookie-Schlüssel',
rotate_private_keys: 'Private Schlüssel rotieren',
rotate_cookie_keys: 'Cookie-Schlüssel rotieren',
rotate_private_keys_description:
'Diese Aktion erstellt einen neuen privaten Signierungsschlüssel, rotiert den aktuellen Schlüssel und entfernt Ihren vorherigen Schlüssel. Ihre JWT-Token, die mit dem aktuellen Schlüssel signiert sind, bleiben gültig, bis sie gelöscht oder erneut rotiert werden.',
rotate_cookie_keys_description:
'Diese Aktion erstellt einen neuen Cookie-Schlüssel, rotiert den aktuellen Schlüssel und entfernt Ihren vorherigen Schlüssel. Ihre Cookies mit dem aktuellen Schlüssel bleiben gültig, bis sie gelöscht oder erneut rotiert werden.',
select_private_key_algorithm:
'Signierungsalgorithmus für den neuen privaten Schlüssel auswählen',
rotate_button: 'Rotieren',
table_column: {
id: 'ID',
status: 'Status',
algorithm: 'Signierungsschlüssel Algorithmus',
},
status: {
current: 'Aktuell',
previous: 'Vorherige',
},
reminder: {
rotate_private_key:
'Sind Sie sicher, dass Sie die <strong>OIDC-Private Keys</strong> rotieren möchten? Neue ausgestellte JWT-Token werden vom neuen Schlüssel signiert. Bestehende JWT-Token bleiben gültig, bis Sie sie erneut rotieren.',
rotate_cookie_key:
'Sind Sie sicher, dass Sie die <strong>OIDC-Cookie-Keys</strong> rotieren möchten? Neue Cookies, die in Anmelde-Sitzungen generiert werden, werden mit dem neuen Cookie-Schlüssel signiert. Bestehende Cookies bleiben gültig, bis Sie sie erneut rotieren.',
delete_private_key:
'Sind Sie sicher, dass Sie den <strong>OIDC-Privaten Schlüssel</strong> löschen möchten? Bestehende JWT-Token, die mit diesem privaten Signierungsschlüssel signiert wurden, sind nicht mehr gültig.',
delete_cookie_key:
'Sind Sie sicher, dass Sie den <strong>OIDC-Cookie-Schlüssel</strong> löschen möchten? Ältere Anmelde-Sitzungen mit Cookies, die mit diesem Cookie-Schlüssel signiert wurden, sind nicht mehr gültig. Eine erneute Authentifizierung ist für diese Benutzer erforderlich.',
},
messages: {
rotate_key_success: 'Signierungsschlüssel erfolgreich rotieren.',
delete_key_success: 'Schlüssel erfolgreich gelöscht.',
},
},
};
export default Object.freeze(tenants);

View file

@ -30,6 +30,7 @@ import role_details from './role-details.js';
import roles from './roles.js';
import session_expired from './session-expired.js';
import sign_in_exp from './sign-in-exp/index.js';
import signing_keys from './signing-keys.js';
import subscription from './subscription/index.js';
import tab_sections from './tab-sections.js';
import tabs from './tabs.js';
@ -91,6 +92,7 @@ const admin_console = {
protected_app,
jwt_claims,
invitation,
signing_keys,
};
export default Object.freeze(admin_console);

View file

@ -0,0 +1,43 @@
const signing_keys = {
title: 'Signing keys',
description: 'Securely manage signing keys used by your applications.',
private_key: 'OIDC private keys',
private_keys_description: 'OIDC private keys are used for signing JWT tokens.',
cookie_key: 'OIDC cookie keys',
cookie_keys_description: 'OIDC cookie keys are used for signing cookies.',
private_keys_in_use: 'Private keys in use',
cookie_keys_in_use: 'Cookie keys in use',
rotate_private_keys: 'Rotate private keys',
rotate_cookie_keys: 'Rotate cookie keys',
rotate_private_keys_description:
'This action will create a new private signing key, rotate the current key, and remove your previous key. Your JWT tokens signed with the current key will remain valid until deletion or another round of rotation.',
rotate_cookie_keys_description:
'This action will create a new cookie key, rotate the current key, and remove your previous key. Your cookies with the current key will remain valid until deletion or another round of rotation.',
select_private_key_algorithm: 'Select signing key algorithm for the new private key',
rotate_button: 'Rotate',
table_column: {
id: 'ID',
status: 'Status',
algorithm: 'Signing key algorithm',
},
status: {
current: 'Current',
previous: 'Previous',
},
reminder: {
rotate_private_key:
'Are you sure you want to rotate the <strong>OIDC private keys</strong>? New issued JWT tokens will be signed by the new key. Existing JWT tokens stay valid until you rotate again.',
rotate_cookie_key:
'Are you sure you want to rotate the <strong>OIDC cookie keys</strong>? New cookies generated in sign-in sessions will be signed by the new cookie key. Existing cookies stay valid until you rotate again.',
delete_private_key:
'Are you sure you want to delete the <strong>OIDC private key</strong>? Existing JWT tokens signed with this private signing key will no longer be valid.',
delete_cookie_key:
'Are you sure you want to delete the <strong>OIDC cookie key</strong>? Older sign-in sessions with cookies signed with this cookie key will no longer be valid. A re-authentication is required for these users.',
},
messages: {
rotate_key_success: 'Signing keys rotated successfully.',
delete_key_success: 'Key deleted successfully.',
},
};
export default Object.freeze(signing_keys);

View file

@ -15,6 +15,7 @@ const tabs = {
tenant_settings: 'Settings',
mfa: 'Multi-factor auth',
jwt_customizer: 'JWT Claims',
signing_keys: 'Signing keys',
};
export default Object.freeze(tabs);

View file

@ -100,47 +100,6 @@ const tenants = {
description_2:
'If you require further clarification, have any concerns, or wish to restore full functionality and unblock your tenants, please do not hesitate to contact us immediately.',
},
signing_keys: {
title: 'SIGNING KEYS',
description: 'Securely manage signing keys in your tenant.',
type: {
private_key: 'OIDC private keys',
cookie_key: 'OIDC cookie keys',
},
private_keys_in_use: 'Private keys in use',
cookie_keys_in_use: 'Cookie keys in use',
rotate_private_keys: 'Rotate private keys',
rotate_cookie_keys: 'Rotate cookie keys',
rotate_private_keys_description:
'This action will create a new private signing key, rotate the current key, and remove your previous key. Your JWT tokens signed with the current key will remain valid until deletion or another round of rotation.',
rotate_cookie_keys_description:
'This action will create a new cookie key, rotate the current key, and remove your previous key. Your cookies with the current key will remain valid until deletion or another round of rotation.',
select_private_key_algorithm: 'Select signing key algorithm for the new private key',
rotate_button: 'Rotate',
table_column: {
id: 'ID',
status: 'Status',
algorithm: 'Signing key algorithm',
},
status: {
current: 'Current',
previous: 'Previous',
},
reminder: {
rotate_private_key:
'Are you sure you want to rotate the <strong>OIDC private keys</strong>? New issued JWT tokens will be signed by the new key. Existing JWT tokens stay valid until you rotate again.',
rotate_cookie_key:
'Are you sure you want to rotate the <strong>OIDC cookie keys</strong>? New cookies generated in sign-in sessions will be signed by the new cookie key. Existing cookies stay valid until you rotate again.',
delete_private_key:
'Are you sure you want to delete the <strong>OIDC private key</strong>? Existing JWT tokens signed with this private signing key will no longer be valid.',
delete_cookie_key:
'Are you sure you want to delete the <strong>OIDC cookie key</strong>? Older sign-in sessions with cookies signed with this cookie key will no longer be valid. A re-authentication is required for these users.',
},
messages: {
rotate_key_success: 'Signing keys rotated successfully.',
delete_key_success: 'Key deleted successfully.',
},
},
};
export default Object.freeze(tenants);

View file

@ -30,6 +30,7 @@ import role_details from './role-details.js';
import roles from './roles.js';
import session_expired from './session-expired.js';
import sign_in_exp from './sign-in-exp/index.js';
import signing_keys from './signing-keys.js';
import subscription from './subscription/index.js';
import tab_sections from './tab-sections.js';
import tabs from './tabs.js';
@ -91,6 +92,7 @@ const admin_console = {
protected_app,
jwt_claims,
invitation,
signing_keys,
};
export default Object.freeze(admin_console);

View file

@ -0,0 +1,43 @@
const signing_keys = {
title: 'Claves de firma',
description: 'Administre de forma segura las claves de firma utilizadas por sus aplicaciones.',
private_key: 'Claves privadas OIDC',
private_keys_description: 'Las claves privadas OIDC se utilizan para firmar tokens JWT.',
cookie_key: 'Claves de cookies OIDC',
cookie_keys_description: 'Las claves de cookies OIDC se utilizan para firmar cookies.',
private_keys_in_use: 'Claves privadas en uso',
cookie_keys_in_use: 'Claves de cookies en uso',
rotate_private_keys: 'Rotar claves privadas',
rotate_cookie_keys: 'Rotar claves de cookies',
rotate_private_keys_description:
'Esta acción creará una nueva clave de firma privada, rotará la clave actual y eliminará su clave anterior. Sus tokens JWT firmados con la clave actual seguirán siendo válidos hasta su eliminación o otra rotación.',
rotate_cookie_keys_description:
'Esta acción creará una nueva clave de cookie, rotará la clave actual y eliminará su clave anterior. Sus cookies con la clave actual seguirán siendo válidos hasta su eliminación o otra rotación.',
select_private_key_algorithm: 'Seleccione el algoritmo de firma de la nueva clave privada',
rotate_button: 'Rotar',
table_column: {
id: 'ID',
status: 'Estado',
algorithm: 'Algoritmo de clave de firma',
},
status: {
current: 'Actual',
previous: 'Anterior',
},
reminder: {
rotate_private_key:
'¿Estás seguro de que deseas rotar las <strong>claves privadas OIDC</strong>? Los nuevos tokens JWT emitidos serán firmados por la nueva clave. Los tokens JWT existentes seguirán siendo válidos hasta que los vuelvas a rotar.',
rotate_cookie_key:
'¿Estás seguro de que deseas rotar las <strong>claves de cookies OIDC</strong>? Las nuevas cookies generadas en sesiones de inicio de sesión serán firmadas por la nueva clave de cookie. Las cookies existentes seguirán siendo válidas hasta que las vuelvas a rotar.',
delete_private_key:
'¿Estás seguro de que deseas eliminar la <strong>clave privada OIDC</strong>? Los tokens JWT existentes firmados con esta clave de firma privada ya no serán válidos.',
delete_cookie_key:
'¿Estás seguro de que deseas eliminar la <strong>clave de cookies OIDC</strong>? Las sesiones de inicio de sesión antiguas con cookies firmadas con esta clave de cookie ya no serán válidas. Se requiere una reautenticación para estos usuarios.',
},
messages: {
rotate_key_success: 'Claves de firma rotadas con éxito.',
delete_key_success: 'Clave eliminada con éxito.',
},
};
export default Object.freeze(signing_keys);

View file

@ -16,6 +16,7 @@ const tabs = {
mfa: 'Autenticación multifactor',
/** UNTRANSLATED */
jwt_customizer: 'JWT Claims',
signing_keys: 'Claves de firma',
};
export default Object.freeze(tabs);

View file

@ -111,47 +111,6 @@ const tenants = {
description_2:
'Si necesita aclaraciones adicionales, tiene alguna inquietud o desea restaurar la funcionalidad completa y desbloquear sus inquilinos, no dude en contactarnos de inmediato.',
},
signing_keys: {
title: 'CLAVES DE FIRMA',
description: 'Administre de forma segura las claves de firma en su inquilino.',
type: {
private_key: 'Claves privadas OIDC',
cookie_key: 'Claves de cookies OIDC',
},
private_keys_in_use: 'Claves privadas en uso',
cookie_keys_in_use: 'Claves de cookies en uso',
rotate_private_keys: 'Rotar claves privadas',
rotate_cookie_keys: 'Rotar claves de cookies',
rotate_private_keys_description:
'Esta acción creará una nueva clave de firma privada, rotará la clave actual y eliminará su clave anterior. Sus tokens JWT firmados con la clave actual seguirán siendo válidos hasta su eliminación o otra rotación.',
rotate_cookie_keys_description:
'Esta acción creará una nueva clave de cookie, rotará la clave actual y eliminará su clave anterior. Sus cookies con la clave actual seguirán siendo válidos hasta su eliminación o otra rotación.',
select_private_key_algorithm: 'Seleccione el algoritmo de firma de la nueva clave privada',
rotate_button: 'Rotar',
table_column: {
id: 'ID',
status: 'Estado',
algorithm: 'Algoritmo de clave de firma',
},
status: {
current: 'Actual',
previous: 'Anterior',
},
reminder: {
rotate_private_key:
'¿Estás seguro de que deseas rotar las <strong>claves privadas OIDC</strong>? Los nuevos tokens JWT emitidos serán firmados por la nueva clave. Los tokens JWT existentes seguirán siendo válidos hasta que los vuelvas a rotar.',
rotate_cookie_key:
'¿Estás seguro de que deseas rotar las <strong>claves de cookies OIDC</strong>? Las nuevas cookies generadas en sesiones de inicio de sesión serán firmadas por la nueva clave de cookie. Las cookies existentes seguirán siendo válidas hasta que las vuelvas a rotar.',
delete_private_key:
'¿Estás seguro de que deseas eliminar la <strong>clave privada OIDC</strong>? Los tokens JWT existentes firmados con esta clave de firma privada ya no serán válidos.',
delete_cookie_key:
'¿Estás seguro de que deseas eliminar la <strong>clave de cookies OIDC</strong>? Las sesiones de inicio de sesión antiguas con cookies firmadas con esta clave de cookie ya no serán válidas. Se requiere una reautenticación para estos usuarios.',
},
messages: {
rotate_key_success: 'Claves de firma rotadas con éxito.',
delete_key_success: 'Clave eliminada con éxito.',
},
},
};
export default Object.freeze(tenants);

View file

@ -30,6 +30,7 @@ import role_details from './role-details.js';
import roles from './roles.js';
import session_expired from './session-expired.js';
import sign_in_exp from './sign-in-exp/index.js';
import signing_keys from './signing-keys.js';
import subscription from './subscription/index.js';
import tab_sections from './tab-sections.js';
import tabs from './tabs.js';
@ -91,6 +92,7 @@ const admin_console = {
protected_app,
jwt_claims,
invitation,
signing_keys,
};
export default Object.freeze(admin_console);

View file

@ -0,0 +1,44 @@
const signing_keys = {
title: 'Clés de signature',
description: 'Gérez de manière sécurisée les clés de signature utilisées par vos applications.',
private_key: 'Clés privées OIDC',
private_keys_description: 'Les clés privées OIDC sont utilisées pour signer les jetons JWT.',
cookie_key: 'Clés de cookies OIDC',
cookie_keys_description: 'Les clés de cookies OIDC sont utilisées pour signer les cookies.',
private_keys_in_use: "Clés privées en cours d'utilisation",
cookie_keys_in_use: "Clés de cookies en cours d'utilisation",
rotate_private_keys: 'Faire tourner les clés privées',
rotate_cookie_keys: 'Faire tourner les clés de cookies',
rotate_private_keys_description:
"Cette action créera une nouvelle clé de signature privée, fera tourner la clé actuelle et supprimera votre clé précédente. Vos jetons JWT signés avec la clé actuelle resteront valides jusqu'à leur suppression ou une nouvelle rotation.",
rotate_cookie_keys_description:
"Cette action créera une nouvelle clé de cookie, fera tourner la clé actuelle et supprimera votre clé précédente. Vos cookies avec la clé actuelle resteront valides jusqu'à leur suppression ou une nouvelle rotation.",
select_private_key_algorithm:
"Sélectionnez l'algorithme de clé de signature pour la nouvelle clé privée",
rotate_button: 'Faire tourner',
table_column: {
id: 'ID',
status: 'Statut',
algorithm: 'Algorithme de clé de signature',
},
status: {
current: 'Actuel',
previous: 'Précédent',
},
reminder: {
rotate_private_key:
"Êtes-vous sûr de vouloir faire tourner les <strong>clés privées OIDC</strong>? Les nouveaux jetons JWT émis seront signés par la nouvelle clé. Les jetons JWT existants resteront valides jusqu'à votre prochaine rotation.",
rotate_cookie_key:
"Êtes-vous sûr de vouloir faire tourner les <strong>clés de cookies OIDC</strong>? Les nouveaux cookies générés dans les sessions de connexion seront signés par la nouvelle clé de cookie. Les cookies existants resteront valides jusqu'à votre prochaine rotation.",
delete_private_key:
'Êtes-vous sûr de vouloir supprimer la <strong>clé privée OIDC</strong>? Les jetons JWT existants signés avec cette clé de signature privée ne seront plus valides.',
delete_cookie_key:
'Êtes-vous sûr de vouloir supprimer la <strong>clé de cookie OIDC</strong>? Les anciennes sessions de connexion avec des cookies signés avec cette clé de cookie ne seront plus valides. Une ré-authentification est requise pour ces utilisateurs.',
},
messages: {
rotate_key_success: 'Rotation des clés de signature effectuée avec succès.',
delete_key_success: 'Clé supprimée avec succès.',
},
};
export default Object.freeze(signing_keys);

View file

@ -16,6 +16,7 @@ const tabs = {
mfa: 'Authentification multi-facteur',
/** UNTRANSLATED */
jwt_customizer: 'JWT Claims',
signing_keys: 'Clés de signature',
};
export default Object.freeze(tabs);

View file

@ -112,48 +112,6 @@ const tenants = {
description_2:
"Si vous avez besoin de clarifications supplémentaires, si vous avez des préoccupations ou si vous souhaitez restaurer la fonctionnalité complète et débloquer vos locataires, n'hésitez pas à nous contacter immédiatement.",
},
signing_keys: {
title: 'CLÉS DE SIGNATURE',
description: 'Gérez en toute sécurité les clés de signature dans votre locataire.',
type: {
private_key: 'Clés privées OIDC',
cookie_key: 'Clés de cookies OIDC',
},
private_keys_in_use: "Clés privées en cours d'utilisation",
cookie_keys_in_use: "Clés de cookies en cours d'utilisation",
rotate_private_keys: 'Faire tourner les clés privées',
rotate_cookie_keys: 'Faire tourner les clés de cookies',
rotate_private_keys_description:
"Cette action créera une nouvelle clé de signature privée, fera tourner la clé actuelle et supprimera votre clé précédente. Vos jetons JWT signés avec la clé actuelle resteront valides jusqu'à leur suppression ou une nouvelle rotation.",
rotate_cookie_keys_description:
"Cette action créera une nouvelle clé de cookie, fera tourner la clé actuelle et supprimera votre clé précédente. Vos cookies avec la clé actuelle resteront valides jusqu'à leur suppression ou une nouvelle rotation.",
select_private_key_algorithm:
"Sélectionnez l'algorithme de clé de signature pour la nouvelle clé privée",
rotate_button: 'Faire tourner',
table_column: {
id: 'ID',
status: 'Statut',
algorithm: 'Algorithme de clé de signature',
},
status: {
current: 'Actuel',
previous: 'Précédent',
},
reminder: {
rotate_private_key:
"Êtes-vous sûr de vouloir faire tourner les <strong>clés privées OIDC</strong>? Les nouveaux jetons JWT émis seront signés par la nouvelle clé. Les jetons JWT existants resteront valides jusqu'à votre prochaine rotation.",
rotate_cookie_key:
"Êtes-vous sûr de vouloir faire tourner les <strong>clés de cookies OIDC</strong>? Les nouveaux cookies générés dans les sessions de connexion seront signés par la nouvelle clé de cookie. Les cookies existants resteront valides jusqu'à votre prochaine rotation.",
delete_private_key:
'Êtes-vous sûr de vouloir supprimer la <strong>clé privée OIDC</strong>? Les jetons JWT existants signés avec cette clé de signature privée ne seront plus valides.',
delete_cookie_key:
'Êtes-vous sûr de vouloir supprimer la <strong>clé de cookie OIDC</strong>? Les anciennes sessions de connexion avec des cookies signés avec cette clé de cookie ne seront plus valides. Une ré-authentification est requise pour ces utilisateurs.',
},
messages: {
rotate_key_success: 'Rotation des clés de signature effectuée avec succès.',
delete_key_success: 'Clé supprimée avec succès.',
},
},
};
export default Object.freeze(tenants);

View file

@ -30,6 +30,7 @@ import role_details from './role-details.js';
import roles from './roles.js';
import session_expired from './session-expired.js';
import sign_in_exp from './sign-in-exp/index.js';
import signing_keys from './signing-keys.js';
import subscription from './subscription/index.js';
import tab_sections from './tab-sections.js';
import tabs from './tabs.js';
@ -91,6 +92,7 @@ const admin_console = {
protected_app,
jwt_claims,
invitation,
signing_keys,
};
export default Object.freeze(admin_console);

View file

@ -0,0 +1,43 @@
const signing_keys = {
title: 'Chiavi di firma',
description: 'Gestisci in modo sicuro le chiavi di firma utilizzate dalle tue applicazioni.',
private_key: 'Chiavi private OIDC',
private_keys_description: 'Le chiavi private OIDC vengono utilizzate per firmare i token JWT.',
cookie_key: 'Chiavi dei cookie OIDC',
cookie_keys_description: 'Le chiavi dei cookie OIDC vengono utilizzate per firmare i cookie.',
private_keys_in_use: 'Chiavi private in uso',
cookie_keys_in_use: 'Chiavi dei cookie in uso',
rotate_private_keys: 'Ruota le chiavi private',
rotate_cookie_keys: 'Ruota le chiavi dei cookie',
rotate_private_keys_description:
'Questa azione creerà una nuova chiave di firma privata, ruoterà la chiave attuale e rimuoverà la chiave precedente. I tuoi token JWT firmati con la chiave attuale rimarranno validi fino alla cancellazione o a un altro ciclo di rotazione.',
rotate_cookie_keys_description:
'Questa azione creerà una nuova chiave dei cookie, ruoterà la chiave attuale e rimuoverà la chiave precedente. I tuoi cookie con la chiave attuale rimarranno validi fino alla cancellazione o a un altro ciclo di rotazione.',
select_private_key_algorithm: "Seleziona l'algoritmo di firma per la nuova chiave privata",
rotate_button: 'Ruota',
table_column: {
id: 'ID',
status: 'Stato',
algorithm: 'Algoritmo di firma della chiave',
},
status: {
current: 'Attuale',
previous: 'Precedente',
},
reminder: {
rotate_private_key:
'Sei sicuro di voler ruotare le <strong>chiavi private OIDC</strong>? I nuovi token JWT emessi saranno firmati dalla nuova chiave. I token JWT esistenti rimarranno validi finché non ruoti nuovamente.',
rotate_cookie_key:
'Sei sicuro di voler ruotare le <strong>chiavi dei cookie OIDC</strong>? I nuovi cookie generati nelle sessioni di accesso saranno firmati dalla nuova chiave dei cookie. I cookie esistenti rimarranno validi finché non ruoti nuovamente.',
delete_private_key:
'Sei sicuro di voler eliminare la <strong>chiave privata OIDC</strong>? I token JWT esistenti firmati con questa chiave privata non saranno più validi.',
delete_cookie_key:
'Sei sicuro di voler eliminare la <strong>chiave dei cookie OIDC</strong>? Le sessioni di accesso precedenti con i cookie firmati con questa chiave dei cookie non saranno più valide. È richiesta una nuova autenticazione per questi utenti.',
},
messages: {
rotate_key_success: 'Chiavi di firma ruotate con successo.',
delete_key_success: 'Chiave eliminata con successo.',
},
};
export default Object.freeze(signing_keys);

View file

@ -16,6 +16,7 @@ const tabs = {
mfa: 'Autenticazione multi-fattore',
/** UNTRANSLATED */
jwt_customizer: 'JWT Claims',
signing_keys: 'Chiavi di firma',
};
export default Object.freeze(tabs);

View file

@ -113,47 +113,6 @@ const tenants = {
description_2:
'Se necessiti ulteriori chiarimenti, hai qualche preoccupazione o desideri ripristinare la funzionalità completa e sbloccare i tuoi inquilini, ti preghiamo di contattarci immediatamente.',
},
signing_keys: {
title: 'CHIAVI DI FIRMA',
description: 'Gestisci in modo sicuro le chiavi di firma nel tuo inquilino.',
type: {
private_key: 'Chiavi private OIDC',
cookie_key: 'Chiavi dei cookie OIDC',
},
private_keys_in_use: 'Chiavi private in uso',
cookie_keys_in_use: 'Chiavi dei cookie in uso',
rotate_private_keys: 'Ruota le chiavi private',
rotate_cookie_keys: 'Ruota le chiavi dei cookie',
rotate_private_keys_description:
'Questa azione creerà una nuova chiave di firma privata, ruoterà la chiave attuale e rimuoverà la chiave precedente. I tuoi token JWT firmati con la chiave attuale rimarranno validi fino alla cancellazione o a un altro ciclo di rotazione.',
rotate_cookie_keys_description:
'Questa azione creerà una nuova chiave dei cookie, ruoterà la chiave attuale e rimuoverà la chiave precedente. I tuoi cookie con la chiave attuale rimarranno validi fino alla cancellazione o a un altro ciclo di rotazione.',
select_private_key_algorithm: "Seleziona l'algoritmo di firma per la nuova chiave privata",
rotate_button: 'Ruota',
table_column: {
id: 'ID',
status: 'Stato',
algorithm: 'Algoritmo di firma della chiave',
},
status: {
current: 'Attuale',
previous: 'Precedente',
},
reminder: {
rotate_private_key:
'Sei sicuro di voler ruotare le <strong>chiavi private OIDC</strong>? I nuovi token JWT emessi saranno firmati dalla nuova chiave. I token JWT esistenti rimarranno validi finché non ruoti nuovamente.',
rotate_cookie_key:
'Sei sicuro di voler ruotare le <strong>chiavi dei cookie OIDC</strong>? I nuovi cookie generati nelle sessioni di accesso saranno firmati dalla nuova chiave dei cookie. I cookie esistenti rimarranno validi finché non ruoti nuovamente.',
delete_private_key:
'Sei sicuro di voler eliminare la <strong>chiave privata OIDC</strong>? I token JWT esistenti firmati con questa chiave privata non saranno più validi.',
delete_cookie_key:
'Sei sicuro di voler eliminare la <strong>chiave dei cookie OIDC</strong>? Le sessioni di accesso precedenti con i cookie firmati con questa chiave dei cookie non saranno più valide. È richiesta una nuova autenticazione per questi utenti.',
},
messages: {
rotate_key_success: 'Chiavi di firma ruotate con successo.',
delete_key_success: 'Chiave eliminata con successo.',
},
},
};
export default Object.freeze(tenants);

View file

@ -30,6 +30,7 @@ import role_details from './role-details.js';
import roles from './roles.js';
import session_expired from './session-expired.js';
import sign_in_exp from './sign-in-exp/index.js';
import signing_keys from './signing-keys.js';
import subscription from './subscription/index.js';
import tab_sections from './tab-sections.js';
import tabs from './tabs.js';
@ -91,6 +92,7 @@ const admin_console = {
protected_app,
jwt_claims,
invitation,
signing_keys,
};
export default Object.freeze(admin_console);

View file

@ -0,0 +1,43 @@
const signing_keys = {
title: '署名キー',
description: 'アプリケーションで使用される署名キーを安全に管理します。',
private_key: 'OIDCプライベートキー',
private_keys_description: 'OIDCプライベートキーはJWTトークンの署名に使用されます。',
cookie_key: 'OIDCクッキーキー',
cookie_keys_description: 'OIDCクッキーキーはクッキーの署名に使用されます。',
private_keys_in_use: '使用中のプライベートキー',
cookie_keys_in_use: '使用中のCookieキー',
rotate_private_keys: 'プライベートキーを回転させる',
rotate_cookie_keys: 'Cookieキーを回転させる',
rotate_private_keys_description:
'このアクションは新しいプライベート署名キーを作成し、現在のキーを回転させ、前のキーを削除します。現在のキーで署名されたJWTトークンは、削除または別の回転まで有効です。',
rotate_cookie_keys_description:
'このアクションは新しいCookieキーを作成し、現在のキーを回転させ、前のキーを削除します。現在のキーで生成されたCookieは、削除または別の回転まで有効です。',
select_private_key_algorithm: '新しいプライベートキーの署名キーアルゴリズムを選択',
rotate_button: '回転',
table_column: {
id: 'ID',
status: 'ステータス',
algorithm: '署名キーアルゴリズム',
},
status: {
current: '現在の',
previous: '以前の',
},
reminder: {
rotate_private_key:
'OIDCプライベートキー</strong>を回転させますか新しい発行されたJWTトークンは新しいキーで署名されます。既存のJWTトークンは、再度回転するまで有効です。',
rotate_cookie_key:
'OIDC Cookieキー</strong>を回転させますか新しいCookieで署名されたサインインセッションのCookieが新しいCookieキーで生成されます。既存のCookieは、再度回転するまで有効です。',
delete_private_key:
'OIDCプライベートキー</strong>を削除しますかこのプライベート署名キーで署名された既存のJWTトークンはもはや有効ではありません。',
delete_cookie_key:
'OIDC Cookieキー</strong>を削除しますかこのCookieキーで署名された古いサインインセッションのCookieはもはや有効ではありません。これらのユーザーには再認証が必要です。',
},
messages: {
rotate_key_success: '署名キーが正常に回転されました。',
delete_key_success: 'キーが正常に削除されました。',
},
};
export default Object.freeze(signing_keys);

View file

@ -16,6 +16,7 @@ const tabs = {
mfa: 'Multi-factor auth',
/** UNTRANSLATED */
jwt_customizer: 'JWT Claims',
signing_keys: '署名キー',
};
export default Object.freeze(tabs);

View file

@ -108,47 +108,6 @@ const tenants = {
description_2:
'詳細な説明や懸念事項がある場合、または機能を完全に復元しテナントをアンブロックする場合は、直ちにお問い合わせください。',
},
signing_keys: {
title: 'SIGNING KEYS',
description: 'テナント内で署名キーを安全に管理します。',
type: {
private_key: 'OIDCプライベートキー',
cookie_key: 'OIDC Cookieキー',
},
private_keys_in_use: '使用中のプライベートキー',
cookie_keys_in_use: '使用中のCookieキー',
rotate_private_keys: 'プライベートキーを回転させる',
rotate_cookie_keys: 'Cookieキーを回転させる',
rotate_private_keys_description:
'このアクションは新しいプライベート署名キーを作成し、現在のキーを回転させ、前のキーを削除します。現在のキーで署名されたJWTトークンは、削除または別の回転まで有効です。',
rotate_cookie_keys_description:
'このアクションは新しいCookieキーを作成し、現在のキーを回転させ、前のキーを削除します。現在のキーで生成されたCookieは、削除または別の回転まで有効です。',
select_private_key_algorithm: '新しいプライベートキーの署名キーアルゴリズムを選択',
rotate_button: '回転',
table_column: {
id: 'ID',
status: 'ステータス',
algorithm: '署名キーアルゴリズム',
},
status: {
current: '現在の',
previous: '以前の',
},
reminder: {
rotate_private_key:
'OIDCプライベートキー</strong>を回転させますか新しい発行されたJWTトークンは新しいキーで署名されます。既存のJWTトークンは、再度回転するまで有効です。',
rotate_cookie_key:
'OIDC Cookieキー</strong>を回転させますか新しいCookieで署名されたサインインセッションのCookieが新しいCookieキーで生成されます。既存のCookieは、再度回転するまで有効です。',
delete_private_key:
'OIDCプライベートキー</strong>を削除しますかこのプライベート署名キーで署名された既存のJWTトークンはもはや有効ではありません。',
delete_cookie_key:
'OIDC Cookieキー</strong>を削除しますかこのCookieキーで署名された古いサインインセッションのCookieはもはや有効ではありません。これらのユーザーには再認証が必要です。',
},
messages: {
rotate_key_success: '署名キーが正常に回転されました。',
delete_key_success: 'キーが正常に削除されました。',
},
},
};
export default Object.freeze(tenants);

View file

@ -30,6 +30,7 @@ import role_details from './role-details.js';
import roles from './roles.js';
import session_expired from './session-expired.js';
import sign_in_exp from './sign-in-exp/index.js';
import signing_keys from './signing-keys.js';
import subscription from './subscription/index.js';
import tab_sections from './tab-sections.js';
import tabs from './tabs.js';
@ -91,6 +92,7 @@ const admin_console = {
protected_app,
jwt_claims,
invitation,
signing_keys,
};
export default Object.freeze(admin_console);

View file

@ -0,0 +1,43 @@
const signing_keys = {
title: '서명 키',
description: '애플리케이션에서 사용되는 서명 키를 안전하게 관리합니다.',
private_key: 'OIDC 개인 키',
private_keys_description: 'OIDC 개인 키는 JWT 토큰을 서명하는 데 사용됩니다.',
cookie_key: 'OIDC 쿠키 키',
cookie_keys_description: 'OIDC 쿠키 키는 쿠키를 서명하는 데 사용됩니다.',
private_keys_in_use: '사용 중인 개인 키',
cookie_keys_in_use: '사용 중인 쿠키 키',
rotate_private_keys: '개인 키 회전',
rotate_cookie_keys: '쿠키 키 회전',
rotate_private_keys_description:
'이 작업은 새로운 개인 서명 키를 생성하고 현재 키를 회전시키고 이전 키를 삭제합니다. 현재 키로 서명 된 JWT 토큰은 삭제하거나 다른 회전할 때까지 유효합니다.',
rotate_cookie_keys_description:
'이 작업은 새 쿠키 키를 생성하고 현재 키를 회전하며 이전 키를 삭제합니다. 현재 키로 서명 된 쿠키는 삭제하거나 다른 회전할 때까지 유효합니다.',
select_private_key_algorithm: '새 개인 키의 서명 키 알고리즘 선택',
rotate_button: '회전',
table_column: {
id: 'ID',
status: '상태',
algorithm: '서명 키 알고리즘',
},
status: {
current: '현재',
previous: '이전',
},
reminder: {
rotate_private_key:
'정말 <strong>OIDC 개인 키</strong>를 회전하시겠습니까? 새로 발급 된 JWT 토큰은 새 키로 서명됩니다. 기존 JWT 토큰은 회전할 때까지 유효합니다.',
rotate_cookie_key:
'정말 <strong>OIDC 쿠키 키</strong>를 회전하시겠습니까? 로그인 세션에서 생성 된 새로운 쿠키는 새 쿠키 키로 서명됩니다. 기존 쿠키는 회전할 때까지 유효합니다.',
delete_private_key:
'정말 <strong>OIDC 개인 키</strong>를 삭제하시겠습니까? 이전에 개인 서명 키로 서명 된 기존 JWT 토큰은 더 이상 유효하지 않게 됩니다.',
delete_cookie_key:
'정말 <strong>OIDC 쿠키 키</strong>를 삭제하시겠습니까? 이전에 이 쿠키 키로 서명 된 로그인 세션은 더 이상 유효하지 않게 될 것입니다. 이 사용자들에게는 다시 인증이 필요합니다.',
},
messages: {
rotate_key_success: '서명 키가 성공적으로 회전되었습니다.',
delete_key_success: '키가 성공적으로 삭제되었습니다.',
},
};
export default Object.freeze(signing_keys);

View file

@ -16,6 +16,7 @@ const tabs = {
mfa: '다중 요소 인증',
/** UNTRANSLATED */
jwt_customizer: 'JWT Claims',
signing_keys: '서명 키',
};
export default Object.freeze(tabs);

View file

@ -107,47 +107,6 @@ const tenants = {
description_2:
'자세한 설명이 필요한 경우, 우려 사항이 있거나 기능을 완전히 복원하고 테넌트를 차단 해제하려면 바로 연락 주시기 바랍니다.',
},
signing_keys: {
title: '서명 키',
description: '테넌트 내의 서명 키를 안전하게 관리합니다.',
type: {
private_key: 'OIDC 개인 키',
cookie_key: 'OIDC 쿠키 키',
},
private_keys_in_use: '사용 중인 개인 키',
cookie_keys_in_use: '사용 중인 쿠키 키',
rotate_private_keys: '개인 키 회전',
rotate_cookie_keys: '쿠키 키 회전',
rotate_private_keys_description:
'이 작업은 새로운 개인 서명 키를 생성하고 현재 키를 회전시키고 이전 키를 삭제합니다. 현재 키로 서명 된 JWT 토큰은 삭제하거나 다른 회전할 때까지 유효합니다.',
rotate_cookie_keys_description:
'이 작업은 새 쿠키 키를 생성하고 현재 키를 회전하며 이전 키를 삭제합니다. 현재 키로 서명 된 쿠키는 삭제하거나 다른 회전할 때까지 유효합니다.',
select_private_key_algorithm: '새 개인 키의 서명 키 알고리즘 선택',
rotate_button: '회전',
table_column: {
id: 'ID',
status: '상태',
algorithm: '서명 키 알고리즘',
},
status: {
current: '현재',
previous: '이전',
},
reminder: {
rotate_private_key:
'정말 <strong>OIDC 개인 키</strong>를 회전하시겠습니까? 새로 발급 된 JWT 토큰은 새 키로 서명됩니다. 기존 JWT 토큰은 회전할 때까지 유효합니다.',
rotate_cookie_key:
'정말 <strong>OIDC 쿠키 키</strong>를 회전하시겠습니까? 로그인 세션에서 생성 된 새로운 쿠키는 새 쿠키 키로 서명됩니다. 기존 쿠키는 회전할 때까지 유효합니다.',
delete_private_key:
'정말 <strong>OIDC 개인 키</strong>를 삭제하시겠습니까? 이전에 개인 서명 키로 서명 된 기존 JWT 토큰은 더 이상 유효하지 않게 됩니다.',
delete_cookie_key:
'정말 <strong>OIDC 쿠키 키</strong>를 삭제하시겠습니까? 이전에 이 쿠키 키로 서명 된 로그인 세션은 더 이상 유효하지 않게 될 것입니다. 이 사용자들에게는 다시 인증이 필요합니다.',
},
messages: {
rotate_key_success: '서명 키가 성공적으로 회전되었습니다.',
delete_key_success: '키가 성공적으로 삭제되었습니다.',
},
},
};
export default Object.freeze(tenants);

View file

@ -30,6 +30,7 @@ import role_details from './role-details.js';
import roles from './roles.js';
import session_expired from './session-expired.js';
import sign_in_exp from './sign-in-exp/index.js';
import signing_keys from './signing-keys.js';
import subscription from './subscription/index.js';
import tab_sections from './tab-sections.js';
import tabs from './tabs.js';
@ -91,6 +92,7 @@ const admin_console = {
protected_app,
jwt_claims,
invitation,
signing_keys,
};
export default Object.freeze(admin_console);

View file

@ -0,0 +1,43 @@
const signing_keys = {
title: 'Klucze podpisu',
description: 'Bezpiecznie zarządzaj kluczami podpisów używanymi przez twoje aplikacje.',
private_key: 'Prywatne klucze OIDC',
private_keys_description: 'Prywatne klucze OIDC są używane do podpisywania tokenów JWT.',
cookie_key: 'Klucze cookie OIDC',
cookie_keys_description: 'Klucze cookie OIDC są używane do podpisywania plików cookie.',
private_keys_in_use: 'Używane klucze prywatne',
cookie_keys_in_use: 'Używane klucze ciasteczek',
rotate_private_keys: 'Obróć klucze prywatne',
rotate_cookie_keys: 'Obróć klucze ciasteczek',
rotate_private_keys_description:
'Ta akcja spowoduje utworzenie nowego klucza prywatnego do podpisywania, obrócenie bieżącego klucza i usunięcie poprzedniego klucza. Twoje tokeny JWT podpisane aktualnym kluczem pozostaną ważne do czasu usunięcia lub kolejnego obrotu.',
rotate_cookie_keys_description:
'Ta akcja spowoduje utworzenie nowego klucza ciasteczka, obrócenie bieżącego klucza i usunięcie poprzedniego klucza. Twoje ciasteczka z aktualnym kluczem pozostaną ważne do czasu usunięcia lub kolejnego obrotu.',
select_private_key_algorithm: 'Wybierz algorytm podpisywania klucza dla nowego klucza prywatnego',
rotate_button: 'Obróć',
table_column: {
id: 'ID',
status: 'Status',
algorithm: 'Algorytm podpisywania klucza',
},
status: {
current: 'Bieżący',
previous: 'Poprzedni',
},
reminder: {
rotate_private_key:
'Czy na pewno chcesz obrócić <strong>Klucze prywatne OIDC</strong>? Nowo wydane tokeny JWT będą podpisywane nowym kluczem. Istniejące tokeny JWT pozostają ważne do czasu ponownego obrotu.',
rotate_cookie_key:
'Czy na pewno chcesz obrócić <strong>Klucze ciasteczek OIDC</strong>? Nowo generowane ciasteczka w sesjach logowania będą podpisywane nowym kluczem ciasteczka. Istniejące ciasteczka pozostają ważne do czasu ponownego obrotu.',
delete_private_key:
'Czy na pewno chcesz usunąć <strong>Klucz prywatny OIDC</strong>? Istniejące tokeny JWT podpisane tym kluczem prywatnym przestaną być ważne.',
delete_cookie_key:
'Czy na pewno chcesz usunąć <strong>Klucz ciasteczka OIDC</strong>? Starsze sesje logowania z ciasteczkami podpisanymi tym kluczem ciasteczka przestaną być ważne. Wymagane będzie ponowne uwierzytelnienie tych użytkowników.',
},
messages: {
rotate_key_success: 'Klucze podpisu obrócone pomyślnie.',
delete_key_success: 'Klucz usunięty pomyślnie.',
},
};
export default Object.freeze(signing_keys);

View file

@ -16,6 +16,7 @@ const tabs = {
mfa: 'Multi-factor auth',
/** UNTRANSLATED */
jwt_customizer: 'JWT Claims',
signing_keys: 'Klucze do podpisu',
};
export default Object.freeze(tabs);

View file

@ -112,48 +112,6 @@ const tenants = {
description_2:
'Jeśli potrzebujesz dalszych wyjaśnień, masz jakiekolwiek obawy lub chcesz przywrócić pełną funkcjonalność i odblokować swoje najemce, nie wahaj się skontaktować z nami natychmiast.',
},
signing_keys: {
title: 'ZARZĄDZANIE KLUCZAMI PODPISUJĄCYMI',
description: 'Bezpieczne zarządzanie kluczami podpisującymi w Twoim najemcy.',
type: {
private_key: 'Klucze prywatne OIDC',
cookie_key: 'Klucze ciasteczek OIDC',
},
private_keys_in_use: 'Używane klucze prywatne',
cookie_keys_in_use: 'Używane klucze ciasteczek',
rotate_private_keys: 'Obróć klucze prywatne',
rotate_cookie_keys: 'Obróć klucze ciasteczek',
rotate_private_keys_description:
'Ta akcja spowoduje utworzenie nowego klucza prywatnego do podpisywania, obrócenie bieżącego klucza i usunięcie poprzedniego klucza. Twoje tokeny JWT podpisane aktualnym kluczem pozostaną ważne do czasu usunięcia lub kolejnego obrotu.',
rotate_cookie_keys_description:
'Ta akcja spowoduje utworzenie nowego klucza ciasteczka, obrócenie bieżącego klucza i usunięcie poprzedniego klucza. Twoje ciasteczka z aktualnym kluczem pozostaną ważne do czasu usunięcia lub kolejnego obrotu.',
select_private_key_algorithm:
'Wybierz algorytm podpisywania klucza dla nowego klucza prywatnego',
rotate_button: 'Obróć',
table_column: {
id: 'ID',
status: 'Status',
algorithm: 'Algorytm podpisywania klucza',
},
status: {
current: 'Bieżący',
previous: 'Poprzedni',
},
reminder: {
rotate_private_key:
'Czy na pewno chcesz obrócić <strong>Klucze prywatne OIDC</strong>? Nowo wydane tokeny JWT będą podpisywane nowym kluczem. Istniejące tokeny JWT pozostają ważne do czasu ponownego obrotu.',
rotate_cookie_key:
'Czy na pewno chcesz obrócić <strong>Klucze ciasteczek OIDC</strong>? Nowo generowane ciasteczka w sesjach logowania będą podpisywane nowym kluczem ciasteczka. Istniejące ciasteczka pozostają ważne do czasu ponownego obrotu.',
delete_private_key:
'Czy na pewno chcesz usunąć <strong>Klucz prywatny OIDC</strong>? Istniejące tokeny JWT podpisane tym kluczem prywatnym przestaną być ważne.',
delete_cookie_key:
'Czy na pewno chcesz usunąć <strong>Klucz ciasteczka OIDC</strong>? Starsze sesje logowania z ciasteczkami podpisanymi tym kluczem ciasteczka przestaną być ważne. Wymagane będzie ponowne uwierzytelnienie tych użytkowników.',
},
messages: {
rotate_key_success: 'Klucze podpisu obrócone pomyślnie.',
delete_key_success: 'Klucz usunięty pomyślnie.',
},
},
};
export default Object.freeze(tenants);

View file

@ -30,6 +30,7 @@ import role_details from './role-details.js';
import roles from './roles.js';
import session_expired from './session-expired.js';
import sign_in_exp from './sign-in-exp/index.js';
import signing_keys from './signing-keys.js';
import subscription from './subscription/index.js';
import tab_sections from './tab-sections.js';
import tabs from './tabs.js';
@ -91,6 +92,7 @@ const admin_console = {
protected_app,
jwt_claims,
invitation,
signing_keys,
};
export default Object.freeze(admin_console);

View file

@ -0,0 +1,43 @@
const signing_keys = {
title: 'Chaves de assinatura',
description: 'Gerencie com segurança as chaves de assinatura usadas por suas aplicações.',
private_key: 'Chaves privadas OIDC',
private_keys_description: 'As chaves privadas OIDC são usadas para assinar tokens JWT.',
cookie_key: 'Chaves de cookie OIDC',
cookie_keys_description: 'As chaves de cookie OIDC são usadas para assinar cookies.',
private_keys_in_use: 'Chaves privadas em uso',
cookie_keys_in_use: 'Chaves de cookie em uso',
rotate_private_keys: 'Girar chaves privadas',
rotate_cookie_keys: 'Girar chaves de cookie',
rotate_private_keys_description:
'Esta ação criará uma nova chave privada de assinatura, girará a chave atual e removerá sua chave anterior. Seus tokens JWT assinados com a chave atual permanecerão válidos até a exclusão ou outra rodada de rotação.',
rotate_cookie_keys_description:
'Esta ação criará uma nova chave de cookie, girará a chave atual e removerá sua chave anterior. Seus cookies com a chave atual permanecerão válidos até a exclusão ou outra rodada de rotação.',
select_private_key_algorithm: 'Selecione o algoritmo de assinatura para a nova chave privada',
rotate_button: 'Girar',
table_column: {
id: 'ID',
status: 'Status',
algorithm: 'Algoritmo de assinatura',
},
status: {
current: 'Atual',
previous: 'Anterior',
},
reminder: {
rotate_private_key:
'Tem certeza de que deseja girar as <strong>chaves privadas do OIDC</strong>? Os novos tokens JWT emitidos serão assinados pela nova chave. Os tokens JWT existentes permanecem válidos até você girar novamente.',
rotate_cookie_key:
'Tem certeza de que deseja girar as <strong>chaves de cookie do OIDC</strong>? Novos cookies gerados em sessões de login serão assinados pela nova chave de cookie. Os cookies existentes permanecem válidos até você girar novamente.',
delete_private_key:
'Tem certeza de que deseja excluir a <strong>chave privada do OIDC</strong>? Tokens JWT existentes assinados com esta chave privada de assinatura não serão mais válidos.',
delete_cookie_key:
'Tem certeza de que deseja excluir a <strong>chave de cookie do OIDC</strong>? As sessões de login mais antigas com cookies assinados com esta chave de cookie não serão mais válidas. Será necessária uma nova autenticação para esses usuários.',
},
messages: {
rotate_key_success: 'Chaves de assinatura giradas com sucesso.',
delete_key_success: 'Chave excluída com sucesso.',
},
};
export default Object.freeze(signing_keys);

View file

@ -16,6 +16,7 @@ const tabs = {
mfa: 'Autenticação de multi-fator',
/** UNTRANSLATED */
jwt_customizer: 'JWT Claims',
signing_keys: 'Chaves de assinatura',
};
export default Object.freeze(tabs);

View file

@ -111,47 +111,6 @@ const tenants = {
description_2:
'Se você precisa de mais esclarecimentos, tem alguma preocupação ou deseja restaurar a funcionalidade total e desbloquear seus locatários, não hesite em entrar em contato conosco imediatamente.',
},
signing_keys: {
title: 'CHAVES DE ASSINATURA',
description: 'Gerencie de forma segura as chaves de assinatura em seu locatário.',
type: {
private_key: 'Chaves privadas do OIDC',
cookie_key: 'Chaves de cookie do OIDC',
},
private_keys_in_use: 'Chaves privadas em uso',
cookie_keys_in_use: 'Chaves de cookie em uso',
rotate_private_keys: 'Girar chaves privadas',
rotate_cookie_keys: 'Girar chaves de cookie',
rotate_private_keys_description:
'Esta ação criará uma nova chave privada de assinatura, girará a chave atual e removerá sua chave anterior. Seus tokens JWT assinados com a chave atual permanecerão válidos até a exclusão ou outra rodada de rotação.',
rotate_cookie_keys_description:
'Esta ação criará uma nova chave de cookie, girará a chave atual e removerá sua chave anterior. Seus cookies com a chave atual permanecerão válidos até a exclusão ou outra rodada de rotação.',
select_private_key_algorithm: 'Selecione o algoritmo de assinatura para a nova chave privada',
rotate_button: 'Girar',
table_column: {
id: 'ID',
status: 'Status',
algorithm: 'Algoritmo de assinatura',
},
status: {
current: 'Atual',
previous: 'Anterior',
},
reminder: {
rotate_private_key:
'Tem certeza de que deseja girar as <strong>chaves privadas do OIDC</strong>? Os novos tokens JWT emitidos serão assinados pela nova chave. Os tokens JWT existentes permanecem válidos até você girar novamente.',
rotate_cookie_key:
'Tem certeza de que deseja girar as <strong>chaves de cookie do OIDC</strong>? Novos cookies gerados em sessões de login serão assinados pela nova chave de cookie. Os cookies existentes permanecem válidos até você girar novamente.',
delete_private_key:
'Tem certeza de que deseja excluir a <strong>chave privada do OIDC</strong>? Tokens JWT existentes assinados com esta chave privada de assinatura não serão mais válidos.',
delete_cookie_key:
'Tem certeza de que deseja excluir a <strong>chave de cookie do OIDC</strong>? As sessões de login mais antigas com cookies assinados com esta chave de cookie não serão mais válidas. Será necessária uma nova autenticação para esses usuários.',
},
messages: {
rotate_key_success: 'Chaves de assinatura giradas com sucesso.',
delete_key_success: 'Chave excluída com sucesso.',
},
},
};
export default Object.freeze(tenants);

View file

@ -30,6 +30,7 @@ import role_details from './role-details.js';
import roles from './roles.js';
import session_expired from './session-expired.js';
import sign_in_exp from './sign-in-exp/index.js';
import signing_keys from './signing-keys.js';
import subscription from './subscription/index.js';
import tab_sections from './tab-sections.js';
import tabs from './tabs.js';
@ -91,6 +92,7 @@ const admin_console = {
protected_app,
jwt_claims,
invitation,
signing_keys,
};
export default Object.freeze(admin_console);

View file

@ -0,0 +1,43 @@
const signing_keys = {
title: 'Chaves de assinatura',
description: 'Gerir de forma segura as chaves de assinatura utilizadas pelas suas aplicações.',
private_key: 'Chaves privadas OIDC',
private_keys_description: 'As chaves privadas OIDC são usadas para assinar tokens JWT.',
cookie_key: 'Chaves de cookie OIDC',
cookie_keys_description: 'As chaves de cookie OIDC são usadas para assinar cookies.',
private_keys_in_use: 'Chaves privadas em uso',
cookie_keys_in_use: 'Chaves de cookies em uso',
rotate_private_keys: 'Rodar chaves privadas',
rotate_cookie_keys: 'Rodar chaves de cookies',
rotate_private_keys_description:
'Esta ação criará uma nova chave privada de assinatura, rodará a chave atual e removerá a chave anterior. Os seus tokens JWT assinados com a chave atual permanecerão válidos até à eliminação ou outra rodada de rotação.',
rotate_cookie_keys_description:
'Esta ação criará uma nova chave de cookie, rodará a chave atual e removerá a chave anterior. Os seus cookies com a chave atual permanecerão válidos até à eliminação ou outra rodada de rotação.',
select_private_key_algorithm: 'Selecionar o algoritmo de assinatura para a nova chave privada',
rotate_button: 'Rodar',
table_column: {
id: 'ID',
status: 'Estado',
algorithm: 'Algoritmo de assinatura da chave',
},
status: {
current: 'Atual',
previous: 'Anterior',
},
reminder: {
rotate_private_key:
'Tem a certeza de que pretende rodar as <strong>chaves privadas OIDC</strong>? Os novos tokens JWT emitidos serão assinados pela nova chave. Os tokens JWT existentes permanecem válidos até rodar novamente.',
rotate_cookie_key:
'Tem a certeza de que pretende rodar as <strong>chaves de cookies OIDC</strong>? Os novos cookies gerados em sessões de login serão assinados pela nova chave de cookie. Os cookies existentes permanecem válidos até rodar novamente.',
delete_private_key:
'Tem a certeza de que pretende eliminar a <strong>chave privada OIDC</strong>? Os tokens JWT existentes assinados com esta chave de assinatura privada deixarão de ser válidos.',
delete_cookie_key:
'Tem a certeza de que pretende eliminar a <strong>chave de cookie OIDC</strong>? As sessões de login antigas com cookies assinados com esta chave de cookie deixarão de ser válidas. É necessária uma nova autenticação para estes utilizadores.',
},
messages: {
rotate_key_success: 'Chaves de assinatura rodadas com sucesso.',
delete_key_success: 'Chave eliminada com sucesso.',
},
};
export default Object.freeze(signing_keys);

View file

@ -16,6 +16,7 @@ const tabs = {
mfa: 'Autenticação multi-fator',
/** UNTRANSLATED */
jwt_customizer: 'JWT Claims',
signing_keys: 'Chaves de assinatura',
};
export default Object.freeze(tabs);

View file

@ -111,47 +111,6 @@ const tenants = {
description_2:
'Se precisar de mais esclarecimentos, tiver alguma preocupação ou desejar restaurar a funcionalidade completa e desbloquear os seus inquilinos, não hesite em contactar-nos imediatamente.',
},
signing_keys: {
title: 'CHAVES DE ASSINATURA',
description: 'Gerir de forma segura as chaves de assinatura no seu inquilino.',
type: {
private_key: 'Chaves privadas OIDC',
cookie_key: 'Chaves de cookies OIDC',
},
private_keys_in_use: 'Chaves privadas em uso',
cookie_keys_in_use: 'Chaves de cookies em uso',
rotate_private_keys: 'Rodar chaves privadas',
rotate_cookie_keys: 'Rodar chaves de cookies',
rotate_private_keys_description:
'Esta ação criará uma nova chave privada de assinatura, rodará a chave atual e removerá a chave anterior. Os seus tokens JWT assinados com a chave atual permanecerão válidos até à eliminação ou outra rodada de rotação.',
rotate_cookie_keys_description:
'Esta ação criará uma nova chave de cookie, rodará a chave atual e removerá a chave anterior. Os seus cookies com a chave atual permanecerão válidos até à eliminação ou outra rodada de rotação.',
select_private_key_algorithm: 'Selecionar o algoritmo de assinatura para a nova chave privada',
rotate_button: 'Rodar',
table_column: {
id: 'ID',
status: 'Estado',
algorithm: 'Algoritmo de assinatura da chave',
},
status: {
current: 'Atual',
previous: 'Anterior',
},
reminder: {
rotate_private_key:
'Tem a certeza de que pretende rodar as <strong>chaves privadas OIDC</strong>? Os novos tokens JWT emitidos serão assinados pela nova chave. Os tokens JWT existentes permanecem válidos até rodar novamente.',
rotate_cookie_key:
'Tem a certeza de que pretende rodar as <strong>chaves de cookies OIDC</strong>? Os novos cookies gerados em sessões de login serão assinados pela nova chave de cookie. Os cookies existentes permanecem válidos até rodar novamente.',
delete_private_key:
'Tem a certeza de que pretende eliminar a <strong>chave privada OIDC</strong>? Os tokens JWT existentes assinados com esta chave de assinatura privada deixarão de ser válidos.',
delete_cookie_key:
'Tem a certeza de que pretende eliminar a <strong>chave de cookie OIDC</strong>? As sessões de login antigas com cookies assinados com esta chave de cookie deixarão de ser válidas. É necessária uma nova autenticação para estes utilizadores.',
},
messages: {
rotate_key_success: 'Chaves de assinatura rodadas com sucesso.',
delete_key_success: 'Chave eliminada com sucesso.',
},
},
};
export default Object.freeze(tenants);

View file

@ -30,6 +30,7 @@ import role_details from './role-details.js';
import roles from './roles.js';
import session_expired from './session-expired.js';
import sign_in_exp from './sign-in-exp/index.js';
import signing_keys from './signing-keys.js';
import subscription from './subscription/index.js';
import tab_sections from './tab-sections.js';
import tabs from './tabs.js';
@ -91,6 +92,7 @@ const admin_console = {
protected_app,
jwt_claims,
invitation,
signing_keys,
};
export default Object.freeze(admin_console);

View file

@ -0,0 +1,43 @@
const signing_keys = {
title: 'Ключи подписи',
description: 'Безопасное управление ключами подписи, используемыми вашими приложениями.',
private_key: 'Приватные ключи OIDC',
private_keys_description: 'Приватные ключи OIDC используются для подписи токенов JWT.',
cookie_key: 'Ключи куки OIDC',
cookie_keys_description: 'Ключи куки OIDC используются для подписи куки.',
private_keys_in_use: 'Используемые закрытые ключи',
cookie_keys_in_use: 'Используемые ключи cookie',
rotate_private_keys: 'Повернуть закрытые ключи',
rotate_cookie_keys: 'Повернуть ключи cookie',
rotate_private_keys_description:
'Это действие создаст новый закрытый ключ подписи, повернет текущий ключ и удалит предыдущий. Ваши JWT-токены, подписанные текущим ключом, останутся действительными до удаления или следующего раунда поворота.',
rotate_cookie_keys_description:
'Это действие создаст новый ключ cookie, повернет текущий ключ и удалит предыдущий. Ваши файлы cookie с текущим ключом останутся действительными до удаления или следующего раунда поворота.',
select_private_key_algorithm: 'Выберите алгоритм подписи ключа для нового закрытого ключа',
rotate_button: 'Повернуть',
table_column: {
id: 'ID',
status: 'Статус',
algorithm: 'Алгоритм подписи ключа',
},
status: {
current: 'Текущий',
previous: 'Предыдущий',
},
reminder: {
rotate_private_key:
'Вы уверены, что хотите повернуть <strong>OIDC закрытые ключи</strong>? Новые выданные JWT-токены будут подписаны новым ключом. Существующие JWT-токены останутся действительными до следующего поворота.',
rotate_cookie_key:
'Вы уверены, что хотите повернуть <strong>Ключи cookie OIDC</strong>? Новые файлы cookie, созданные в сеансах входа в систему, будут подписаны новым ключом cookie. Существующие файлы cookie останутся действительными до следующего поворота.',
delete_private_key:
'Вы уверены, что хотите удалить <strong>OIDC закрытый ключ</strong>? Существующие JWT-токены, подписанные этим закрытым ключом, больше не будут действительными.',
delete_cookie_key:
'Вы уверены, что хотите удалить <strong>Ключ cookie OIDC</strong>? Более старые сеансы входа в систему с файлами cookie, подписанными этим ключом cookie, больше не будут действительными. Для этих пользователей требуется повторная авторизация.',
},
messages: {
rotate_key_success: 'Ключи подписи успешно повернуты.',
delete_key_success: 'Ключ успешно удален.',
},
};
export default Object.freeze(signing_keys);

View file

@ -16,6 +16,7 @@ const tabs = {
mfa: 'Multi-factor auth',
/** UNTRANSLATED */
jwt_customizer: 'JWT Claims',
signing_keys: 'Ключи подписи',
};
export default Object.freeze(tabs);

View file

@ -111,47 +111,6 @@ const tenants = {
description_2:
'Если вам нужна дополнительная информация или у вас возникли какие-либо вопросы или вы хотите восстановить полную функциональность и разблокировать своих арендаторов, не стесняйтесь немедленно связаться с нами.',
},
signing_keys: {
title: 'УПРАВЛЕНИЕ КЛЮЧАМИ ПОДПИСИ',
description: 'Безопасное управление ключами подписи в вашем арендаторе.',
type: {
private_key: 'OIDC закрытые ключи',
cookie_key: 'Ключи cookie OIDC',
},
private_keys_in_use: 'Используемые закрытые ключи',
cookie_keys_in_use: 'Используемые ключи cookie',
rotate_private_keys: 'Повернуть закрытые ключи',
rotate_cookie_keys: 'Повернуть ключи cookie',
rotate_private_keys_description:
'Это действие создаст новый закрытый ключ подписи, повернет текущий ключ и удалит предыдущий. Ваши JWT-токены, подписанные текущим ключом, останутся действительными до удаления или следующего раунда поворота.',
rotate_cookie_keys_description:
'Это действие создаст новый ключ cookie, повернет текущий ключ и удалит предыдущий. Ваши файлы cookie с текущим ключом останутся действительными до удаления или следующего раунда поворота.',
select_private_key_algorithm: 'Выберите алгоритм подписи ключа для нового закрытого ключа',
rotate_button: 'Повернуть',
table_column: {
id: 'ID',
status: 'Статус',
algorithm: 'Алгоритм подписи ключа',
},
status: {
current: 'Текущий',
previous: 'Предыдущий',
},
reminder: {
rotate_private_key:
'Вы уверены, что хотите повернуть <strong>OIDC закрытые ключи</strong>? Новые выданные JWT-токены будут подписаны новым ключом. Существующие JWT-токены останутся действительными до следующего поворота.',
rotate_cookie_key:
'Вы уверены, что хотите повернуть <strong>Ключи cookie OIDC</strong>? Новые файлы cookie, созданные в сеансах входа в систему, будут подписаны новым ключом cookie. Существующие файлы cookie останутся действительными до следующего поворота.',
delete_private_key:
'Вы уверены, что хотите удалить <strong>OIDC закрытый ключ</strong>? Существующие JWT-токены, подписанные этим закрытым ключом, больше не будут действительными.',
delete_cookie_key:
'Вы уверены, что хотите удалить <strong>Ключ cookie OIDC</strong>? Более старые сеансы входа в систему с файлами cookie, подписанными этим ключом cookie, больше не будут действительными. Для этих пользователей требуется повторная авторизация.',
},
messages: {
rotate_key_success: 'Ключи подписи успешно повернуты.',
delete_key_success: 'Ключ успешно удален.',
},
},
};
export default Object.freeze(tenants);

View file

@ -30,6 +30,7 @@ import role_details from './role-details.js';
import roles from './roles.js';
import session_expired from './session-expired.js';
import sign_in_exp from './sign-in-exp/index.js';
import signing_keys from './signing-keys.js';
import subscription from './subscription/index.js';
import tab_sections from './tab-sections.js';
import tabs from './tabs.js';
@ -91,6 +92,7 @@ const admin_console = {
protected_app,
jwt_claims,
invitation,
signing_keys,
};
export default Object.freeze(admin_console);

View file

@ -0,0 +1,44 @@
const signing_keys = {
title: 'İmza Anahtarları',
description:
'Uygulamalarınız tarafından kullanılan imza anahtarlarını güvenli bir şekilde yönetin.',
private_key: 'OIDC özel anahtarları',
private_keys_description: 'OIDC özel anahtarları JWT belgelerini imzalamak için kullanılır.',
cookie_key: 'OIDC çerez anahtarları',
cookie_keys_description: 'OIDC çerez anahtarları çerezleri imzalamak için kullanılır.',
private_keys_in_use: 'Kullanılan özel anahtarlar',
cookie_keys_in_use: 'Kullanılan çerez anahtarları',
rotate_private_keys: 'Özel anahtarları döndür',
rotate_cookie_keys: 'Çerez anahtarlarını döndür',
rotate_private_keys_description:
'Bu işlem yeni bir özel imzalama anahtarı oluşturacak, mevcut anahtarı döndürecek ve önceki anahtarınızı kaldıracak. Güncel anahtar ile imzalanmış JWT jetonlarınız silinene veya başka bir döndürme turuna kadar geçerli kalacaktır.',
rotate_cookie_keys_description:
'Bu işlem yeni bir çerez anahtarı oluşturacak, mevcut anahtarı döndürecek ve önceki anahtarınızı kaldıracak. Güncel anahtar ile imzalanmış çerezleriniz silinene veya başka bir döndürme turuna kadar geçerli kalacaktır.',
select_private_key_algorithm: 'Yeni özel anahtar için imzalama anahtar algoritmasını seçin',
rotate_button: 'Döndür',
table_column: {
id: 'Kimlik',
status: 'Durum',
algorithm: 'İmzalama anahtar algoritması',
},
status: {
current: 'Geçerli',
previous: 'Önceki',
},
reminder: {
rotate_private_key:
'<strong>OIDC özel anahtarlarını</strong> döndürmek istediğinizden emin misiniz? Yeni verilen JWT jetonları yeni anahtarla imzalanacaktır. Var olan JWT jetonları, tekrar döndürünceye kadar geçerli kalacaktır.',
rotate_cookie_key:
'<strong>OIDC çerez anahtarlarını</strong> döndürmek istediğinizden emin misiniz? Oturum açma oturumlarında yeni oluşturulan çerezler yeni çerez anahtarıyla imzalanacaktır. Var olan çerezler, tekrar döndürünceye kadar geçerli kalacaktır.',
delete_private_key:
'<strong>OIDC özel anahtarını</strong> silmek istediğinizden emin misiniz? Bu özel imzalama anahtarı ile imzalanan mevcut JWT jetonları artık geçerli olmayacaktır.',
delete_cookie_key:
'<strong>OIDC çerez anahtarını</strong> silmek istediğinizden emin misiniz? Bu çerez anahtarı ile imzalanan eski oturum açma oturumları artık geçerli olmayacaktır. Bu kullanıcılar için yeniden kimlik doğrulaması gereklidir.',
},
messages: {
rotate_key_success: 'İmzalama anahtarları başarıyla döndü',
delete_key_success: 'Anahtar başarıyla silindi',
},
};
export default Object.freeze(signing_keys);

View file

@ -16,6 +16,7 @@ const tabs = {
mfa: 'Çoklu faktörlü kimlik doğrulama',
/** UNTRANSLATED */
jwt_customizer: 'JWT Claims',
signing_keys: 'İmza anahtarları',
};
export default Object.freeze(tabs);

View file

@ -110,47 +110,6 @@ const tenants = {
description_2:
'Daha fazla açıklama, endişeleriniz veya işlevselliği tamamen geri yüklemek ve kiracılarınızı engellemek isterseniz, lütfen derhal bizimle iletişime geçmekten çekinmeyin.',
},
signing_keys: {
title: 'İMZALAMA ANAHTARLARI',
description: 'Kiracınızda imzalama anahtarlarını güvenli bir şekilde yönetin.',
type: {
private_key: 'OIDC özel anahtarları',
cookie_key: 'OIDC çerez anahtarları',
},
private_keys_in_use: 'Kullanılan özel anahtarlar',
cookie_keys_in_use: 'Kullanılan çerez anahtarları',
rotate_private_keys: 'Özel anahtarları döndür',
rotate_cookie_keys: 'Çerez anahtarlarını döndür',
rotate_private_keys_description:
'Bu işlem yeni bir özel imzalama anahtarı oluşturacak, mevcut anahtarı döndürecek ve önceki anahtarınızı kaldıracak. Güncel anahtar ile imzalanmış JWT jetonlarınız silinene veya başka bir döndürme turuna kadar geçerli kalacaktır.',
rotate_cookie_keys_description:
'Bu işlem yeni bir çerez anahtarı oluşturacak, mevcut anahtarı döndürecek ve önceki anahtarınızı kaldıracak. Güncel anahtar ile imzalanmış çerezleriniz silinene veya başka bir döndürme turuna kadar geçerli kalacaktır.',
select_private_key_algorithm: 'Yeni özel anahtar için imzalama anahtar algoritmasını seçin',
rotate_button: 'Döndür',
table_column: {
id: 'Kimlik',
status: 'Durum',
algorithm: 'İmzalama anahtar algoritması',
},
status: {
current: 'Geçerli',
previous: 'Önceki',
},
reminder: {
rotate_private_key:
'<strong>OIDC özel anahtarlarını</strong> döndürmek istediğinizden emin misiniz? Yeni verilen JWT jetonları yeni anahtarla imzalanacaktır. Var olan JWT jetonları, tekrar döndürünceye kadar geçerli kalacaktır.',
rotate_cookie_key:
'<strong>OIDC çerez anahtarlarını</strong> döndürmek istediğinizden emin misiniz? Oturum açma oturumlarında yeni oluşturulan çerezler yeni çerez anahtarıyla imzalanacaktır. Var olan çerezler, tekrar döndürünceye kadar geçerli kalacaktır.',
delete_private_key:
'<strong>OIDC özel anahtarını</strong> silmek istediğinizden emin misiniz? Bu özel imzalama anahtarı ile imzalanan mevcut JWT jetonları artık geçerli olmayacaktır.',
delete_cookie_key:
'<strong>OIDC çerez anahtarını</strong> silmek istediğinizden emin misiniz? Bu çerez anahtarı ile imzalanan eski oturum açma oturumları artık geçerli olmayacaktır. Bu kullanıcılar için yeniden kimlik doğrulaması gereklidir.',
},
messages: {
rotate_key_success: 'İmzalama anahtarları başarıyla döndü',
delete_key_success: 'Anahtar başarıyla silindi',
},
},
};
export default Object.freeze(tenants);

View file

@ -30,6 +30,7 @@ import role_details from './role-details.js';
import roles from './roles.js';
import session_expired from './session-expired.js';
import sign_in_exp from './sign-in-exp/index.js';
import signing_keys from './signing-keys.js';
import subscription from './subscription/index.js';
import tab_sections from './tab-sections.js';
import tabs from './tabs.js';
@ -91,6 +92,7 @@ const admin_console = {
protected_app,
jwt_claims,
invitation,
signing_keys,
};
export default Object.freeze(admin_console);

View file

@ -0,0 +1,43 @@
const signing_keys = {
title: '签名密钥',
description: '安全管理应用程序使用的签名密钥。',
private_key: 'OIDC 私钥',
private_keys_description: 'OIDC 私钥用于签署 JWT 令牌。',
cookie_key: 'OIDC Cookie 密钥',
cookie_keys_description: 'OIDC Cookie 密钥用于签署 Cookie。',
private_keys_in_use: '正在使用的私钥',
cookie_keys_in_use: '正在使用的 Cookie 密钥',
rotate_private_keys: '旋转私钥',
rotate_cookie_keys: '旋转 Cookie 密钥',
rotate_private_keys_description:
'此操作将创建一个新的私钥旋转当前密钥并删除之前的密钥。使用当前密钥签名的JWT令牌将在删除或另一轮旋转之前保持有效。',
rotate_cookie_keys_description:
'此操作将创建一个新的Cookie密钥旋转当前密钥并删除之前的密钥。使用当前密钥签名的Cookie将在删除或另一轮旋转之前保持有效。',
select_private_key_algorithm: '为新的私钥选择签名密钥算法',
rotate_button: '旋转',
table_column: {
id: 'ID',
status: '状态',
algorithm: '签名密钥算法',
},
status: {
current: '当前',
previous: '之前',
},
reminder: {
rotate_private_key:
'您确定要旋转<strong>OIDC私钥</strong>吗新发布的JWT令牌将由新密钥签名。使用当前密钥签名的现有JWT令牌将在您再次旋转之前保持有效。',
rotate_cookie_key:
'您确定要旋转<strong>OIDC Cookie密钥</strong>吗登录会话生成的新Cookie将由新Cookie密钥签名。使用当前密钥签名的现有Cookie将在您再次旋转之前保持有效。',
delete_private_key:
'您确定要删除<strong>OIDC私钥</strong>吗使用此私有签名密钥签名的现有JWT令牌将不再有效。',
delete_cookie_key:
'您确定要删除<strong>OIDC Cookie密钥</strong>吗用此Cookie密钥签名的旧登录会话将不再有效。这些用户需要重新验证。',
},
messages: {
rotate_key_success: '签名密钥旋转成功。',
delete_key_success: '密钥已成功删除。',
},
};
export default Object.freeze(signing_keys);

View file

@ -16,6 +16,7 @@ const tabs = {
mfa: '多因素认证',
/** UNTRANSLATED */
jwt_customizer: 'JWT Claims',
signing_keys: '签名密钥',
};
export default Object.freeze(tabs);

View file

@ -102,47 +102,6 @@ const tenants = {
description_2:
'如果您需要进一步澄清、有任何疑虑或希望恢复全部功能并解锁您的租户,请立即联系我们。',
},
signing_keys: {
title: '签名密钥',
description: '在您的租户中安全管理签名密钥。',
type: {
private_key: 'OIDC私钥',
cookie_key: 'OIDC Cookie密钥',
},
private_keys_in_use: '正在使用的私钥',
cookie_keys_in_use: '正在使用的 Cookie 密钥',
rotate_private_keys: '旋转私钥',
rotate_cookie_keys: '旋转 Cookie 密钥',
rotate_private_keys_description:
'此操作将创建一个新的私钥旋转当前密钥并删除之前的密钥。使用当前密钥签名的JWT令牌将在删除或另一轮旋转之前保持有效。',
rotate_cookie_keys_description:
'此操作将创建一个新的Cookie密钥旋转当前密钥并删除之前的密钥。使用当前密钥签名的Cookie将在删除或另一轮旋转之前保持有效。',
select_private_key_algorithm: '为新的私钥选择签名密钥算法',
rotate_button: '旋转',
table_column: {
id: 'ID',
status: '状态',
algorithm: '签名密钥算法',
},
status: {
current: '当前',
previous: '之前',
},
reminder: {
rotate_private_key:
'您确定要旋转<strong>OIDC私钥</strong>吗新发布的JWT令牌将由新密钥签名。使用当前密钥签名的现有JWT令牌将在您再次旋转之前保持有效。',
rotate_cookie_key:
'您确定要旋转<strong>OIDC Cookie密钥</strong>吗登录会话生成的新Cookie将由新Cookie密钥签名。使用当前密钥签名的现有Cookie将在您再次旋转之前保持有效。',
delete_private_key:
'您确定要删除<strong>OIDC私钥</strong>吗使用此私有签名密钥签名的现有JWT令牌将不再有效。',
delete_cookie_key:
'您确定要删除<strong>OIDC Cookie密钥</strong>吗用此Cookie密钥签名的旧登录会话将不再有效。这些用户需要重新验证。',
},
messages: {
rotate_key_success: '签名密钥旋转成功。',
delete_key_success: '密钥已成功删除。',
},
},
};
export default Object.freeze(tenants);

View file

@ -30,6 +30,7 @@ import role_details from './role-details.js';
import roles from './roles.js';
import session_expired from './session-expired.js';
import sign_in_exp from './sign-in-exp/index.js';
import signing_keys from './signing-keys.js';
import subscription from './subscription/index.js';
import tab_sections from './tab-sections.js';
import tabs from './tabs.js';
@ -91,6 +92,7 @@ const admin_console = {
protected_app,
jwt_claims,
invitation,
signing_keys,
};
export default Object.freeze(admin_console);

View file

@ -0,0 +1,43 @@
const signing_keys = {
title: '簽名密鑰',
description: '安全管理應用程式使用的簽名密鑰。',
private_key: 'OIDC 私鑰',
private_keys_description: 'OIDC 私鑰用於簽署 JWT 令牌。',
cookie_key: 'OIDC cookie 密鑰',
cookie_keys_description: 'OIDC cookie 密鑰用於簽署 cookie。',
private_keys_in_use: '正在使用的私密金鑰',
cookie_keys_in_use: '正在使用的 Cookie 金鑰',
rotate_private_keys: '旋轉私密金鑰',
rotate_cookie_keys: '旋轉 Cookie 金鑰',
rotate_private_keys_description:
'此操作將創建一個新的私密簽署金鑰,旋轉當前金鑰並刪除以前的金鑰。您的使用當前金鑰簽署的 JWT 標記將保持有效,直到刪除或再次旋轉。',
rotate_cookie_keys_description:
'此操作將創建一個新的 cookie 金鑰,旋轉當前金鑰並刪除以前的金鑰。使用當前金鑰簽署的 cookie 將保持有效,直到刪除或再次旋轉。',
select_private_key_algorithm: '選擇新私密金鑰的簽署算法',
rotate_button: '旋轉',
table_column: {
id: 'ID',
status: '狀態',
algorithm: '簽署金鑰算法',
},
status: {
current: '當前',
previous: '之前',
},
reminder: {
rotate_private_key:
'您確定要旋轉<strong>OIDC私密金鑰</strong>嗎?使用新金鑰發放的 JWT 標記將由新金鑰簽署。使用當前金鑰簽署的 JWT 標記將保持有效,直到您再次旋轉。',
rotate_cookie_key:
'您確定要旋轉<strong>OIDC Cookie金鑰</strong>嗎?在登錄會話中生成的新 cookie 將由新cookie金鑰簽署。使用當前金鑰簽署的cookie將保持有效直到您再次旋轉。',
delete_private_key:
'您確定要刪除<strong>OIDC私密金鑰</strong>嗎?使用此私密簽署金鑰簽署的現有 JWT 標記將不再有效。',
delete_cookie_key:
'您確定要刪除<strong>OIDC Cookie金鑰</strong>嗎使用此cookie金鑰簽署的較舊的登錄會話中的cookie不再有效這些用戶需要重新驗證。',
},
messages: {
rotate_key_success: '簽署金鑰成功旋轉。',
delete_key_success: '金鑰成功刪除。',
},
};
export default Object.freeze(signing_keys);

View file

@ -16,6 +16,7 @@ const tabs = {
mfa: '多重認證',
/** UNTRANSLATED */
jwt_customizer: 'JWT Claims',
signing_keys: '簽署密鑰',
};
export default Object.freeze(tabs);

View file

@ -102,47 +102,6 @@ const tenants = {
description_2:
'如果您需要進一步了解,有任何疑慮或希望恢復完整功能並解鎖您的租戶,請立即與我們聯繫。',
},
signing_keys: {
title: '簽署金鑰',
description: '在您的租戶中安全地管理簽署金鑰。',
type: {
private_key: 'OIDC私密金鑰',
cookie_key: 'OIDC Cookie金鑰',
},
private_keys_in_use: '正在使用的私密金鑰',
cookie_keys_in_use: '正在使用的 Cookie 金鑰',
rotate_private_keys: '旋轉私密金鑰',
rotate_cookie_keys: '旋轉 Cookie 金鑰',
rotate_private_keys_description:
'此操作將創建一個新的私密簽署金鑰,旋轉當前金鑰並刪除以前的金鑰。您的使用當前金鑰簽署的 JWT 標記將保持有效,直到刪除或再次旋轉。',
rotate_cookie_keys_description:
'此操作將創建一個新的 cookie 金鑰,旋轉當前金鑰並刪除以前的金鑰。使用當前金鑰簽署的 cookie 將保持有效,直到刪除或再次旋轉。',
select_private_key_algorithm: '選擇新私密金鑰的簽署算法',
rotate_button: '旋轉',
table_column: {
id: 'ID',
status: '狀態',
algorithm: '簽署金鑰算法',
},
status: {
current: '當前',
previous: '之前',
},
reminder: {
rotate_private_key:
'您確定要旋轉<strong>OIDC私密金鑰</strong>嗎?使用新金鑰發放的 JWT 標記將由新金鑰簽署。使用當前金鑰簽署的 JWT 標記將保持有效,直到您再次旋轉。',
rotate_cookie_key:
'您確定要旋轉<strong>OIDC Cookie金鑰</strong>嗎?在登錄會話中生成的新 cookie 將由新cookie金鑰簽署。使用當前金鑰簽署的cookie將保持有效直到您再次旋轉。',
delete_private_key:
'您確定要刪除<strong>OIDC私密金鑰</strong>嗎?使用此私密簽署金鑰簽署的現有 JWT 標記將不再有效。',
delete_cookie_key:
'您確定要刪除<strong>OIDC Cookie金鑰</strong>嗎使用此cookie金鑰簽署的較舊的登錄會話中的cookie不再有效這些用戶需要重新驗證。',
},
messages: {
rotate_key_success: '簽署金鑰成功旋轉。',
delete_key_success: '金鑰成功刪除。',
},
},
};
export default Object.freeze(tenants);

View file

@ -30,6 +30,7 @@ import role_details from './role-details.js';
import roles from './roles.js';
import session_expired from './session-expired.js';
import sign_in_exp from './sign-in-exp/index.js';
import signing_keys from './signing-keys.js';
import subscription from './subscription/index.js';
import tab_sections from './tab-sections.js';
import tabs from './tabs.js';
@ -91,6 +92,7 @@ const admin_console = {
protected_app,
jwt_claims,
invitation,
signing_keys,
};
export default Object.freeze(admin_console);

View file

@ -0,0 +1,43 @@
const signing_keys = {
title: '簽名密鑰',
description: '安全管理應用程式使用的簽名密鑰。',
private_key: 'OIDC 私鑰',
private_keys_description: 'OIDC 私鑰用於簽署 JWT 令牌。',
cookie_key: 'OIDC cookie 密鑰',
cookie_keys_description: 'OIDC cookie 密鑰用於簽署 cookie。',
private_keys_in_use: '正在使用的私鑰',
cookie_keys_in_use: '正在使用的 Cookie 密鑰',
rotate_private_keys: '輪換私鑰',
rotate_cookie_keys: '輪換 Cookie 密鑰',
rotate_private_keys_description:
'此操作將創建一個新的私密簽名密鑰,輪換當前密鑰並刪除之前的密鑰。您的使用當前密鑰簽署的 JWT 憑證在刪除或另一輪輪換之前仍然有效。',
rotate_cookie_keys_description:
'此操作將創建一個新的 Cookie 密鑰,輪換當前密鑰並刪除之前的密鑰。使用當前密鑰簽署的 Cookie 將在刪除或另一輪輪換之前仍然有效。',
select_private_key_algorithm: '選擇新私鑰的簽名演算法',
rotate_button: '輪換',
table_column: {
id: 'ID',
status: '狀態',
algorithm: '簽名演算法',
},
status: {
current: '當前的',
previous: '之前的',
},
reminder: {
rotate_private_key:
'您確定要輪換<strong>OIDC私鑰</strong>嗎?新發放的 JWT 憑證將由新的密鑰簽署。現有的 JWT 憑證仍然有效,直到下一輪輪換或刪除。',
rotate_cookie_key:
'您確定要輪換<strong>OIDC Cookie 密鑰</strong>嗎?在登入會話中生成的新 Cookie 將由新的 Cookie 密鑰簽署。現有 Cookie 在下一輪輪換或刪除之前仍然有效。',
delete_private_key:
'您確定要刪除<strong>OIDC私鑰</strong>嗎?使用此私密簽名密鑰簽署的現有 JWT 憑證將不再有效。',
delete_cookie_key:
'您確定要刪除<strong>OIDC Cookie 密鑰</strong>嗎?用此 Cookie 密鑰簽署的舊登入會話將不再有效。這些使用者需要重新驗證。',
},
messages: {
rotate_key_success: '密鑰輪換成功。',
delete_key_success: '密鑰刪除成功。',
},
};
export default Object.freeze(signing_keys);

View file

@ -16,6 +16,7 @@ const tabs = {
mfa: '多重認證',
/** UNTRANSLATED */
jwt_customizer: 'JWT Claims',
signing_keys: '簽署密鑰',
};
export default Object.freeze(tabs);

View file

@ -102,47 +102,6 @@ const tenants = {
description_2:
'如果您需要進一步的說明、有任何疑慮或希望恢復全部功能並解鎖您的租戶,請立即聯絡我們。',
},
signing_keys: {
title: '簽名密鑰',
description: '在您的租戶中安全管理簽名密鑰。',
type: {
private_key: 'OIDC 私鑰',
cookie_key: 'OIDC Cookie 密鑰',
},
private_keys_in_use: '正在使用的私鑰',
cookie_keys_in_use: '正在使用的 Cookie 密鑰',
rotate_private_keys: '輪換私鑰',
rotate_cookie_keys: '輪換 Cookie 密鑰',
rotate_private_keys_description:
'此操作將創建一個新的私密簽名密鑰,輪換當前密鑰並刪除之前的密鑰。您的使用當前密鑰簽署的 JWT 憑證在刪除或另一輪輪換之前仍然有效。',
rotate_cookie_keys_description:
'此操作將創建一個新的 Cookie 密鑰,輪換當前密鑰並刪除之前的密鑰。使用當前密鑰簽署的 Cookie 將在刪除或另一輪輪換之前仍然有效。',
select_private_key_algorithm: '選擇新私鑰的簽名演算法',
rotate_button: '輪換',
table_column: {
id: 'ID',
status: '狀態',
algorithm: '簽名演算法',
},
status: {
current: '當前的',
previous: '之前的',
},
reminder: {
rotate_private_key:
'您確定要輪換<strong>OIDC私鑰</strong>嗎?新發放的 JWT 憑證將由新的密鑰簽署。現有的 JWT 憑證仍然有效,直到下一輪輪換或刪除。',
rotate_cookie_key:
'您確定要輪換<strong>OIDC Cookie 密鑰</strong>嗎?在登入會話中生成的新 Cookie 將由新的 Cookie 密鑰簽署。現有 Cookie 在下一輪輪換或刪除之前仍然有效。',
delete_private_key:
'您確定要刪除<strong>OIDC私鑰</strong>嗎?使用此私密簽名密鑰簽署的現有 JWT 憑證將不再有效。',
delete_cookie_key:
'您確定要刪除<strong>OIDC Cookie 密鑰</strong>嗎?用此 Cookie 密鑰簽署的舊登入會話將不再有效。這些使用者需要重新驗證。',
},
messages: {
rotate_key_success: '密鑰輪換成功。',
delete_key_success: '密鑰刪除成功。',
},
},
};
export default Object.freeze(tenants);