keycloakify 4.3.0 → 4.5.2-beta.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,19 @@
1
+ ### **4.5.1** (2022-01-18)
2
+
3
+ - fix previous version
4
+
5
+ ## **4.5.0** (2022-01-18)
6
+
7
+ - Read public/CNAME for domain name in --externel-assets mode
8
+
9
+ ## **4.4.0** (2022-01-01)
10
+
11
+ - Merge pull request #73 from lazToum/main
12
+
13
+ (feature) added login-page-expired.ftl
14
+ - added login-page-expired.ftl
15
+ - Add update instruction for 4.3.0
16
+
1
17
  ## **4.3.0** (2021-12-27)
2
18
 
3
19
  - Merge pull request #72 from praiz/main
package/README.md CHANGED
@@ -30,7 +30,9 @@
30
30
  <img src="https://user-images.githubusercontent.com/6702424/110260457-a1c3d380-7fac-11eb-853a-80459b65626b.png">
31
31
  </p>
32
32
 
33
- > **New in v4.3.0**: Feature [`login-update-password.ftl`](https://github.com/InseeFrLab/keycloakify/pull/72)
33
+ > **New in v4.4.0**: Feature [`login-page-expired.ftl`](https://user-images.githubusercontent.com/6702424/147856832-38c042a7-9fc8-473f-9595-e00123095ca6.png).
34
+ > Every time a page is added it's a breaking change for non CSS-only theme.
35
+ > Change [this](https://github.com/garronej/keycloakify-demo-app/blob/812754109c61157741f4a0b222026deb1538a02d/src/KcApp/KcApp.tsx#L18) and [this](https://github.com/garronej/keycloakify-demo-app/blob/812754109c61157741f4a0b222026deb1538a02d/src/KcApp/KcApp.tsx#L39) to update.
34
36
 
35
37
  # Motivations
36
38
 
@@ -87,7 +89,6 @@ If you already have a Keycloak custom theme, it can be easily ported to Keycloak
87
89
  - [Adding custom message (to `i18n/useKcMessage.tsx`)](#adding-custom-message-to-i18nusekcmessagetsx)
88
90
  - [Email domain whitelist](#email-domain-whitelist)
89
91
  - [Changelog highlights](#changelog-highlights)
90
- - [v4.3](#v43)
91
92
  - [v4](#v4)
92
93
  - [v3](#v3)
93
94
  - [v2.5](#v25)
@@ -294,7 +295,7 @@ If you are specifically building a theme to integrate with an app or a website t
294
295
  to first browse unauthenticated before logging in, you will get a significant
295
296
  performance boost if you jump through those hoops:
296
297
 
297
- - Provide the url of your app in the `homepage` field of package.json. [ex](https://github.com/garronej/keycloakify-demo-app/blob/7847cc70ef374ab26a6cc7953461cf25603e9a6d/package.json#L2)
298
+ - Provide the url of your app in the `homepage` field of package.json. [ex](https://github.com/garronej/keycloakify-demo-app/blob/7847cc70ef374ab26a6cc7953461cf25603e9a6d/package.json#L2) or in a `public/CNAME` file. [ex](https://github.com/garronej/keycloakify-demo-app/blob/main/public/CNAME).
298
299
  - Build the theme using `npx build-keycloak-theme --external-assets` [ex](https://github.com/garronej/keycloakify-demo-app/blob/7847cc70ef374ab26a6cc7953461cf25603e9a6d/.github/workflows/ci.yaml#L21)
299
300
  - Enable [long-term assets caching](https://create-react-app.dev/docs/production-build/#static-file-caching) on the server hosting your app.
300
301
  - Make sure not to build your app and the keycloak theme separately
@@ -478,9 +479,9 @@ and `kcRegisterContext["authorizedMailDomains"]` to validate on.
478
479
 
479
480
  # Changelog highlights
480
481
 
481
- ## v4.3
482
-
483
- Feature [`login-update-password.ftl`](https://github.com/InseeFrLab/keycloakify/pull/72)
482
+ > **New in v4.3.0**: Feature [`login-update-password.ftl`](https://user-images.githubusercontent.com/6702424/147517600-6191cf72-93dd-437b-a35c-47180142063e.png).
483
+ > Every time a page is added it's a breaking change for non CSS-only theme.
484
+ > Change [this](https://github.com/garronej/keycloakify-demo-app/blob/df664c13c77ce3c53ac7df0622d94d04e76d3f9f/src/KcApp/KcApp.tsx#L17) and [this](https://github.com/garronej/keycloakify-demo-app/blob/df664c13c77ce3c53ac7df0622d94d04e76d3f9f/src/KcApp/KcApp.tsx#L37) to update.
484
485
 
485
486
  ## v4
486
487
 
@@ -38,6 +38,7 @@ var path_1 = require("path");
38
38
  var child_process = __importStar(require("child_process"));
39
39
  var generateDebugFiles_1 = require("./generateDebugFiles");
40
40
  var url_1 = require("url");
41
+ var fs = __importStar(require("fs"));
41
42
  var reactProjectDirPath = process.cwd();
42
43
  var doUseExternalAssets = ((_a = process.argv[2]) === null || _a === void 0 ? void 0 : _a.toLowerCase()) === "--external-assets";
43
44
  var parsedPackageJson = require((0, path_1.join)(reactProjectDirPath, "package.json"));
@@ -57,7 +58,14 @@ function main() {
57
58
  (0, generateKeycloakThemeResources_1.generateKeycloakThemeResources)(__assign(__assign({ keycloakThemeBuildingDirPath: exports.keycloakThemeBuildingDirPath, "reactAppBuildDirPath": (0, path_1.join)(reactProjectDirPath, "build"), themeName: themeName }, (function () {
58
59
  var url = (function () {
59
60
  var homepage = parsedPackageJson.homepage;
60
- return homepage === undefined ? undefined : new url_1.URL(homepage);
61
+ if (homepage !== undefined) {
62
+ return new url_1.URL(homepage);
63
+ }
64
+ var cnameFilePath = (0, path_1.join)(reactProjectDirPath, "public", "CNAME");
65
+ if (fs.existsSync(cnameFilePath)) {
66
+ return new url_1.URL("https://" + fs.readFileSync(cnameFilePath).toString("utf8").replace(/\s+$/, ""));
67
+ }
68
+ return undefined;
61
69
  })();
62
70
  return {
63
71
  "urlPathname": url === undefined ? "/" : url.pathname.replace(/([^/])$/, "$1/"),
@@ -1 +1 @@
1
- {"version":3,"file":"build-keycloak-theme.js","sourceRoot":"","sources":["../../src/bin/build-keycloak-theme/build-keycloak-theme.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"build-keycloak-theme.js","sourceRoot":"","sources":["../../src/bin/build-keycloak-theme/build-keycloak-theme.ts"],"names":[],"mappings":"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"}
@@ -144,6 +144,15 @@ ${ftl_object_to_js_code_declaring_an_object(.data_model, [])?no_esc};
144
144
 
145
145
  </#if>
146
146
 
147
+ <#if
148
+ ["contextData", "idpConfig", "idp", "authenticationSession"]?seq_contains(key) &&
149
+ are_same_path(path, ["brokerContext"])
150
+ >
151
+ <#continue>
152
+ </#if>
153
+
154
+ <#if key == "identityProviderBrokerCtx" && are_same_path(path, []) ><#continue></#if>
155
+
147
156
  <#attempt>
148
157
  <#if !object[key]??>
149
158
  <#continue>
@@ -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"];
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-page-expired.ftl"];
2
2
  export declare type PageId = typeof pageIds[number];
3
3
  export declare function generateFtlFilesCodeFactory(params: {
4
4
  cssGlobalsToDefine: Record<string, string>;
@@ -59,6 +59,7 @@ exports.pageIds = [
59
59
  "login-update-profile.ftl",
60
60
  "login-update-password.ftl",
61
61
  "login-idp-link-confirm.ftl",
62
+ "login-page-expired.ftl",
62
63
  ];
63
64
  function generateFtlFilesCodeFactory(params) {
64
65
  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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"}
@@ -37,6 +37,7 @@ var LoginOtp_1 = require("./LoginOtp");
37
37
  var LoginUpdatePassword_1 = require("./LoginUpdatePassword");
38
38
  var LoginUpdateProfile_1 = require("./LoginUpdateProfile");
39
39
  var LoginIdpLinkConfirm_1 = require("./LoginIdpLinkConfirm");
40
+ var LoginPageExpired_1 = require("./LoginPageExpired");
40
41
  exports.KcApp = (0, react_1.memo)(function (_a) {
41
42
  var kcContext = _a.kcContext, props = __rest(_a, ["kcContext"]);
42
43
  switch (kcContext.pageId) {
@@ -64,6 +65,8 @@ exports.KcApp = (0, react_1.memo)(function (_a) {
64
65
  return (0, jsx_runtime_1.jsx)(LoginUpdateProfile_1.LoginUpdateProfile, __assign({}, __assign({ kcContext: kcContext }, props)), void 0);
65
66
  case "login-idp-link-confirm.ftl":
66
67
  return (0, jsx_runtime_1.jsx)(LoginIdpLinkConfirm_1.LoginIdpLinkConfirm, __assign({}, __assign({ kcContext: kcContext }, props)), void 0);
68
+ case "login-page-expired.ftl":
69
+ return (0, jsx_runtime_1.jsx)(LoginPageExpired_1.LoginPageExpired, __assign({}, __assign({ kcContext: kcContext }, props)), void 0);
67
70
  }
68
71
  });
69
72
  //# 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;AAE/C,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,WAAM,CAAC;QAClD,KAAK,cAAc;YACf,OAAO,uBAAC,mBAAQ,0BAAO,SAAS,WAAA,IAAK,KAAK,WAAM,CAAC;QACrD,KAAK,2BAA2B;YAC5B,OAAO,uBAAC,yCAAmB,0BAAO,SAAS,WAAA,IAAK,KAAK,WAAM,CAAC;QAChE,KAAK,UAAU;YACX,OAAO,uBAAC,WAAI,0BAAO,SAAS,WAAA,IAAK,KAAK,WAAM,CAAC;QACjD,KAAK,WAAW;YACZ,OAAO,uBAAC,aAAK,0BAAO,SAAS,WAAA,IAAK,KAAK,WAAM,CAAC;QAClD,KAAK,0BAA0B;YAC3B,OAAO,uBAAC,uCAAkB,0BAAO,SAAS,WAAA,IAAK,KAAK,WAAM,CAAC;QAC/D,KAAK,wBAAwB;YACzB,OAAO,uBAAC,mCAAgB,0BAAO,SAAS,WAAA,IAAK,KAAK,WAAM,CAAC;QAC7D,KAAK,WAAW;YACZ,OAAO,uBAAC,aAAK,0BAAO,SAAS,WAAA,IAAK,KAAK,WAAM,CAAC;QAClD,KAAK,eAAe;YAChB,OAAO,uBAAC,mBAAQ,0BAAO,SAAS,WAAA,IAAK,KAAK,WAAM,CAAC;QACrD,KAAK,2BAA2B;YAC5B,OAAO,uBAAC,yCAAmB,0BAAO,SAAS,WAAA,IAAK,KAAK,WAAM,CAAC;QAChE,KAAK,0BAA0B;YAC3B,OAAO,uBAAC,uCAAkB,0BAAO,SAAS,WAAA,IAAK,KAAK,WAAM,CAAC;QAC/D,KAAK,4BAA4B;YAC7B,OAAO,uBAAC,yCAAmB,0BAAO,SAAS,WAAA,IAAK,KAAK,WAAM,CAAC;KACnE;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;AAEzC,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,WAAM,CAAC;QAClD,KAAK,cAAc;YACf,OAAO,uBAAC,mBAAQ,0BAAO,SAAS,WAAA,IAAK,KAAK,WAAM,CAAC;QACrD,KAAK,2BAA2B;YAC5B,OAAO,uBAAC,yCAAmB,0BAAO,SAAS,WAAA,IAAK,KAAK,WAAM,CAAC;QAChE,KAAK,UAAU;YACX,OAAO,uBAAC,WAAI,0BAAO,SAAS,WAAA,IAAK,KAAK,WAAM,CAAC;QACjD,KAAK,WAAW;YACZ,OAAO,uBAAC,aAAK,0BAAO,SAAS,WAAA,IAAK,KAAK,WAAM,CAAC;QAClD,KAAK,0BAA0B;YAC3B,OAAO,uBAAC,uCAAkB,0BAAO,SAAS,WAAA,IAAK,KAAK,WAAM,CAAC;QAC/D,KAAK,wBAAwB;YACzB,OAAO,uBAAC,mCAAgB,0BAAO,SAAS,WAAA,IAAK,KAAK,WAAM,CAAC;QAC7D,KAAK,WAAW;YACZ,OAAO,uBAAC,aAAK,0BAAO,SAAS,WAAA,IAAK,KAAK,WAAM,CAAC;QAClD,KAAK,eAAe;YAChB,OAAO,uBAAC,mBAAQ,0BAAO,SAAS,WAAA,IAAK,KAAK,WAAM,CAAC;QACrD,KAAK,2BAA2B;YAC5B,OAAO,uBAAC,yCAAmB,0BAAO,SAAS,WAAA,IAAK,KAAK,WAAM,CAAC;QAChE,KAAK,0BAA0B;YAC3B,OAAO,uBAAC,uCAAkB,0BAAO,SAAS,WAAA,IAAK,KAAK,WAAM,CAAC;QAC/D,KAAK,4BAA4B;YAC7B,OAAO,uBAAC,yCAAmB,0BAAO,SAAS,WAAA,IAAK,KAAK,WAAM,CAAC;QAChE,KAAK,wBAAwB;YACzB,OAAO,uBAAC,mCAAgB,0BAAO,SAAS,WAAA,IAAK,KAAK,WAAM,CAAC;KAChE;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 LoginPageExpired: import("react").MemoExoticComponent<({ kcContext, ...props }: {
5
+ kcContext: KcContextBase.LoginPageExpired;
6
+ } & KcProps) => JSX.Element>;
@@ -0,0 +1,36 @@
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.LoginPageExpired = 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 useKcMessage_1 = require("../i18n/useKcMessage");
30
+ exports.LoginPageExpired = (0, react_1.memo)(function (_a) {
31
+ var kcContext = _a.kcContext, props = __rest(_a, ["kcContext"]);
32
+ var url = kcContext.url;
33
+ var msg = (0, useKcMessage_1.useKcMessage)().msg;
34
+ return ((0, jsx_runtime_1.jsx)(Template_1.Template, __assign({}, __assign({ kcContext: kcContext }, props), { doFetchDefaultThemeResources: true, displayMessage: false, headerNode: msg("pageExpiredTitle"), formNode: (0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: (0, jsx_runtime_1.jsxs)("p", __assign({ id: "instruction1", className: "instruction" }, { children: [msg("pageExpiredMsg1"), (0, jsx_runtime_1.jsx)("a", __assign({ id: "loginRestartLink", href: url.loginRestartFlowUrl }, { children: msg("doClickHere") }), void 0), " ", ".", (0, jsx_runtime_1.jsx)("br", {}, void 0), msg("pageExpiredMsg2"), " ", (0, jsx_runtime_1.jsx)("a", __assign({ id: "loginContinueLink", href: url.loginAction }, { children: msg("doClickHere") }), void 0), " ", "."] }), void 0) }, void 0) }), void 0));
35
+ });
36
+ //# sourceMappingURL=LoginPageExpired.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LoginPageExpired.js","sourceRoot":"","sources":["../../src/lib/components/LoginPageExpired.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+BAA6B;AAC7B,uCAAsC;AAGtC,qDAAoD;AAEvC,QAAA,gBAAgB,GAAG,IAAA,YAAI,EAAC,UAAC,EAAgF;IAA9E,IAAA,SAAS,eAAA,EAAK,KAAK,cAArB,aAAuB,CAAF;IAC/C,IAAA,GAAG,GAAK,SAAS,IAAd,CAAe;IAElB,IAAA,GAAG,GAAK,IAAA,2BAAY,GAAE,IAAnB,CAAoB;IAE/B,OAAO,CACH,uBAAC,mBAAQ,0BACC,SAAS,WAAA,IAAK,KAAK,KACzB,4BAA4B,EAAE,IAAI,EAClC,cAAc,EAAE,KAAK,EACrB,UAAU,EAAE,GAAG,CAAC,kBAAkB,CAAC,EACnC,QAAQ,EACJ,2DACI,wCAAG,EAAE,EAAC,cAAc,EAAC,SAAS,EAAC,aAAa,iBACvC,GAAG,CAAC,iBAAiB,CAAC,EACvB,uCAAG,EAAE,EAAC,kBAAkB,EAAC,IAAI,EAAE,GAAG,CAAC,mBAAmB,gBACjD,GAAG,CAAC,aAAa,CAAC,YACnB,EAAC,GAAG,OACP,wCAAM,EACN,GAAG,CAAC,iBAAiB,CAAC,EAAE,GAAG,EAC5B,uCAAG,EAAE,EAAC,mBAAmB,EAAC,IAAI,EAAE,GAAG,CAAC,WAAW,gBAC1C,GAAG,CAAC,aAAa,CAAC,YACnB,EAAC,GAAG,kBAER,WACL,YAET,CACL,CAAC;AACN,CAAC,CAAC,CAAC"}
@@ -6,7 +6,7 @@ declare type ExtractAfterStartingWith<Prefix extends string, StrEnum> = StrEnum
6
6
  * Some values might be undefined on some pages.
7
7
  * (ex: url.loginAction is undefined on error.ftl)
8
8
  */
9
- 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;
9
+ 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.LoginPageExpired;
10
10
  export declare namespace KcContextBase {
11
11
  type Common = {
12
12
  url: {
@@ -181,6 +181,9 @@ export declare namespace KcContextBase {
181
181
  pageId: "login-idp-link-confirm.ftl";
182
182
  idpAlias: string;
183
183
  };
184
+ type LoginPageExpired = Common & {
185
+ pageId: "login-page-expired.ftl";
186
+ };
184
187
  }
185
188
  export declare type Attribute = {
186
189
  name: string;
@@ -1 +1 @@
1
- {"version":3,"file":"KcContextBase.js","sourceRoot":"","sources":["../../src/lib/getKcContext/KcContextBase.ts"],"names":[],"mappings":";;AAEA,uCAAsC;AAwUtC,IAAA,eAAM,GAA2C,CAAC"}
1
+ {"version":3,"file":"KcContextBase.js","sourceRoot":"","sources":["../../src/lib/getKcContext/KcContextBase.ts"],"names":[],"mappings":";;AAEA,uCAAsC;AA6UtC,IAAA,eAAM,GAA2C,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "keycloakify",
3
- "version": "4.3.0",
3
+ "version": "4.5.2-beta.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/Login.tsx",
57
57
  "src/lib/components/LoginIdpLinkConfirm.tsx",
58
58
  "src/lib/components/LoginOtp.tsx",
59
+ "src/lib/components/LoginPageExpired.tsx",
59
60
  "src/lib/components/LoginResetPassword.tsx",
60
61
  "src/lib/components/LoginUpdatePassword.tsx",
61
62
  "src/lib/components/LoginUpdateProfile.tsx",
@@ -185,6 +186,9 @@
185
186
  "lib/components/LoginOtp.d.ts",
186
187
  "lib/components/LoginOtp.js",
187
188
  "lib/components/LoginOtp.js.map",
189
+ "lib/components/LoginPageExpired.d.ts",
190
+ "lib/components/LoginPageExpired.js",
191
+ "lib/components/LoginPageExpired.js.map",
188
192
  "lib/components/LoginResetPassword.d.ts",
189
193
  "lib/components/LoginResetPassword.js",
190
194
  "lib/components/LoginResetPassword.js.map",
@@ -4,6 +4,7 @@ import { join as pathJoin, relative as pathRelative, basename as pathBasename }
4
4
  import * as child_process from "child_process";
5
5
  import { generateDebugFiles, containerLaunchScriptBasename } from "./generateDebugFiles";
6
6
  import { URL } from "url";
7
+ import * as fs from "fs";
7
8
 
8
9
  type ParsedPackageJson = {
9
10
  name: string;
@@ -41,7 +42,17 @@ export function main() {
41
42
  const url = (() => {
42
43
  const { homepage } = parsedPackageJson;
43
44
 
44
- return homepage === undefined ? undefined : new URL(homepage);
45
+ if (homepage !== undefined) {
46
+ return new URL(homepage);
47
+ }
48
+
49
+ const cnameFilePath = pathJoin(reactProjectDirPath, "public", "CNAME");
50
+
51
+ if (fs.existsSync(cnameFilePath)) {
52
+ return new URL(`https://${fs.readFileSync(cnameFilePath).toString("utf8").replace(/\s+$/, "")}`);
53
+ }
54
+
55
+ return undefined;
45
56
  })();
46
57
 
47
58
  return {
@@ -144,6 +144,15 @@ ${ftl_object_to_js_code_declaring_an_object(.data_model, [])?no_esc};
144
144
 
145
145
  </#if>
146
146
 
147
+ <#if
148
+ ["contextData", "idpConfig", "idp", "authenticationSession"]?seq_contains(key) &&
149
+ are_same_path(path, ["brokerContext"])
150
+ >
151
+ <#continue>
152
+ </#if>
153
+
154
+ <#if key == "identityProviderBrokerCtx" && are_same_path(path, []) ><#continue></#if>
155
+
147
156
  <#attempt>
148
157
  <#if !object[key]??>
149
158
  <#continue>
@@ -18,6 +18,7 @@ export const pageIds = [
18
18
  "login-update-profile.ftl",
19
19
  "login-update-password.ftl",
20
20
  "login-idp-link-confirm.ftl",
21
+ "login-page-expired.ftl",
21
22
  ] as const;
22
23
 
23
24
  export type PageId = typeof pageIds[number];
@@ -13,6 +13,7 @@ import { LoginOtp } from "./LoginOtp";
13
13
  import { LoginUpdatePassword } from "./LoginUpdatePassword";
14
14
  import { LoginUpdateProfile } from "./LoginUpdateProfile";
15
15
  import { LoginIdpLinkConfirm } from "./LoginIdpLinkConfirm";
16
+ import { LoginPageExpired } from "./LoginPageExpired";
16
17
 
17
18
  export const KcApp = memo(({ kcContext, ...props }: { kcContext: KcContextBase } & KcProps) => {
18
19
  switch (kcContext.pageId) {
@@ -40,5 +41,7 @@ export const KcApp = memo(({ kcContext, ...props }: { kcContext: KcContextBase }
40
41
  return <LoginUpdateProfile {...{ kcContext, ...props }} />;
41
42
  case "login-idp-link-confirm.ftl":
42
43
  return <LoginIdpLinkConfirm {...{ kcContext, ...props }} />;
44
+ case "login-page-expired.ftl":
45
+ return <LoginPageExpired {...{ kcContext, ...props }} />;
43
46
  }
44
47
  });
@@ -0,0 +1,36 @@
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 { useKcMessage } from "../i18n/useKcMessage";
6
+
7
+ export const LoginPageExpired = memo(({ kcContext, ...props }: { kcContext: KcContextBase.LoginPageExpired } & KcProps) => {
8
+ const { url } = kcContext;
9
+
10
+ const { msg } = useKcMessage();
11
+
12
+ return (
13
+ <Template
14
+ {...{ kcContext, ...props }}
15
+ doFetchDefaultThemeResources={true}
16
+ displayMessage={false}
17
+ headerNode={msg("pageExpiredTitle")}
18
+ formNode={
19
+ <>
20
+ <p id="instruction1" className="instruction">
21
+ {msg("pageExpiredMsg1")}
22
+ <a id="loginRestartLink" href={url.loginRestartFlowUrl}>
23
+ {msg("doClickHere")}
24
+ </a>{" "}
25
+ .<br />
26
+ {msg("pageExpiredMsg2")}{" "}
27
+ <a id="loginContinueLink" href={url.loginAction}>
28
+ {msg("doClickHere")}
29
+ </a>{" "}
30
+ .
31
+ </p>
32
+ </>
33
+ }
34
+ />
35
+ );
36
+ });
@@ -23,7 +23,8 @@ export type KcContextBase =
23
23
  | KcContextBase.LoginOtp
24
24
  | KcContextBase.LoginUpdatePassword
25
25
  | KcContextBase.LoginUpdateProfile
26
- | KcContextBase.LoginIdpLinkConfirm;
26
+ | KcContextBase.LoginIdpLinkConfirm
27
+ | KcContextBase.LoginPageExpired;
27
28
 
28
29
  export declare namespace KcContextBase {
29
30
  export type Common = {
@@ -213,6 +214,10 @@ export declare namespace KcContextBase {
213
214
  pageId: "login-idp-link-confirm.ftl";
214
215
  idpAlias: string;
215
216
  };
217
+
218
+ export type LoginPageExpired = Common & {
219
+ pageId: "login-page-expired.ftl";
220
+ };
216
221
  }
217
222
 
218
223
  export type Attribute = {