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 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
@@ -38,6 +38,10 @@
38
38
 
39
39
  # Changelog highlights
40
40
 
41
+ ## v5.6.0
42
+
43
+ Add support for `login-config-totp.ftl` page [#127](https://github.com/InseeFrLab/keycloakify/pull/127).
44
+
41
45
  ## v5.3.0
42
46
 
43
47
  Rename `keycloak_theme_email` to `keycloak_email`.
@@ -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":"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"}
1
+ {"version":3,"file":"generateFtl.js","sourceRoot":"","sources":["../../../src/bin/build-keycloak-theme/generateFtl/generateFtl.ts"],"names":[],"mappings":"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"}
@@ -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;AAE3C,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;KAChE;AACL,CAAC,CAAC,CAAC"}
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;AAsVtC,IAAA,eAAM,GAA2C,CAAC"}
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":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "keycloakify",
3
- "version": "5.5.0",
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": "^17.0.0",
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": "^17.0.1",
369
+ "react": "18.1.0",
366
370
  "rimraf": "^3.0.2",
367
371
  "typescript": "^4.2.3"
368
372
  },
@@ -20,6 +20,7 @@ export const pageIds = [
20
20
  "login-idp-link-confirm.ftl",
21
21
  "login-idp-link-email.ftl",
22
22
  "login-page-expired.ftl",
23
+ "login-config-totp.ftl",
23
24
  ] as const;
24
25
 
25
26
  export type PageId = typeof pageIds[number];
@@ -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
  ];