keycloakify 5.5.0 → 5.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +8 -0
- package/README.md +4 -0
- package/bin/build-keycloak-theme/generateFtl/generateFtl.d.ts +1 -1
- package/bin/build-keycloak-theme/generateFtl/generateFtl.js +1 -0
- package/bin/build-keycloak-theme/generateFtl/generateFtl.js.map +1 -1
- package/lib/components/KcApp.js +3 -0
- package/lib/components/KcApp.js.map +1 -1
- package/lib/components/LoginConfigTotp.d.ts +6 -0
- package/lib/components/LoginConfigTotp.js +44 -0
- package/lib/components/LoginConfigTotp.js.map +1 -0
- package/lib/getKcContext/KcContextBase.d.ts +28 -1
- package/lib/getKcContext/KcContextBase.js.map +1 -1
- package/lib/getKcContext/kcContextMocks/kcContextMocks.js +16 -0
- package/lib/getKcContext/kcContextMocks/kcContextMocks.js.map +1 -1
- package/package.json +7 -3
- package/src/bin/build-keycloak-theme/generateFtl/generateFtl.ts +1 -0
- package/src/lib/components/KcApp.tsx +3 -0
- package/src/lib/components/LoginConfigTotp.tsx +183 -0
- package/src/lib/getKcContext/KcContextBase.ts +30 -1
- package/src/lib/getKcContext/kcContextMocks/kcContextMocks.ts +21 -0
package/CHANGELOG.md
CHANGED
@@ -1,3 +1,11 @@
|
|
1
|
+
## **5.6.0** (2022-06-28)
|
2
|
+
|
3
|
+
- Merge pull request #127 from aidangilmore/add-totp-support
|
4
|
+
|
5
|
+
feat: add login-config-totp.ftl page
|
6
|
+
- Fix unknown algorithm name lookup in LoginConfigTotp
|
7
|
+
- Add totp config support
|
8
|
+
|
1
9
|
## **5.5.0** (2022-06-28)
|
2
10
|
|
3
11
|
- Make it possible to redirect to login by repacing the url (should be default in most case)
|
package/README.md
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
export declare const pageIds: readonly ["login.ftl", "register.ftl", "register-user-profile.ftl", "info.ftl", "error.ftl", "login-reset-password.ftl", "login-verify-email.ftl", "terms.ftl", "login-otp.ftl", "login-update-profile.ftl", "login-update-password.ftl", "login-idp-link-confirm.ftl", "login-idp-link-email.ftl", "login-page-expired.ftl"];
|
1
|
+
export declare const pageIds: readonly ["login.ftl", "register.ftl", "register-user-profile.ftl", "info.ftl", "error.ftl", "login-reset-password.ftl", "login-verify-email.ftl", "terms.ftl", "login-otp.ftl", "login-update-profile.ftl", "login-update-password.ftl", "login-idp-link-confirm.ftl", "login-idp-link-email.ftl", "login-page-expired.ftl", "login-config-totp.ftl"];
|
2
2
|
export declare type PageId = typeof pageIds[number];
|
3
3
|
export declare function generateFtlFilesCodeFactory(params: {
|
4
4
|
cssGlobalsToDefine: Record<string, string>;
|
@@ -61,6 +61,7 @@ exports.pageIds = [
|
|
61
61
|
"login-idp-link-confirm.ftl",
|
62
62
|
"login-idp-link-email.ftl",
|
63
63
|
"login-page-expired.ftl",
|
64
|
+
"login-config-totp.ftl",
|
64
65
|
];
|
65
66
|
function generateFtlFilesCodeFactory(params) {
|
66
67
|
var cssGlobalsToDefine = params.cssGlobalsToDefine, indexHtmlCode = params.indexHtmlCode, urlPathname = params.urlPathname, urlOrigin = params.urlOrigin;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"generateFtl.js","sourceRoot":"","sources":["../../../src/bin/build-keycloak-theme/generateFtl/generateFtl.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,oDAA8B;AAC9B,sEAA6I;AAC7I,0CAAoB;AACpB,6BAAwC;AACxC,+CAA8C;AAC9C,8DAA6D;AAEhD,QAAA,OAAO,GAAG;IACnB,WAAW;IACX,cAAc;IACd,2BAA2B;IAC3B,UAAU;IACV,WAAW;IACX,0BAA0B;IAC1B,wBAAwB;IACxB,WAAW;IACX,eAAe;IACf,0BAA0B;IAC1B,2BAA2B;IAC3B,4BAA4B;IAC5B,0BAA0B;IAC1B,wBAAwB;
|
1
|
+
{"version":3,"file":"generateFtl.js","sourceRoot":"","sources":["../../../src/bin/build-keycloak-theme/generateFtl/generateFtl.ts"],"names":[],"mappings":"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"}
|
package/lib/components/KcApp.js
CHANGED
@@ -39,6 +39,7 @@ var LoginUpdateProfile_1 = require("./LoginUpdateProfile");
|
|
39
39
|
var LoginIdpLinkConfirm_1 = require("./LoginIdpLinkConfirm");
|
40
40
|
var LoginPageExpired_1 = require("./LoginPageExpired");
|
41
41
|
var LoginIdpLinkEmail_1 = require("./LoginIdpLinkEmail");
|
42
|
+
var LoginConfigTotp_1 = require("./LoginConfigTotp");
|
42
43
|
exports.KcApp = (0, react_1.memo)(function (_a) {
|
43
44
|
var kcContext = _a.kcContext, props = __rest(_a, ["kcContext"]);
|
44
45
|
switch (kcContext.pageId) {
|
@@ -70,6 +71,8 @@ exports.KcApp = (0, react_1.memo)(function (_a) {
|
|
70
71
|
return (0, jsx_runtime_1.jsx)(LoginIdpLinkEmail_1.LoginIdpLinkEmail, __assign({}, __assign({ kcContext: kcContext }, props)));
|
71
72
|
case "login-page-expired.ftl":
|
72
73
|
return (0, jsx_runtime_1.jsx)(LoginPageExpired_1.LoginPageExpired, __assign({}, __assign({ kcContext: kcContext }, props)));
|
74
|
+
case "login-config-totp.ftl":
|
75
|
+
return (0, jsx_runtime_1.jsx)(LoginConfigTotp_1.LoginConfigTotp, __assign({}, __assign({ kcContext: kcContext }, props)));
|
73
76
|
}
|
74
77
|
});
|
75
78
|
//# sourceMappingURL=KcApp.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"KcApp.js","sourceRoot":"","sources":["../../src/lib/components/KcApp.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+BAA6B;AAG7B,iCAAgC;AAChC,uCAAsC;AACtC,6DAA4D;AAC5D,+BAA8B;AAC9B,iCAAgC;AAChC,2DAA0D;AAC1D,uDAAsD;AACtD,iCAAgC;AAChC,uCAAsC;AACtC,6DAA4D;AAC5D,2DAA0D;AAC1D,6DAA4D;AAC5D,uDAAsD;AACtD,yDAAwD;
|
1
|
+
{"version":3,"file":"KcApp.js","sourceRoot":"","sources":["../../src/lib/components/KcApp.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+BAA6B;AAG7B,iCAAgC;AAChC,uCAAsC;AACtC,6DAA4D;AAC5D,+BAA8B;AAC9B,iCAAgC;AAChC,2DAA0D;AAC1D,uDAAsD;AACtD,iCAAgC;AAChC,uCAAsC;AACtC,6DAA4D;AAC5D,2DAA0D;AAC1D,6DAA4D;AAC5D,uDAAsD;AACtD,yDAAwD;AACxD,qDAAoD;AAEvC,QAAA,KAAK,GAAG,IAAA,YAAI,EAAC,UAAC,EAA+D;IAA7D,IAAA,SAAS,eAAA,EAAK,KAAK,cAArB,aAAuB,CAAF;IAC5C,QAAQ,SAAS,CAAC,MAAM,EAAE;QACtB,KAAK,WAAW;YACZ,OAAO,uBAAC,aAAK,0BAAO,SAAS,WAAA,IAAK,KAAK,GAAM,CAAC;QAClD,KAAK,cAAc;YACf,OAAO,uBAAC,mBAAQ,0BAAO,SAAS,WAAA,IAAK,KAAK,GAAM,CAAC;QACrD,KAAK,2BAA2B;YAC5B,OAAO,uBAAC,yCAAmB,0BAAO,SAAS,WAAA,IAAK,KAAK,GAAM,CAAC;QAChE,KAAK,UAAU;YACX,OAAO,uBAAC,WAAI,0BAAO,SAAS,WAAA,IAAK,KAAK,GAAM,CAAC;QACjD,KAAK,WAAW;YACZ,OAAO,uBAAC,aAAK,0BAAO,SAAS,WAAA,IAAK,KAAK,GAAM,CAAC;QAClD,KAAK,0BAA0B;YAC3B,OAAO,uBAAC,uCAAkB,0BAAO,SAAS,WAAA,IAAK,KAAK,GAAM,CAAC;QAC/D,KAAK,wBAAwB;YACzB,OAAO,uBAAC,mCAAgB,0BAAO,SAAS,WAAA,IAAK,KAAK,GAAM,CAAC;QAC7D,KAAK,WAAW;YACZ,OAAO,uBAAC,aAAK,0BAAO,SAAS,WAAA,IAAK,KAAK,GAAM,CAAC;QAClD,KAAK,eAAe;YAChB,OAAO,uBAAC,mBAAQ,0BAAO,SAAS,WAAA,IAAK,KAAK,GAAM,CAAC;QACrD,KAAK,2BAA2B;YAC5B,OAAO,uBAAC,yCAAmB,0BAAO,SAAS,WAAA,IAAK,KAAK,GAAM,CAAC;QAChE,KAAK,0BAA0B;YAC3B,OAAO,uBAAC,uCAAkB,0BAAO,SAAS,WAAA,IAAK,KAAK,GAAM,CAAC;QAC/D,KAAK,4BAA4B;YAC7B,OAAO,uBAAC,yCAAmB,0BAAO,SAAS,WAAA,IAAK,KAAK,GAAM,CAAC;QAChE,KAAK,0BAA0B;YAC3B,OAAO,uBAAC,qCAAiB,0BAAO,SAAS,WAAA,IAAK,KAAK,GAAM,CAAC;QAC9D,KAAK,wBAAwB;YACzB,OAAO,uBAAC,mCAAgB,0BAAO,SAAS,WAAA,IAAK,KAAK,GAAM,CAAC;QAC7D,KAAK,uBAAuB;YACxB,OAAO,uBAAC,iCAAe,0BAAO,SAAS,WAAA,IAAK,KAAK,GAAM,CAAC;KAC/D;AACL,CAAC,CAAC,CAAC"}
|
@@ -0,0 +1,6 @@
|
|
1
|
+
/// <reference types="react" />
|
2
|
+
import type { KcProps } from "./KcProps";
|
3
|
+
import type { KcContextBase } from "../getKcContext/KcContextBase";
|
4
|
+
export declare const LoginConfigTotp: import("react").MemoExoticComponent<({ kcContext, ...props }: {
|
5
|
+
kcContext: KcContextBase.LoginConfigTotp;
|
6
|
+
} & KcProps) => JSX.Element>;
|
@@ -0,0 +1,44 @@
|
|
1
|
+
"use strict";
|
2
|
+
var __assign = (this && this.__assign) || function () {
|
3
|
+
__assign = Object.assign || function(t) {
|
4
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
5
|
+
s = arguments[i];
|
6
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
7
|
+
t[p] = s[p];
|
8
|
+
}
|
9
|
+
return t;
|
10
|
+
};
|
11
|
+
return __assign.apply(this, arguments);
|
12
|
+
};
|
13
|
+
var __rest = (this && this.__rest) || function (s, e) {
|
14
|
+
var t = {};
|
15
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
16
|
+
t[p] = s[p];
|
17
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
18
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
19
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
20
|
+
t[p[i]] = s[p[i]];
|
21
|
+
}
|
22
|
+
return t;
|
23
|
+
};
|
24
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
25
|
+
exports.LoginConfigTotp = void 0;
|
26
|
+
var jsx_runtime_1 = require("react/jsx-runtime");
|
27
|
+
var react_1 = require("react");
|
28
|
+
var Template_1 = require("./Template");
|
29
|
+
var i18n_1 = require("../i18n");
|
30
|
+
var tss_react_1 = require("tss-react");
|
31
|
+
exports.LoginConfigTotp = (0, react_1.memo)(function (_a) {
|
32
|
+
var _b;
|
33
|
+
var kcContext = _a.kcContext, props = __rest(_a, ["kcContext"]);
|
34
|
+
var url = kcContext.url, isAppInitiatedAction = kcContext.isAppInitiatedAction, totp = kcContext.totp, mode = kcContext.mode, messagesPerField = kcContext.messagesPerField;
|
35
|
+
var cx = (0, tss_react_1.useCssAndCx)().cx;
|
36
|
+
var _c = (0, i18n_1.getMsg)(kcContext), msg = _c.msg, msgStr = _c.msgStr;
|
37
|
+
var algToKeyUriAlg = {
|
38
|
+
HmacSHA1: "SHA1",
|
39
|
+
HmacSHA256: "SHA256",
|
40
|
+
HmacSHA512: "SHA512",
|
41
|
+
};
|
42
|
+
return ((0, jsx_runtime_1.jsx)(Template_1.Template, __assign({}, __assign({ kcContext: kcContext }, props), { doFetchDefaultThemeResources: true, headerNode: msg("loginTotpTitle"), formNode: (0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsxs)("ol", __assign({ id: "kc-totp-settings" }, { children: [(0, jsx_runtime_1.jsxs)("li", { children: [(0, jsx_runtime_1.jsx)("p", { children: msg("loginTotpStep1") }), (0, jsx_runtime_1.jsx)("ul", __assign({ id: "kc-totp-supported-apps" }, { children: totp.policy.supportedApplications.map(function (app) { return ((0, jsx_runtime_1.jsx)("li", { children: app })); }) }))] }), mode && mode == "manual" ? ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsxs)("li", { children: [(0, jsx_runtime_1.jsx)("p", { children: msg("loginTotpManualStep2") }), (0, jsx_runtime_1.jsx)("p", { children: (0, jsx_runtime_1.jsx)("span", __assign({ id: "kc-totp-secret-key" }, { children: totp.totpSecretEncoded })) }), (0, jsx_runtime_1.jsx)("p", { children: (0, jsx_runtime_1.jsx)("a", __assign({ href: totp.qrUrl, id: "mode-barcode" }, { children: msg("loginTotpScanBarcode") })) })] }), (0, jsx_runtime_1.jsxs)("li", { children: [(0, jsx_runtime_1.jsx)("p", { children: msg("loginTotpManualStep3") }), (0, jsx_runtime_1.jsx)("p", { children: (0, jsx_runtime_1.jsxs)("ul", { children: [(0, jsx_runtime_1.jsxs)("li", __assign({ id: "kc-totp-type" }, { children: [msg("loginTotpType"), ": ", msg("loginTotp.".concat(totp.policy.type))] })), (0, jsx_runtime_1.jsxs)("li", __assign({ id: "kc-totp-algorithm" }, { children: [msg("loginTotpAlgorithm"), ": ", (_b = algToKeyUriAlg === null || algToKeyUriAlg === void 0 ? void 0 : algToKeyUriAlg[totp.policy.algorithm]) !== null && _b !== void 0 ? _b : totp.policy.algorithm] })), (0, jsx_runtime_1.jsxs)("li", __assign({ id: "kc-totp-digits" }, { children: [msg("loginTotpDigits"), ": ", totp.policy.digits] })), totp.policy.type === "totp" ? ((0, jsx_runtime_1.jsxs)("li", __assign({ id: "kc-totp-period" }, { children: [msg("loginTotpInterval"), ": ", totp.policy.period] }))) : ((0, jsx_runtime_1.jsxs)("li", __assign({ id: "kc-totp-counter" }, { children: [msg("loginTotpCounter"), ": ", totp.policy.initialCounter] })))] }) })] })] })) : ((0, jsx_runtime_1.jsxs)("li", { children: [(0, jsx_runtime_1.jsx)("p", { children: msg("loginTotpStep2") }), (0, jsx_runtime_1.jsx)("img", { id: "kc-totp-secret-qr-code", src: "data:image/png;base64, ".concat(totp.totpSecretQrCode), alt: "Figure: Barcode" }), (0, jsx_runtime_1.jsx)("br", {}), (0, jsx_runtime_1.jsx)("p", { children: (0, jsx_runtime_1.jsx)("a", __assign({ href: totp.manualUrl, id: "mode-manual" }, { children: msg("loginTotpUnableToScan") })) })] })), (0, jsx_runtime_1.jsxs)("li", { children: [(0, jsx_runtime_1.jsx)("p", { children: msg("loginTotpStep3") }), (0, jsx_runtime_1.jsx)("p", { children: msg("loginTotpStep3DeviceName") })] })] })), (0, jsx_runtime_1.jsxs)("form", __assign({ action: url.loginAction, className: cx(props.kcFormClass), id: "kc-totp-settings-form", method: "post" }, { children: [(0, jsx_runtime_1.jsxs)("div", __assign({ className: cx(props.kcFormGroupClass) }, { children: [(0, jsx_runtime_1.jsxs)("div", __assign({ className: cx(props.kcInputWrapperClass) }, { children: [(0, jsx_runtime_1.jsx)("label", __assign({ htmlFor: "totp", className: cx(props.kcLabelClass) }, { children: msg("authenticatorCode") })), " ", (0, jsx_runtime_1.jsx)("span", __assign({ className: "required" }, { children: "*" }))] })), (0, jsx_runtime_1.jsxs)("div", __assign({ className: cx(props.kcInputWrapperClass) }, { children: [(0, jsx_runtime_1.jsx)("input", { type: "text", id: "totp", name: "totp", autoComplete: "off", className: cx(props.kcInputClass), "aria-invalid": messagesPerField.existsError("totp") }), messagesPerField.existsError("totp") && ((0, jsx_runtime_1.jsx)("span", __assign({ id: "input-error-otp-code", className: cx(props.kcInputErrorMessageClass), "aria-live": "polite" }, { children: messagesPerField.get("totp") })))] })), (0, jsx_runtime_1.jsx)("input", { type: "hidden", id: "totpSecret", name: "totpSecret", value: totp.totpSecret }), mode && (0, jsx_runtime_1.jsx)("input", { type: "hidden", id: "mode", value: mode })] })), (0, jsx_runtime_1.jsxs)("div", __assign({ className: cx(props.kcFormGroupClass) }, { children: [(0, jsx_runtime_1.jsxs)("div", __assign({ className: cx(props.kcInputWrapperClass) }, { children: [(0, jsx_runtime_1.jsx)("label", __assign({ htmlFor: "userLabel", className: cx(props.kcLabelClass) }, { children: msg("loginTotpDeviceName") })), " ", totp.otpCredentials.length >= 1 && (0, jsx_runtime_1.jsx)("span", __assign({ className: "required" }, { children: "*" }))] })), (0, jsx_runtime_1.jsxs)("div", __assign({ className: cx(props.kcInputWrapperClass) }, { children: [(0, jsx_runtime_1.jsx)("input", { type: "text", id: "userLabel", name: "userLabel", autoComplete: "off", className: cx(props.kcInputClass), "aria-invalid": messagesPerField.existsError("userLabel") }), messagesPerField.existsError("userLabel") && ((0, jsx_runtime_1.jsx)("span", __assign({ id: "input-error-otp-label", className: cx(props.kcInputErrorMessageClass), "aria-live": "polite" }, { children: messagesPerField.get("userLabel") })))] }))] })), isAppInitiatedAction ? ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)("input", { type: "submit", className: cx(props.kcButtonClass, props.kcButtonPrimaryClass, props.kcButtonLargeClass), id: "saveTOTPBtn", value: msgStr("doSubmit") }), (0, jsx_runtime_1.jsxs)("button", __assign({ type: "submit", className: cx(props.kcButtonClass, props.kcButtonDefaultClass, props.kcButtonLargeClass, props.kcButtonLargeClass), id: "cancelTOTPBtn", name: "cancel-aia", value: "true" }, { children: ["$", msg("doCancel")] }))] })) : ((0, jsx_runtime_1.jsx)("input", { type: "submit", className: cx(props.kcButtonClass, props.kcButtonPrimaryClass, props.kcButtonLargeClass), id: "saveTOTPBtn", value: msgStr("doSubmit") }))] }))] }) })));
|
43
|
+
});
|
44
|
+
//# sourceMappingURL=LoginConfigTotp.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"LoginConfigTotp.js","sourceRoot":"","sources":["../../src/lib/components/LoginConfigTotp.tsx"],"names":[],"mappings":"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"}
|
@@ -5,7 +5,7 @@ declare type ExtractAfterStartingWith<Prefix extends string, StrEnum> = StrEnum
|
|
5
5
|
* Some values might be undefined on some pages.
|
6
6
|
* (ex: url.loginAction is undefined on error.ftl)
|
7
7
|
*/
|
8
|
-
export declare type KcContextBase = KcContextBase.Login | KcContextBase.Register | KcContextBase.RegisterUserProfile | KcContextBase.Info | KcContextBase.Error | KcContextBase.LoginResetPassword | KcContextBase.LoginVerifyEmail | KcContextBase.Terms | KcContextBase.LoginOtp | KcContextBase.LoginUpdatePassword | KcContextBase.LoginUpdateProfile | KcContextBase.LoginIdpLinkConfirm | KcContextBase.LoginIdpLinkEmail | KcContextBase.LoginPageExpired;
|
8
|
+
export declare type KcContextBase = KcContextBase.Login | KcContextBase.Register | KcContextBase.RegisterUserProfile | KcContextBase.Info | KcContextBase.Error | KcContextBase.LoginResetPassword | KcContextBase.LoginVerifyEmail | KcContextBase.Terms | KcContextBase.LoginOtp | KcContextBase.LoginUpdatePassword | KcContextBase.LoginUpdateProfile | KcContextBase.LoginIdpLinkConfirm | KcContextBase.LoginIdpLinkEmail | KcContextBase.LoginPageExpired | KcContextBase.LoginConfigTotp;
|
9
9
|
export declare namespace KcContextBase {
|
10
10
|
type Common = {
|
11
11
|
url: {
|
@@ -191,6 +191,33 @@ export declare namespace KcContextBase {
|
|
191
191
|
type LoginPageExpired = Common & {
|
192
192
|
pageId: "login-page-expired.ftl";
|
193
193
|
};
|
194
|
+
type LoginConfigTotp = Common & {
|
195
|
+
pageId: "login-config-totp.ftl";
|
196
|
+
mode?: "qr" | "manual" | undefined | null;
|
197
|
+
totp: {
|
198
|
+
totpSecretEncoded: string;
|
199
|
+
qrUrl: string;
|
200
|
+
policy: {
|
201
|
+
supportedApplications: string[];
|
202
|
+
algorithm: "HmacSHA1" | "HmacSHA256" | "HmacSHA512";
|
203
|
+
digits: number;
|
204
|
+
lookAheadWindow: number;
|
205
|
+
} & ({
|
206
|
+
type: "totp";
|
207
|
+
period: number;
|
208
|
+
} | {
|
209
|
+
type: "hotp";
|
210
|
+
initialCounter: number;
|
211
|
+
});
|
212
|
+
totpSecretQrCode: string;
|
213
|
+
manualUrl: string;
|
214
|
+
totpSecret: string;
|
215
|
+
otpCredentials: {
|
216
|
+
id: string;
|
217
|
+
userLabel: string;
|
218
|
+
}[];
|
219
|
+
};
|
220
|
+
};
|
194
221
|
}
|
195
222
|
export declare type Attribute = {
|
196
223
|
name: string;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"KcContextBase.js","sourceRoot":"","sources":["../../src/lib/getKcContext/KcContextBase.ts"],"names":[],"mappings":";;AAEA,uCAAsC;
|
1
|
+
{"version":3,"file":"KcContextBase.js","sourceRoot":"","sources":["../../src/lib/getKcContext/KcContextBase.ts"],"names":[],"mappings":";;AAEA,uCAAsC;AAmXtC,IAAA,eAAM,GAA2C,CAAC"}
|
@@ -336,5 +336,21 @@ exports.kcContextMocks = __spreadArray(__spreadArray([
|
|
336
336
|
(0, id_1.id)(__assign(__assign({}, exports.kcContextCommonMock), { "pageId": "login-idp-link-email.ftl", "idpAlias": "FranceConnect", "brokerContext": {
|
337
337
|
"username": "anUsername",
|
338
338
|
} })),
|
339
|
+
(0, id_1.id)(__assign(__assign({}, exports.kcContextCommonMock), { "pageId": "login-config-totp.ftl", totp: {
|
340
|
+
totpSecretEncoded: "KVVF G2BY N4YX S6LB IUYT K2LH IFYE 4SBV",
|
341
|
+
qrUrl: "#",
|
342
|
+
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=",
|
343
|
+
manualUrl: "#",
|
344
|
+
totpSecret: "G4nsI8lQagRMUchH8jEG",
|
345
|
+
otpCredentials: [],
|
346
|
+
policy: {
|
347
|
+
supportedApplications: ["FreeOTP", "Google Authenticator"],
|
348
|
+
algorithm: "HmacSHA1",
|
349
|
+
digits: 6,
|
350
|
+
lookAheadWindow: 1,
|
351
|
+
type: "totp",
|
352
|
+
period: 30,
|
353
|
+
},
|
354
|
+
} })),
|
339
355
|
], false);
|
340
356
|
//# sourceMappingURL=kcContextMocks.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"kcContextMocks.js","sourceRoot":"","sources":["../../../src/lib/getKcContext/kcContextMocks/kcContextMocks.ts"],"names":[],"mappings":"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"}
|
1
|
+
{"version":3,"file":"kcContextMocks.js","sourceRoot":"","sources":["../../../src/lib/getKcContext/kcContextMocks/kcContextMocks.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,gDAA8C;AAE9C,iEAAiE;AACjE,uDAAwE;AACxE,+BAA8B;AAC9B,iDAAgD;AAEhD,IAAM,UAAU,GAAG,MAAA,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,mCAAI,GAAG,CAAC;AAEvC,QAAA,mBAAmB,GAAyB;IACrD,KAAK,EAAE;QACH,aAAa,EAAE,GAAG;QAClB,eAAe,EAAE,IAAA,mBAAQ,EAAC,UAAU,EAAE,gCAAa,CAAC;QACpD,qBAAqB,EAAE,IAAA,mBAAQ,EAAC,UAAU,EAAE,sCAAmB,CAAC;QAChE,qBAAqB,EAAE,iFAAiF;QACxG,UAAU,EAAE,sFAAsF;KACrG;IACD,OAAO,EAAE;QACL,MAAM,EAAE,SAAS;QACjB,aAAa,EAAE,SAAS;QACxB,iBAAiB,EAAE,SAAS;QAC5B,6BAA6B,EAAE,IAAI;QACnC,6BAA6B,EAAE,KAAK;KACvC;IACD,kBAAkB,EAAE;QAChB,eAAe,EAAE;YAAC,YAAQ;iBAAR,UAAQ,EAAR,qBAAQ,EAAR,IAAQ;gBAAR,uBAAQ;;YAAR,IAAA,KAAA,aAAQ,EAAF,CAAC,QAAA,CAAC;YAAK,OAAA,CAAC;QAAD,CAAC;QAChC,aAAa,EAAE,cAAM,OAAA,IAAI,EAAJ,CAAI;QACzB,KAAK,EAAE,UAAA,GAAG,IAAI,OAAA,yBAAkB,GAAG,CAAE,EAAvB,CAAuB;QACrC,QAAQ,EAAE,cAAM,OAAA,IAAI,EAAJ,CAAI;KACvB;IACD,QAAQ,EAAE;QACN,WAAW,EAAE;YACT,4BAA4B;YAC5B;gBACI,KAAK,EAAE,kJAAkJ;gBACzJ,OAAO,EAAE,SAAS;gBAClB,aAAa,EAAE,IAAI;aACtB;YACD;gBACI,KAAK,EAAE,kJAAkJ;gBACzJ,OAAO,EAAE,OAAO;gBAChB,aAAa,EAAE,IAAI;aACtB;YACD;gBACI,KAAK,EAAE,kJAAkJ;gBACzJ,OAAO,EAAE,SAAS;gBAClB,aAAa,EAAE,IAAI;aACtB;YACD;gBACI,KAAK,EAAE,kJAAkJ;gBACzJ,OAAO,EAAE,SAAS;gBAClB,aAAa,EAAE,IAAI;aACtB;YACD;gBACI,KAAK,EAAE,qJAAqJ;gBAC5J,OAAO,EAAE,oBAAoB;gBAC7B,aAAa,EAAE,OAAO;aACzB;YACD;gBACI,KAAK,EAAE,kJAAkJ;gBACzJ,OAAO,EAAE,UAAU;gBACnB,aAAa,EAAE,IAAI;aACtB;YACD;gBACI,KAAK,EAAE,kJAAkJ;gBACzJ,OAAO,EAAE,SAAS;gBAClB,aAAa,EAAE,IAAI;aACtB;YACD;gBACI,KAAK,EAAE,kJAAkJ;gBACzJ,OAAO,EAAE,UAAU;gBACnB,aAAa,EAAE,IAAI;aACtB;YACD;gBACI,KAAK,EAAE,kJAAkJ;gBACzJ,OAAO,EAAE,UAAU;gBACnB,aAAa,EAAE,IAAI;aACtB;YACD;gBACI,KAAK,EAAE,qJAAqJ;gBAC5J,OAAO,EAAE,MAAM;gBACf,aAAa,EAAE,OAAO;aACzB;YACD;gBACI,KAAK,EAAE,kJAAkJ;gBACzJ,OAAO,EAAE,SAAS;gBAClB,aAAa,EAAE,IAAI;aACtB;YACD;gBACI,KAAK,EAAE,kJAAkJ;gBACzJ,OAAO,EAAE,SAAS;gBAClB,aAAa,EAAE,IAAI;aACtB;YACD;gBACI,KAAK,EAAE,kJAAkJ;gBACzJ,OAAO,EAAE,KAAK;gBACd,aAAa,EAAE,IAAI;aACtB;YACD;gBACI,KAAK,EAAE,kJAAkJ;gBACzJ,OAAO,EAAE,YAAY;gBACrB,aAAa,EAAE,IAAI;aACtB;YACD;gBACI,KAAK,EAAE,kJAAkJ;gBACzJ,OAAO,EAAE,QAAQ;gBACjB,aAAa,EAAE,IAAI;aACtB;YACD;gBACI,KAAK,EAAE,kJAAkJ;gBACzJ,OAAO,EAAE,QAAQ;gBACjB,aAAa,EAAE,IAAI;aACtB;YACD;gBACI,KAAK,EAAE,kJAAkJ;gBACzJ,OAAO,EAAE,YAAY;gBACrB,aAAa,EAAE,IAAI;aACtB;YACD;gBACI,KAAK,EAAE,kJAAkJ;gBACzJ,OAAO,EAAE,QAAQ;gBACjB,aAAa,EAAE,IAAI;aACtB;YACD,2BAA2B;SAC9B;QACD,oBAAoB,EAAE,IAAI;KAC7B;IACD,MAAM,EAAE;QACJ,cAAc,EAAE,KAAK;QACrB,sBAAsB,EAAE,KAAK;QAC7B,uBAAuB,EAAE,KAAK;KACjC;IACD,QAAQ,EAAE;QACN,UAAU,EAAE,OAAO;KACtB;IACD,SAAS,EAAE,EAAE;IACb,SAAS,EAAE;QACP,MAAM,EAAE,SAAS;QACjB,SAAS,EAAE,wBAAwB;KACtC;IACD,sBAAsB,EAAE,KAAK;CAChC,CAAC;AAEF,IAAM,QAAQ,yBACP,2BAAmB,CAAC,GAAG,KAC1B,0BAA0B,EAAE,2FAA2F,EACvH,iBAAiB,EAAE,sFAAsF,GAC5G,CAAC;AAEW,QAAA,cAAc;IACvB,IAAA,OAAE,wBACK,2BAAmB,KACtB,QAAQ,EAAE,WAAW,EACrB,KAAK,EAAE,QAAQ,EACf,OAAO,wBACA,2BAAmB,CAAC,KAAK,KAC5B,uBAAuB,EAAE,IAAI,EAC7B,YAAY,EAAE,IAAI,EAClB,UAAU,EAAE,IAAI,EAChB,sBAAsB,EAAE,IAAI,EAC5B,qBAAqB,EAAE,IAAI,KAE/B,MAAM,EAAE,2BAAmB,CAAC,IAAK,EACjC,QAAQ,EAAE;YACN,aAAa,EAAE,IAAI;SACtB,EACD,sBAAsB,EAAE,KAAK,EAC7B,OAAO,EAAE;YACL,YAAY,EAAE,KAAK;SACtB,EACD,sBAAsB,EAAE,KAAK,IAC/B;UACC,CAAC;IACA,IAAM,cAAc,yBACb,2BAAmB,KACtB,KAAK,wBACE,QAAQ,KACX,oBAAoB,EAChB,mNAAmN,KAE3N,SAAS,EAAE,EAAE,EACb,sBAAsB,EAAE,KAAK,EAC7B,kBAAkB,EAAE,IAAI,EACxB,mBAAmB,EAAE,KAAK,EAC1B,QAAQ,EAAE;YACN,aAAa,EAAE,IAAI;SACtB,GACJ,CAAC;IAEF,OAAO;QACH,IAAA,OAAE,sBACE,QAAQ,EAAE,cAAc,IACrB,cAAc,KACjB,UAAU,EAAE;gBACR,UAAU,EAAE,EAAE;aACjB,IACH;QACF,IAAA,OAAE,sBACE,QAAQ,EAAE,2BAA2B,IAClC,cAAc,KACjB,SAAS,aACL,SAAS,EAAE,sBAA+B,IACvC,CAAC;gBACA,IAAM,UAAU,GAAgB;oBAC5B;wBACI,YAAY,EAAE;4BACV,gCAAgC,EAAE;gCAC9B,oBAAoB,EAAE,IAAI;6BAC7B;4BACD,uBAAuB,EAAE,EAAE;4BAC3B,QAAQ,EAAE;gCACN,oBAAoB,EAAE,IAAI;gCAC1B,KAAK,EAAE,GAAG;gCACV,KAAK,EAAE,KAAK;6BACf;4BACD,uBAAuB,EAAE,EAAE;4BAC3B,sBAAsB,EAAE,EAAE;yBAC7B;wBACD,aAAa,EAAE,aAAa;wBAC5B,aAAa,EAAE,EAAE;wBACjB,UAAU,EAAE,IAAI;wBAChB,kBAAkB,EAAE,EAAE;wBACtB,cAAc,EAAE,UAAU;wBAC1B,UAAU,EAAE,KAAK;wBACjB,MAAM,EAAE,UAAU;wBAClB,OAAO,EAAE,MAAM;qBAClB;oBACD;wBACI,YAAY,EAAE;4BACV,6BAA6B,EAAE,EAAE;4BACjC,QAAQ,EAAE;gCACN,KAAK,EAAE,KAAK;gCACZ,oBAAoB,EAAE,IAAI;6BAC7B;4BACD,0BAA0B,EAAE;gCACxB,eAAe,EAAE,qBAAqB;gCACtC,cAAc,EAAE,KAAK;6BACxB;4BACD,oBAAoB,EAAE,EAAE;4BACxB,OAAO,EAAE;gCACL,oBAAoB,EAAE,IAAI;6BAC7B;4BACD,SAAS,EAAE;gCACP,oBAAoB,EAAE,IAAI;gCAC1B,SAAS,EAAE,cAAc;6BAC5B;yBACJ;wBACD,aAAa,EAAE,UAAU;wBACzB,aAAa,EAAE,EAAE;wBACjB,UAAU,EAAE,IAAI;wBAChB,kBAAkB,EAAE,EAAE;wBACtB,cAAc,EAAE,OAAO;wBACvB,UAAU,EAAE,KAAK;wBACjB,MAAM,EAAE,OAAO;qBAClB;oBACD;wBACI,YAAY,EAAE;4BACV,QAAQ,EAAE;gCACN,KAAK,EAAE,KAAK;gCACZ,oBAAoB,EAAE,IAAI;6BAC7B;4BACD,mCAAmC,EAAE;gCACjC,oBAAoB,EAAE,IAAI;6BAC7B;4BACD,wBAAwB,EAAE,EAAE;4BAC5B,yCAAyC,EAAE,EAAE;yBAChD;wBACD,aAAa,EAAE,cAAc;wBAC7B,aAAa,EAAE,EAAE;wBACjB,UAAU,EAAE,IAAI;wBAChB,kBAAkB,EAAE,EAAE;wBACtB,UAAU,EAAE,KAAK;wBACjB,MAAM,EAAE,WAAW;qBACtB;oBACD;wBACI,YAAY,EAAE;4BACV,QAAQ,EAAE;gCACN,KAAK,EAAE,KAAK;gCACZ,oBAAoB,EAAE,IAAI;6BAC7B;4BACD,mCAAmC,EAAE;gCACjC,oBAAoB,EAAE,IAAI;6BAC7B;4BACD,wBAAwB,EAAE,EAAE;4BAC5B,yCAAyC,EAAE,EAAE;yBAChD;wBACD,aAAa,EAAE,aAAa;wBAC5B,aAAa,EAAE,EAAE;wBACjB,UAAU,EAAE,IAAI;wBAChB,kBAAkB,EAAE,EAAE;wBACtB,UAAU,EAAE,KAAK;wBACjB,MAAM,EAAE,UAAU;qBACrB;iBACJ,CAAC;gBAEF,OAAO;oBACH,UAAU,YAAA;oBACV,kBAAkB,EAAE,MAAM,CAAC,WAAW,CAAC,UAAU,CAAC,GAAG,CAAC,UAAA,SAAS,IAAI,OAAA,CAAC,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,EAA3B,CAA2B,CAAC,CAAQ;iBACnG,CAAC;YACb,CAAC,CAAC,EAAE,KAEV;KACL,CAAC;AACN,CAAC,CAAC,EAAE;IACJ,IAAA,OAAE,wBACK,2BAAmB,KACtB,QAAQ,EAAE,UAAU,EACpB,eAAe,EAAE,kBAAkB,EACnC,iBAAiB,EAAE,SAAS,EAC5B,UAAU,EAAE,KAAK,EACjB,WAAW,EAAE,GAAG,EAChB,QAAQ,EAAE;YACN,UAAU,EAAE,OAAO;YACnB,SAAS,EAAE,GAAG;SACjB,IACH;IACF,IAAA,OAAE,wBACK,2BAAmB,KACtB,QAAQ,EAAE,WAAW,EACrB,QAAQ,EAAE;YACN,UAAU,EAAE,OAAO;YACnB,SAAS,EAAE,GAAG;SACjB,EACD,SAAS,EAAE;YACP,MAAM,EAAE,OAAO;YACf,SAAS,EAAE,2BAA2B;SACzC,IACH;IACF,IAAA,OAAE,wBACK,2BAAmB,KACtB,QAAQ,EAAE,0BAA0B,EACpC,OAAO,wBACA,2BAAmB,CAAC,KAAK,KAC5B,uBAAuB,EAAE,KAAK,OAEpC;IACF,IAAA,OAAE,wBACK,2BAAmB,KACtB,QAAQ,EAAE,wBAAwB,IACpC;IACF,IAAA,OAAE,wBACK,2BAAmB,KACtB,QAAQ,EAAE,WAAW,IACvB;IACF,IAAA,OAAE,wBACK,2BAAmB,KACtB,QAAQ,EAAE,eAAe,EACzB,UAAU,EAAE;YACR,oBAAoB,EAAE;gBAClB;oBACI,IAAI,EAAE,KAAK;oBACX,WAAW,EAAE,QAAQ;iBACxB;gBACD;oBACI,IAAI,EAAE,KAAK;oBACX,WAAW,EAAE,QAAQ;iBACxB;aACJ;SACJ,IACH;IACF,IAAA,OAAE,wBACK,2BAAmB,KACtB,QAAQ,EAAE,2BAA2B,EACrC,UAAU,EAAE,YAAY,IAC1B;IACF,IAAA,OAAE,wBACK,2BAAmB,KACtB,QAAQ,EAAE,0BAA0B,EACpC,MAAM,EAAE;YACJ,qBAAqB,EAAE,IAAI;YAC3B,UAAU,EAAE,YAAY;YACxB,OAAO,EAAE,iBAAiB;YAC1B,WAAW,EAAE,YAAY;YACzB,UAAU,EAAE,WAAW;SAC1B,IACH;IACF,IAAA,OAAE,wBACK,2BAAmB,KACtB,QAAQ,EAAE,4BAA4B,EACtC,UAAU,EAAE,eAAe,IAC7B;IACF,IAAA,OAAE,wBACK,2BAAmB,KACtB,QAAQ,EAAE,0BAA0B,EACpC,UAAU,EAAE,eAAe,EAC3B,eAAe,EAAE;YACb,UAAU,EAAE,YAAY;SAC3B,IACH;IACF,IAAA,OAAE,wBACK,2BAAmB,KACtB,QAAQ,EAAE,uBAAuB,EACjC,IAAI,EAAE;YACF,iBAAiB,EAAE,yCAAyC;YAC5D,KAAK,EAAE,GAAG;YACV,gBAAgB,EACZ,8zBAA8zB;YACl0B,SAAS,EAAE,GAAG;YACd,UAAU,EAAE,sBAAsB;YAClC,cAAc,EAAE,EAAE;YAClB,MAAM,EAAE;gBACJ,qBAAqB,EAAE,CAAC,SAAS,EAAE,sBAAsB,CAAC;gBAC1D,SAAS,EAAE,UAAU;gBACrB,MAAM,EAAE,CAAC;gBACT,eAAe,EAAE,CAAC;gBAClB,IAAI,EAAE,MAAM;gBACZ,MAAM,EAAE,EAAE;aACb;SACJ,IACH;UACJ"}
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "keycloakify",
|
3
|
-
"version": "5.
|
3
|
+
"version": "5.6.0",
|
4
4
|
"description": "Keycloak theme generator for Reacts app",
|
5
5
|
"repository": {
|
6
6
|
"type": "git",
|
@@ -56,6 +56,7 @@
|
|
56
56
|
"src/lib/components/KcApp.tsx",
|
57
57
|
"src/lib/components/KcProps.ts",
|
58
58
|
"src/lib/components/Login.tsx",
|
59
|
+
"src/lib/components/LoginConfigTotp.tsx",
|
59
60
|
"src/lib/components/LoginIdpLinkConfirm.tsx",
|
60
61
|
"src/lib/components/LoginIdpLinkEmail.tsx",
|
61
62
|
"src/lib/components/LoginOtp.tsx",
|
@@ -192,6 +193,9 @@
|
|
192
193
|
"lib/components/Login.d.ts",
|
193
194
|
"lib/components/Login.js",
|
194
195
|
"lib/components/Login.js.map",
|
196
|
+
"lib/components/LoginConfigTotp.d.ts",
|
197
|
+
"lib/components/LoginConfigTotp.js",
|
198
|
+
"lib/components/LoginConfigTotp.js.map",
|
195
199
|
"lib/components/LoginIdpLinkConfirm.d.ts",
|
196
200
|
"lib/components/LoginIdpLinkConfirm.js",
|
197
201
|
"lib/components/LoginIdpLinkConfirm.js.map",
|
@@ -356,13 +360,13 @@
|
|
356
360
|
"@emotion/react": "^11.4.1",
|
357
361
|
"@types/memoizee": "^0.4.7",
|
358
362
|
"@types/node": "^17.0.25",
|
359
|
-
"@types/react": "
|
363
|
+
"@types/react": "18.0.9",
|
360
364
|
"copyfiles": "^2.4.1",
|
361
365
|
"husky": "^4.3.8",
|
362
366
|
"lint-staged": "^11.0.0",
|
363
367
|
"prettier": "^2.3.0",
|
364
368
|
"properties-parser": "^0.3.1",
|
365
|
-
"react": "
|
369
|
+
"react": "18.1.0",
|
366
370
|
"rimraf": "^3.0.2",
|
367
371
|
"typescript": "^4.2.3"
|
368
372
|
},
|
@@ -15,6 +15,7 @@ import { LoginUpdateProfile } from "./LoginUpdateProfile";
|
|
15
15
|
import { LoginIdpLinkConfirm } from "./LoginIdpLinkConfirm";
|
16
16
|
import { LoginPageExpired } from "./LoginPageExpired";
|
17
17
|
import { LoginIdpLinkEmail } from "./LoginIdpLinkEmail";
|
18
|
+
import { LoginConfigTotp } from "./LoginConfigTotp";
|
18
19
|
|
19
20
|
export const KcApp = memo(({ kcContext, ...props }: { kcContext: KcContextBase } & KcProps) => {
|
20
21
|
switch (kcContext.pageId) {
|
@@ -46,5 +47,7 @@ export const KcApp = memo(({ kcContext, ...props }: { kcContext: KcContextBase }
|
|
46
47
|
return <LoginIdpLinkEmail {...{ kcContext, ...props }} />;
|
47
48
|
case "login-page-expired.ftl":
|
48
49
|
return <LoginPageExpired {...{ kcContext, ...props }} />;
|
50
|
+
case "login-config-totp.ftl":
|
51
|
+
return <LoginConfigTotp {...{ kcContext, ...props }} />;
|
49
52
|
}
|
50
53
|
});
|
@@ -0,0 +1,183 @@
|
|
1
|
+
import { memo } from "react";
|
2
|
+
import { Template } from "./Template";
|
3
|
+
import type { KcProps } from "./KcProps";
|
4
|
+
import type { KcContextBase } from "../getKcContext/KcContextBase";
|
5
|
+
import { getMsg } from "../i18n";
|
6
|
+
import { useCssAndCx } from "tss-react";
|
7
|
+
|
8
|
+
export const LoginConfigTotp = memo(({ kcContext, ...props }: { kcContext: KcContextBase.LoginConfigTotp } & KcProps) => {
|
9
|
+
const { url, isAppInitiatedAction, totp, mode, messagesPerField } = kcContext;
|
10
|
+
|
11
|
+
const { cx } = useCssAndCx();
|
12
|
+
|
13
|
+
const { msg, msgStr } = getMsg(kcContext);
|
14
|
+
const algToKeyUriAlg: Record<KcContextBase.LoginConfigTotp["totp"]["policy"]["algorithm"], string> = {
|
15
|
+
HmacSHA1: "SHA1",
|
16
|
+
HmacSHA256: "SHA256",
|
17
|
+
HmacSHA512: "SHA512",
|
18
|
+
};
|
19
|
+
|
20
|
+
return (
|
21
|
+
<Template
|
22
|
+
{...{ kcContext, ...props }}
|
23
|
+
doFetchDefaultThemeResources={true}
|
24
|
+
headerNode={msg("loginTotpTitle")}
|
25
|
+
formNode={
|
26
|
+
<>
|
27
|
+
<ol id="kc-totp-settings">
|
28
|
+
<li>
|
29
|
+
<p>{msg("loginTotpStep1")}</p>
|
30
|
+
|
31
|
+
<ul id="kc-totp-supported-apps">
|
32
|
+
{totp.policy.supportedApplications.map(app => (
|
33
|
+
<li>{app}</li>
|
34
|
+
))}
|
35
|
+
</ul>
|
36
|
+
</li>
|
37
|
+
|
38
|
+
{mode && mode == "manual" ? (
|
39
|
+
<>
|
40
|
+
<li>
|
41
|
+
<p>{msg("loginTotpManualStep2")}</p>
|
42
|
+
<p>
|
43
|
+
<span id="kc-totp-secret-key">{totp.totpSecretEncoded}</span>
|
44
|
+
</p>
|
45
|
+
<p>
|
46
|
+
<a href={totp.qrUrl} id="mode-barcode">
|
47
|
+
{msg("loginTotpScanBarcode")}
|
48
|
+
</a>
|
49
|
+
</p>
|
50
|
+
</li>
|
51
|
+
<li>
|
52
|
+
<p>{msg("loginTotpManualStep3")}</p>
|
53
|
+
<p>
|
54
|
+
<ul>
|
55
|
+
<li id="kc-totp-type">
|
56
|
+
{msg("loginTotpType")}: {msg(`loginTotp.${totp.policy.type}`)}
|
57
|
+
</li>
|
58
|
+
<li id="kc-totp-algorithm">
|
59
|
+
{msg("loginTotpAlgorithm")}: {algToKeyUriAlg?.[totp.policy.algorithm] ?? totp.policy.algorithm}
|
60
|
+
</li>
|
61
|
+
<li id="kc-totp-digits">
|
62
|
+
{msg("loginTotpDigits")}: {totp.policy.digits}
|
63
|
+
</li>
|
64
|
+
{totp.policy.type === "totp" ? (
|
65
|
+
<li id="kc-totp-period">
|
66
|
+
{msg("loginTotpInterval")}: {totp.policy.period}
|
67
|
+
</li>
|
68
|
+
) : (
|
69
|
+
<li id="kc-totp-counter">
|
70
|
+
{msg("loginTotpCounter")}: {totp.policy.initialCounter}
|
71
|
+
</li>
|
72
|
+
)}
|
73
|
+
</ul>
|
74
|
+
</p>
|
75
|
+
</li>
|
76
|
+
</>
|
77
|
+
) : (
|
78
|
+
<li>
|
79
|
+
<p>{msg("loginTotpStep2")}</p>
|
80
|
+
<img id="kc-totp-secret-qr-code" src={`data:image/png;base64, ${totp.totpSecretQrCode}`} alt="Figure: Barcode" />
|
81
|
+
<br />
|
82
|
+
<p>
|
83
|
+
<a href={totp.manualUrl} id="mode-manual">
|
84
|
+
{msg("loginTotpUnableToScan")}
|
85
|
+
</a>
|
86
|
+
</p>
|
87
|
+
</li>
|
88
|
+
)}
|
89
|
+
<li>
|
90
|
+
<p>{msg("loginTotpStep3")}</p>
|
91
|
+
<p>{msg("loginTotpStep3DeviceName")}</p>
|
92
|
+
</li>
|
93
|
+
</ol>
|
94
|
+
|
95
|
+
<form action={url.loginAction} className={cx(props.kcFormClass)} id="kc-totp-settings-form" method="post">
|
96
|
+
<div className={cx(props.kcFormGroupClass)}>
|
97
|
+
<div className={cx(props.kcInputWrapperClass)}>
|
98
|
+
<label htmlFor="totp" className={cx(props.kcLabelClass)}>
|
99
|
+
{msg("authenticatorCode")}
|
100
|
+
</label>{" "}
|
101
|
+
<span className="required">*</span>
|
102
|
+
</div>
|
103
|
+
<div className={cx(props.kcInputWrapperClass)}>
|
104
|
+
<input
|
105
|
+
type="text"
|
106
|
+
id="totp"
|
107
|
+
name="totp"
|
108
|
+
autoComplete="off"
|
109
|
+
className={cx(props.kcInputClass)}
|
110
|
+
aria-invalid={messagesPerField.existsError("totp")}
|
111
|
+
/>
|
112
|
+
|
113
|
+
{messagesPerField.existsError("totp") && (
|
114
|
+
<span id="input-error-otp-code" className={cx(props.kcInputErrorMessageClass)} aria-live="polite">
|
115
|
+
{messagesPerField.get("totp")}
|
116
|
+
</span>
|
117
|
+
)}
|
118
|
+
</div>
|
119
|
+
<input type="hidden" id="totpSecret" name="totpSecret" value={totp.totpSecret} />
|
120
|
+
{mode && <input type="hidden" id="mode" value={mode} />}
|
121
|
+
</div>
|
122
|
+
|
123
|
+
<div className={cx(props.kcFormGroupClass)}>
|
124
|
+
<div className={cx(props.kcInputWrapperClass)}>
|
125
|
+
<label htmlFor="userLabel" className={cx(props.kcLabelClass)}>
|
126
|
+
{msg("loginTotpDeviceName")}
|
127
|
+
</label>{" "}
|
128
|
+
{totp.otpCredentials.length >= 1 && <span className="required">*</span>}
|
129
|
+
</div>
|
130
|
+
<div className={cx(props.kcInputWrapperClass)}>
|
131
|
+
<input
|
132
|
+
type="text"
|
133
|
+
id="userLabel"
|
134
|
+
name="userLabel"
|
135
|
+
autoComplete="off"
|
136
|
+
className={cx(props.kcInputClass)}
|
137
|
+
aria-invalid={messagesPerField.existsError("userLabel")}
|
138
|
+
/>
|
139
|
+
{messagesPerField.existsError("userLabel") && (
|
140
|
+
<span id="input-error-otp-label" className={cx(props.kcInputErrorMessageClass)} aria-live="polite">
|
141
|
+
{messagesPerField.get("userLabel")}
|
142
|
+
</span>
|
143
|
+
)}
|
144
|
+
</div>
|
145
|
+
</div>
|
146
|
+
|
147
|
+
{isAppInitiatedAction ? (
|
148
|
+
<>
|
149
|
+
<input
|
150
|
+
type="submit"
|
151
|
+
className={cx(props.kcButtonClass, props.kcButtonPrimaryClass, props.kcButtonLargeClass)}
|
152
|
+
id="saveTOTPBtn"
|
153
|
+
value={msgStr("doSubmit")}
|
154
|
+
/>
|
155
|
+
<button
|
156
|
+
type="submit"
|
157
|
+
className={cx(
|
158
|
+
props.kcButtonClass,
|
159
|
+
props.kcButtonDefaultClass,
|
160
|
+
props.kcButtonLargeClass,
|
161
|
+
props.kcButtonLargeClass,
|
162
|
+
)}
|
163
|
+
id="cancelTOTPBtn"
|
164
|
+
name="cancel-aia"
|
165
|
+
value="true"
|
166
|
+
>
|
167
|
+
${msg("doCancel")}
|
168
|
+
</button>
|
169
|
+
</>
|
170
|
+
) : (
|
171
|
+
<input
|
172
|
+
type="submit"
|
173
|
+
className={cx(props.kcButtonClass, props.kcButtonPrimaryClass, props.kcButtonLargeClass)}
|
174
|
+
id="saveTOTPBtn"
|
175
|
+
value={msgStr("doSubmit")}
|
176
|
+
/>
|
177
|
+
)}
|
178
|
+
</form>
|
179
|
+
</>
|
180
|
+
}
|
181
|
+
/>
|
182
|
+
);
|
183
|
+
});
|
@@ -24,7 +24,8 @@ export type KcContextBase =
|
|
24
24
|
| KcContextBase.LoginUpdateProfile
|
25
25
|
| KcContextBase.LoginIdpLinkConfirm
|
26
26
|
| KcContextBase.LoginIdpLinkEmail
|
27
|
-
| KcContextBase.LoginPageExpired
|
27
|
+
| KcContextBase.LoginPageExpired
|
28
|
+
| KcContextBase.LoginConfigTotp;
|
28
29
|
|
29
30
|
export declare namespace KcContextBase {
|
30
31
|
export type Common = {
|
@@ -223,6 +224,34 @@ export declare namespace KcContextBase {
|
|
223
224
|
export type LoginPageExpired = Common & {
|
224
225
|
pageId: "login-page-expired.ftl";
|
225
226
|
};
|
227
|
+
|
228
|
+
export type LoginConfigTotp = Common & {
|
229
|
+
pageId: "login-config-totp.ftl";
|
230
|
+
mode?: "qr" | "manual" | undefined | null;
|
231
|
+
totp: {
|
232
|
+
totpSecretEncoded: string;
|
233
|
+
qrUrl: string;
|
234
|
+
policy: {
|
235
|
+
supportedApplications: string[];
|
236
|
+
algorithm: "HmacSHA1" | "HmacSHA256" | "HmacSHA512";
|
237
|
+
digits: number;
|
238
|
+
lookAheadWindow: number;
|
239
|
+
} & (
|
240
|
+
| {
|
241
|
+
type: "totp";
|
242
|
+
period: number;
|
243
|
+
}
|
244
|
+
| {
|
245
|
+
type: "hotp";
|
246
|
+
initialCounter: number;
|
247
|
+
}
|
248
|
+
);
|
249
|
+
totpSecretQrCode: string;
|
250
|
+
manualUrl: string;
|
251
|
+
totpSecret: string;
|
252
|
+
otpCredentials: { id: string; userLabel: string }[];
|
253
|
+
};
|
254
|
+
};
|
226
255
|
}
|
227
256
|
|
228
257
|
export type Attribute = {
|
@@ -387,4 +387,25 @@ export const kcContextMocks: KcContextBase[] = [
|
|
387
387
|
"username": "anUsername",
|
388
388
|
},
|
389
389
|
}),
|
390
|
+
id<KcContextBase.LoginConfigTotp>({
|
391
|
+
...kcContextCommonMock,
|
392
|
+
"pageId": "login-config-totp.ftl",
|
393
|
+
totp: {
|
394
|
+
totpSecretEncoded: "KVVF G2BY N4YX S6LB IUYT K2LH IFYE 4SBV",
|
395
|
+
qrUrl: "#",
|
396
|
+
totpSecretQrCode:
|
397
|
+
"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=",
|
398
|
+
manualUrl: "#",
|
399
|
+
totpSecret: "G4nsI8lQagRMUchH8jEG",
|
400
|
+
otpCredentials: [],
|
401
|
+
policy: {
|
402
|
+
supportedApplications: ["FreeOTP", "Google Authenticator"],
|
403
|
+
algorithm: "HmacSHA1",
|
404
|
+
digits: 6,
|
405
|
+
lookAheadWindow: 1,
|
406
|
+
type: "totp",
|
407
|
+
period: 30,
|
408
|
+
},
|
409
|
+
},
|
410
|
+
}),
|
390
411
|
];
|