2021-10-11 20:56:43 +02:00
|
|
|
import "minimal-polyfills/Object.fromEntries";
|
|
|
|
import type { KcContextBase, Attribute } from "../KcContextBase";
|
2021-06-23 08:16:51 +02:00
|
|
|
//NOTE: Aside because we want to be able to import them from node
|
|
|
|
import { resourcesCommonPath, resourcesPath } from "./urlResourcesPath";
|
|
|
|
import { id } from "tsafe/id";
|
2021-12-16 20:44:39 +01:00
|
|
|
import { pathJoin } from "../../tools/pathJoin";
|
2021-06-28 04:04:48 +02:00
|
|
|
|
|
|
|
const PUBLIC_URL = process.env["PUBLIC_URL"] ?? "/";
|
2021-06-23 08:16:51 +02:00
|
|
|
|
|
|
|
export const kcContextCommonMock: KcContextBase.Common = {
|
2021-10-11 21:35:40 +02:00
|
|
|
"url": {
|
|
|
|
"loginAction": "#",
|
|
|
|
"resourcesPath": pathJoin(PUBLIC_URL, resourcesPath),
|
|
|
|
"resourcesCommonPath": pathJoin(PUBLIC_URL, resourcesCommonPath),
|
2021-10-12 00:26:29 +02:00
|
|
|
"loginRestartFlowUrl": "/auth/realms/myrealm/login-actions/restart?client_id=account&tab_id=HoAx28ja4xg",
|
|
|
|
"loginUrl": "/auth/realms/myrealm/login-actions/authenticate?client_id=account&tab_id=HoAx28ja4xg",
|
2021-10-11 21:35:40 +02:00
|
|
|
},
|
|
|
|
"realm": {
|
2021-12-21 12:27:28 -03:00
|
|
|
"name": "myrealm",
|
2021-10-11 21:35:40 +02:00
|
|
|
"displayName": "myrealm",
|
|
|
|
"displayNameHtml": "myrealm",
|
|
|
|
"internationalizationEnabled": true,
|
2021-10-12 02:09:09 +02:00
|
|
|
"registrationEmailAsUsername": false,
|
2021-10-11 21:35:40 +02:00
|
|
|
},
|
|
|
|
"messagesPerField": {
|
|
|
|
"printIfExists": (...[, x]) => x,
|
|
|
|
"existsError": () => true,
|
|
|
|
"get": key => `Fake error for ${key}`,
|
|
|
|
"exists": () => true,
|
|
|
|
},
|
|
|
|
"locale": {
|
|
|
|
"supported": [
|
2022-04-27 21:02:10 +02:00
|
|
|
/* spell-checker: disable */
|
2021-10-11 21:35:40 +02:00
|
|
|
{
|
|
|
|
"url": "/auth/realms/myrealm/login-actions/authenticate?client_id=account&tab_id=HoAx28ja4xg&execution=ee6c2834-46a4-4a20-a1b6-f6d6f6451b36&kc_locale=de",
|
2022-04-27 21:02:10 +02:00
|
|
|
"label": "Deutsch",
|
2021-10-11 21:35:40 +02:00
|
|
|
"languageTag": "de",
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"url": "/auth/realms/myrealm/login-actions/authenticate?client_id=account&tab_id=HoAx28ja4xg&execution=ee6c2834-46a4-4a20-a1b6-f6d6f6451b36&kc_locale=no",
|
2022-04-27 21:02:10 +02:00
|
|
|
"label": "Norsk",
|
2021-10-11 21:35:40 +02:00
|
|
|
"languageTag": "no",
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"url": "/auth/realms/myrealm/login-actions/authenticate?client_id=account&tab_id=HoAx28ja4xg&execution=ee6c2834-46a4-4a20-a1b6-f6d6f6451b36&kc_locale=ru",
|
2022-04-27 21:02:10 +02:00
|
|
|
"label": "Русский",
|
2021-10-11 21:35:40 +02:00
|
|
|
"languageTag": "ru",
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"url": "/auth/realms/myrealm/login-actions/authenticate?client_id=account&tab_id=HoAx28ja4xg&execution=ee6c2834-46a4-4a20-a1b6-f6d6f6451b36&kc_locale=sv",
|
2022-04-27 21:02:10 +02:00
|
|
|
"label": "Svenska",
|
2021-10-11 21:35:40 +02:00
|
|
|
"languageTag": "sv",
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"url": "/auth/realms/myrealm/login-actions/authenticate?client_id=account&tab_id=HoAx28ja4xg&execution=ee6c2834-46a4-4a20-a1b6-f6d6f6451b36&kc_locale=pt-BR",
|
2022-04-27 21:02:10 +02:00
|
|
|
"label": "Português (Brasil)",
|
2021-10-11 21:35:40 +02:00
|
|
|
"languageTag": "pt-BR",
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"url": "/auth/realms/myrealm/login-actions/authenticate?client_id=account&tab_id=HoAx28ja4xg&execution=ee6c2834-46a4-4a20-a1b6-f6d6f6451b36&kc_locale=lt",
|
2022-04-27 21:02:10 +02:00
|
|
|
"label": "Lietuvių",
|
2021-10-11 21:35:40 +02:00
|
|
|
"languageTag": "lt",
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"url": "/auth/realms/myrealm/login-actions/authenticate?client_id=account&tab_id=HoAx28ja4xg&execution=ee6c2834-46a4-4a20-a1b6-f6d6f6451b36&kc_locale=en",
|
2022-04-27 21:02:10 +02:00
|
|
|
"label": "English",
|
2021-10-11 21:35:40 +02:00
|
|
|
"languageTag": "en",
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"url": "/auth/realms/myrealm/login-actions/authenticate?client_id=account&tab_id=HoAx28ja4xg&execution=ee6c2834-46a4-4a20-a1b6-f6d6f6451b36&kc_locale=it",
|
2022-04-27 21:02:10 +02:00
|
|
|
"label": "Italiano",
|
2021-10-11 21:35:40 +02:00
|
|
|
"languageTag": "it",
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"url": "/auth/realms/myrealm/login-actions/authenticate?client_id=account&tab_id=HoAx28ja4xg&execution=ee6c2834-46a4-4a20-a1b6-f6d6f6451b36&kc_locale=fr",
|
2022-04-27 21:02:10 +02:00
|
|
|
"label": "Français",
|
2021-10-11 21:35:40 +02:00
|
|
|
"languageTag": "fr",
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"url": "/auth/realms/myrealm/login-actions/authenticate?client_id=account&tab_id=HoAx28ja4xg&execution=ee6c2834-46a4-4a20-a1b6-f6d6f6451b36&kc_locale=zh-CN",
|
2022-04-27 21:02:10 +02:00
|
|
|
"label": "中文简体",
|
2021-10-11 21:35:40 +02:00
|
|
|
"languageTag": "zh-CN",
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"url": "/auth/realms/myrealm/login-actions/authenticate?client_id=account&tab_id=HoAx28ja4xg&execution=ee6c2834-46a4-4a20-a1b6-f6d6f6451b36&kc_locale=es",
|
2022-04-27 21:02:10 +02:00
|
|
|
"label": "Español",
|
2021-10-11 21:35:40 +02:00
|
|
|
"languageTag": "es",
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"url": "/auth/realms/myrealm/login-actions/authenticate?client_id=account&tab_id=HoAx28ja4xg&execution=ee6c2834-46a4-4a20-a1b6-f6d6f6451b36&kc_locale=cs",
|
2022-04-27 21:02:10 +02:00
|
|
|
"label": "Čeština",
|
2021-10-11 21:35:40 +02:00
|
|
|
"languageTag": "cs",
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"url": "/auth/realms/myrealm/login-actions/authenticate?client_id=account&tab_id=HoAx28ja4xg&execution=ee6c2834-46a4-4a20-a1b6-f6d6f6451b36&kc_locale=ja",
|
2022-04-27 21:02:10 +02:00
|
|
|
"label": "日本語",
|
2021-10-11 21:35:40 +02:00
|
|
|
"languageTag": "ja",
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"url": "/auth/realms/myrealm/login-actions/authenticate?client_id=account&tab_id=HoAx28ja4xg&execution=ee6c2834-46a4-4a20-a1b6-f6d6f6451b36&kc_locale=sk",
|
2022-04-27 21:02:10 +02:00
|
|
|
"label": "Slovenčina",
|
2021-10-11 21:35:40 +02:00
|
|
|
"languageTag": "sk",
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"url": "/auth/realms/myrealm/login-actions/authenticate?client_id=account&tab_id=HoAx28ja4xg&execution=ee6c2834-46a4-4a20-a1b6-f6d6f6451b36&kc_locale=pl",
|
2022-04-27 21:02:10 +02:00
|
|
|
"label": "Polski",
|
2021-10-11 21:35:40 +02:00
|
|
|
"languageTag": "pl",
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"url": "/auth/realms/myrealm/login-actions/authenticate?client_id=account&tab_id=HoAx28ja4xg&execution=ee6c2834-46a4-4a20-a1b6-f6d6f6451b36&kc_locale=ca",
|
2022-04-27 21:02:10 +02:00
|
|
|
"label": "Català",
|
2021-10-11 21:35:40 +02:00
|
|
|
"languageTag": "ca",
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"url": "/auth/realms/myrealm/login-actions/authenticate?client_id=account&tab_id=HoAx28ja4xg&execution=ee6c2834-46a4-4a20-a1b6-f6d6f6451b36&kc_locale=nl",
|
2022-04-27 21:02:10 +02:00
|
|
|
"label": "Nederlands",
|
2021-10-11 21:35:40 +02:00
|
|
|
"languageTag": "nl",
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"url": "/auth/realms/myrealm/login-actions/authenticate?client_id=account&tab_id=HoAx28ja4xg&execution=ee6c2834-46a4-4a20-a1b6-f6d6f6451b36&kc_locale=tr",
|
2022-04-27 21:02:10 +02:00
|
|
|
"label": "Türkçe",
|
2021-10-11 21:35:40 +02:00
|
|
|
"languageTag": "tr",
|
|
|
|
},
|
2022-04-27 21:02:10 +02:00
|
|
|
/* spell-checker: enable */
|
2021-10-11 21:35:40 +02:00
|
|
|
],
|
2022-04-27 21:02:10 +02:00
|
|
|
"currentLanguageTag": "en",
|
2021-10-11 21:35:40 +02:00
|
|
|
},
|
|
|
|
"auth": {
|
|
|
|
"showUsername": false,
|
|
|
|
"showResetCredentials": false,
|
|
|
|
"showTryAnotherWayLink": false,
|
|
|
|
},
|
|
|
|
"client": {
|
|
|
|
"clientId": "myApp",
|
|
|
|
},
|
|
|
|
"scripts": [],
|
|
|
|
"message": {
|
|
|
|
"type": "success",
|
|
|
|
"summary": "This is a test message",
|
|
|
|
},
|
|
|
|
"isAppInitiatedAction": false,
|
2021-06-23 08:16:51 +02:00
|
|
|
};
|
|
|
|
|
|
|
|
const loginUrl = {
|
2021-10-11 21:35:40 +02:00
|
|
|
...kcContextCommonMock.url,
|
2021-10-12 00:26:29 +02:00
|
|
|
"loginResetCredentialsUrl": "/auth/realms/myrealm/login-actions/reset-credentials?client_id=account&tab_id=HoAx28ja4xg",
|
|
|
|
"registrationUrl": "/auth/realms/myrealm/login-actions/registration?client_id=account&tab_id=HoAx28ja4xg",
|
2021-06-23 08:16:51 +02:00
|
|
|
};
|
|
|
|
|
|
|
|
export const kcContextMocks: KcContextBase[] = [
|
2021-10-11 21:35:40 +02:00
|
|
|
id<KcContextBase.Login>({
|
|
|
|
...kcContextCommonMock,
|
|
|
|
"pageId": "login.ftl",
|
|
|
|
"url": loginUrl,
|
|
|
|
"realm": {
|
|
|
|
...kcContextCommonMock.realm,
|
|
|
|
"loginWithEmailAllowed": true,
|
|
|
|
"rememberMe": true,
|
|
|
|
"password": true,
|
|
|
|
"resetPasswordAllowed": true,
|
|
|
|
"registrationAllowed": true,
|
|
|
|
},
|
|
|
|
"auth": kcContextCommonMock.auth!,
|
|
|
|
"social": {
|
|
|
|
"displayInfo": true,
|
|
|
|
},
|
|
|
|
"usernameEditDisabled": false,
|
|
|
|
"login": {
|
|
|
|
"rememberMe": false,
|
|
|
|
},
|
|
|
|
"registrationDisabled": false,
|
|
|
|
}),
|
|
|
|
...(() => {
|
|
|
|
const registerCommon: KcContextBase.RegisterCommon = {
|
|
|
|
...kcContextCommonMock,
|
|
|
|
"url": {
|
|
|
|
...loginUrl,
|
|
|
|
"registrationAction":
|
|
|
|
"http://localhost:8080/auth/realms/myrealm/login-actions/registration?session_code=gwZdUeO7pbYpFTRxiIxRg_QtzMbtFTKrNu6XW_f8asM&execution=12146ce0-b139-4bbd-b25b-0eccfee6577e&client_id=account&tab_id=uS8lYfebLa0",
|
|
|
|
},
|
|
|
|
"scripts": [],
|
|
|
|
"isAppInitiatedAction": false,
|
|
|
|
"passwordRequired": true,
|
|
|
|
"recaptchaRequired": false,
|
|
|
|
"social": {
|
|
|
|
"displayInfo": true,
|
|
|
|
},
|
|
|
|
};
|
|
|
|
|
|
|
|
return [
|
|
|
|
id<KcContextBase.Register>({
|
|
|
|
"pageId": "register.ftl",
|
|
|
|
...registerCommon,
|
|
|
|
"register": {
|
|
|
|
"formData": {},
|
|
|
|
},
|
|
|
|
}),
|
|
|
|
id<KcContextBase.RegisterUserProfile>({
|
|
|
|
"pageId": "register-user-profile.ftl",
|
|
|
|
...registerCommon,
|
|
|
|
"profile": {
|
|
|
|
"context": "REGISTRATION_PROFILE" as const,
|
|
|
|
...(() => {
|
|
|
|
const attributes: Attribute[] = [
|
|
|
|
{
|
|
|
|
"validators": {
|
|
|
|
"username-prohibited-characters": {
|
|
|
|
"ignore.empty.value": true,
|
|
|
|
},
|
|
|
|
"up-username-has-value": {},
|
|
|
|
"length": {
|
|
|
|
"ignore.empty.value": true,
|
|
|
|
"min": "3",
|
|
|
|
"max": "255",
|
|
|
|
},
|
|
|
|
"up-duplicate-username": {},
|
|
|
|
"up-username-mutation": {},
|
|
|
|
},
|
|
|
|
"displayName": "${username}",
|
|
|
|
"annotations": {},
|
|
|
|
"required": true,
|
|
|
|
"groupAnnotations": {},
|
|
|
|
"autocomplete": "username",
|
|
|
|
"readOnly": false,
|
|
|
|
"name": "username",
|
2021-10-25 21:26:08 +02:00
|
|
|
"value": "xxxx",
|
2021-10-11 21:35:40 +02:00
|
|
|
},
|
|
|
|
{
|
|
|
|
"validators": {
|
|
|
|
"up-email-exists-as-username": {},
|
|
|
|
"length": {
|
|
|
|
"max": "255",
|
|
|
|
"ignore.empty.value": true,
|
|
|
|
},
|
|
|
|
"up-blank-attribute-value": {
|
|
|
|
"error-message": "missingEmailMessage",
|
|
|
|
"fail-on-null": false,
|
|
|
|
},
|
|
|
|
"up-duplicate-email": {},
|
|
|
|
"email": {
|
|
|
|
"ignore.empty.value": true,
|
|
|
|
},
|
2021-10-25 21:26:08 +02:00
|
|
|
"pattern": {
|
|
|
|
"ignore.empty.value": true,
|
|
|
|
"pattern": "gmail\\.com$",
|
|
|
|
},
|
2021-10-11 21:35:40 +02:00
|
|
|
},
|
|
|
|
"displayName": "${email}",
|
|
|
|
"annotations": {},
|
|
|
|
"required": true,
|
|
|
|
"groupAnnotations": {},
|
|
|
|
"autocomplete": "email",
|
|
|
|
"readOnly": false,
|
|
|
|
"name": "email",
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"validators": {
|
|
|
|
"length": {
|
|
|
|
"max": "255",
|
|
|
|
"ignore.empty.value": true,
|
|
|
|
},
|
|
|
|
"person-name-prohibited-characters": {
|
|
|
|
"ignore.empty.value": true,
|
|
|
|
},
|
|
|
|
"up-immutable-attribute": {},
|
2021-10-12 00:26:29 +02:00
|
|
|
"up-attribute-required-by-metadata-value": {},
|
2021-10-11 21:35:40 +02:00
|
|
|
},
|
|
|
|
"displayName": "${firstName}",
|
|
|
|
"annotations": {},
|
|
|
|
"required": true,
|
|
|
|
"groupAnnotations": {},
|
|
|
|
"readOnly": false,
|
|
|
|
"name": "firstName",
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"validators": {
|
|
|
|
"length": {
|
|
|
|
"max": "255",
|
|
|
|
"ignore.empty.value": true,
|
|
|
|
},
|
|
|
|
"person-name-prohibited-characters": {
|
|
|
|
"ignore.empty.value": true,
|
|
|
|
},
|
|
|
|
"up-immutable-attribute": {},
|
2021-10-12 00:26:29 +02:00
|
|
|
"up-attribute-required-by-metadata-value": {},
|
2021-10-11 21:35:40 +02:00
|
|
|
},
|
|
|
|
"displayName": "${lastName}",
|
|
|
|
"annotations": {},
|
|
|
|
"required": true,
|
|
|
|
"groupAnnotations": {},
|
|
|
|
"readOnly": false,
|
|
|
|
"name": "lastName",
|
|
|
|
},
|
|
|
|
];
|
|
|
|
|
|
|
|
return {
|
|
|
|
attributes,
|
2021-10-12 00:26:29 +02:00
|
|
|
"attributesByName": Object.fromEntries(attributes.map(attribute => [attribute.name, attribute])) as any,
|
2021-10-11 21:35:40 +02:00
|
|
|
} as any;
|
|
|
|
})(),
|
|
|
|
},
|
|
|
|
}),
|
|
|
|
];
|
|
|
|
})(),
|
|
|
|
id<KcContextBase.Info>({
|
|
|
|
...kcContextCommonMock,
|
|
|
|
"pageId": "info.ftl",
|
|
|
|
"messageHeader": "<Message header>",
|
|
|
|
"requiredActions": undefined,
|
|
|
|
"skipLink": false,
|
|
|
|
"actionUri": "#",
|
|
|
|
"client": {
|
|
|
|
"clientId": "myApp",
|
|
|
|
"baseUrl": "#",
|
|
|
|
},
|
|
|
|
}),
|
|
|
|
id<KcContextBase.Error>({
|
|
|
|
...kcContextCommonMock,
|
|
|
|
"pageId": "error.ftl",
|
|
|
|
"client": {
|
|
|
|
"clientId": "myApp",
|
|
|
|
"baseUrl": "#",
|
|
|
|
},
|
|
|
|
"message": {
|
|
|
|
"type": "error",
|
|
|
|
"summary": "This is the error message",
|
|
|
|
},
|
|
|
|
}),
|
|
|
|
id<KcContextBase.LoginResetPassword>({
|
|
|
|
...kcContextCommonMock,
|
|
|
|
"pageId": "login-reset-password.ftl",
|
|
|
|
"realm": {
|
|
|
|
...kcContextCommonMock.realm,
|
|
|
|
"loginWithEmailAllowed": false,
|
|
|
|
},
|
|
|
|
}),
|
|
|
|
id<KcContextBase.LoginVerifyEmail>({
|
|
|
|
...kcContextCommonMock,
|
|
|
|
"pageId": "login-verify-email.ftl",
|
|
|
|
}),
|
|
|
|
id<KcContextBase.Terms>({
|
|
|
|
...kcContextCommonMock,
|
|
|
|
"pageId": "terms.ftl",
|
|
|
|
}),
|
|
|
|
id<KcContextBase.LoginOtp>({
|
|
|
|
...kcContextCommonMock,
|
|
|
|
"pageId": "login-otp.ftl",
|
|
|
|
"otpLogin": {
|
|
|
|
"userOtpCredentials": [
|
|
|
|
{
|
|
|
|
"id": "id1",
|
|
|
|
"userLabel": "label1",
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"id": "id2",
|
|
|
|
"userLabel": "label2",
|
|
|
|
},
|
|
|
|
],
|
|
|
|
},
|
|
|
|
}),
|
2021-12-28 00:08:25 +03:00
|
|
|
id<KcContextBase.LoginUpdatePassword>({
|
|
|
|
...kcContextCommonMock,
|
|
|
|
"pageId": "login-update-password.ftl",
|
|
|
|
"username": "anUsername",
|
|
|
|
}),
|
2021-10-11 21:35:40 +02:00
|
|
|
id<KcContextBase.LoginUpdateProfile>({
|
|
|
|
...kcContextCommonMock,
|
|
|
|
"pageId": "login-update-profile.ftl",
|
|
|
|
"user": {
|
|
|
|
"editUsernameAllowed": true,
|
|
|
|
"username": "anUsername",
|
|
|
|
"email": "foo@example.com",
|
|
|
|
"firstName": "aFirstName",
|
|
|
|
"lastName": "aLastName",
|
|
|
|
},
|
|
|
|
}),
|
|
|
|
id<KcContextBase.LoginIdpLinkConfirm>({
|
|
|
|
...kcContextCommonMock,
|
|
|
|
"pageId": "login-idp-link-confirm.ftl",
|
|
|
|
"idpAlias": "FranceConnect",
|
|
|
|
}),
|
2022-04-25 14:15:40 +03:00
|
|
|
id<KcContextBase.LoginIdpLinkEmail>({
|
|
|
|
...kcContextCommonMock,
|
|
|
|
"pageId": "login-idp-link-email.ftl",
|
|
|
|
"idpAlias": "FranceConnect",
|
|
|
|
"brokerContext": {
|
|
|
|
"username": "anUsername",
|
|
|
|
},
|
|
|
|
}),
|
2022-06-28 14:37:17 -04:00
|
|
|
id<KcContextBase.LoginConfigTotp>({
|
|
|
|
...kcContextCommonMock,
|
|
|
|
"pageId": "login-config-totp.ftl",
|
|
|
|
totp: {
|
|
|
|
totpSecretEncoded: "KVVF G2BY N4YX S6LB IUYT K2LH IFYE 4SBV",
|
|
|
|
qrUrl: "#",
|
|
|
|
totpSecretQrCode:
|
|
|
|
"iVBORw0KGgoAAAANSUhEUgAAAPYAAAD2AQAAAADNaUdlAAACM0lEQVR4Xu3OIZJgOQwDUDFd2UxiurLAVnnbHw4YGDKtSiWOn4Gxf81//7r/+q8b4HfLGBZDK9d85NmNR+sB42sXvOYrN5P1DcgYYFTGfOlbzE8gzwy3euweGizw7cfdl34/GRhlkxjKNV+5AebPXPORX1JuB9x8ZfbyyD2y1krWAKsbMq1HnqQDaLfa77p4+MqvzEGSqvSAD/2IHW2yHaigR9tX3m8dDIYGcNf3f+gDpVBZbZU77zyJ6Rlcy+qoTMG887KAPD9hsh6a1Sv3gJUHGHUAxSMzj7zqDDe7Phmt2eG+8UsMxjRGm816MAO+8VMl1R1jGHOrZB/5Zo/WXAPgxixm9Mo96vDGrM1eOto8c4Ax4wF437mifOXlpiPzCnN7Y9l95NnEMxgMY9AAGA8fucH14Y1aVb6N/cqrmyh0BVht7k1e+bU8LK0Cg5vmVq9c5vHIjOfqxDIfeTraNVTwewa4wVe+SW5N+uP1qACeudUZbqGOfA6VZV750Noq2Xx3kpveV44ZelSV1V7KFHzkWyVrrlUwG0Pl9pWnoy3vsQoME6vKI69i5osVgwWzHT7zjmJtMcNUSVn1oYMd7ZodbgowZl45VG0uVuLPUr1yc79uaQBag/mqR34xhlWyHm1prplHboCWdZ4TeZjsK8+dI+jbz1C5hl65mcpgB5dhcj8+dGO+0Ko68+lD37JDD83dpDLzzK+TrQyaVwGj6pUboGV+7+AyN8An/pf84/7rv/4/1l4OCc/1BYMAAAAASUVORK5CYII=",
|
|
|
|
manualUrl: "#",
|
|
|
|
totpSecret: "G4nsI8lQagRMUchH8jEG",
|
|
|
|
otpCredentials: [],
|
|
|
|
policy: {
|
|
|
|
supportedApplications: ["FreeOTP", "Google Authenticator"],
|
|
|
|
algorithm: "HmacSHA1",
|
|
|
|
digits: 6,
|
|
|
|
lookAheadWindow: 1,
|
|
|
|
type: "totp",
|
|
|
|
period: 30,
|
|
|
|
},
|
|
|
|
},
|
|
|
|
}),
|
2021-06-23 08:16:51 +02:00
|
|
|
];
|