keycloakify 11.8.57 → 11.9.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.
@@ -97,6 +97,9 @@ export declare namespace KcContext {
97
97
  exists: (fieldName: string) => boolean;
98
98
  getFirstError: (...fieldNames: string[]) => string;
99
99
  };
100
+ authenticationSession?: {
101
+ authSessionIdHash: string;
102
+ };
100
103
  properties: {};
101
104
  "x-keycloakify": {
102
105
  messages: Record<string, string>;
@@ -1 +1 @@
1
- {"version":3,"file":"KcContext.js","sourceRoot":"","sources":["../../src/login/KcContext/KcContext.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AA+DtC,MAAM,EAA2D,CAAC;AAgrBlE;IAOI,MAAM,EAA4B,CAAC;IACnC,MAAM,EAAiC,CAAC;CAC3C"}
1
+ {"version":3,"file":"KcContext.js","sourceRoot":"","sources":["../../src/login/KcContext/KcContext.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AA+DtC,MAAM,EAA2D,CAAC;AAqrBlE;IAOI,MAAM,EAA4B,CAAC;IACnC,MAAM,EAAiC,CAAC;CAC3C"}
package/login/Template.js CHANGED
@@ -34,7 +34,7 @@ export default function Template(props) {
34
34
  })()] })), _jsx("div", Object.assign({ id: "kc-content" }, { children: _jsxs("div", Object.assign({ id: "kc-content-wrapper" }, { children: [displayMessage && message !== undefined && (message.type !== "warning" || !isAppInitiatedAction) && (_jsxs("div", Object.assign({ className: clsx(`alert-${message.type}`, kcClsx("kcAlertClass"), `pf-m-${(message === null || message === void 0 ? void 0 : message.type) === "error" ? "danger" : message.type}`) }, { children: [_jsxs("div", Object.assign({ className: "pf-c-alert__icon" }, { children: [message.type === "success" && _jsx("span", { className: kcClsx("kcFeedbackSuccessIcon") }), message.type === "warning" && _jsx("span", { className: kcClsx("kcFeedbackWarningIcon") }), message.type === "error" && _jsx("span", { className: kcClsx("kcFeedbackErrorIcon") }), message.type === "info" && _jsx("span", { className: kcClsx("kcFeedbackInfoIcon") })] })), _jsx("span", { className: kcClsx("kcAlertTitleClass"), dangerouslySetInnerHTML: {
35
35
  __html: kcSanitize(message.summary)
36
36
  } })] }))), children, auth !== undefined && auth.showTryAnotherWayLink && (_jsx("form", Object.assign({ id: "kc-select-try-another-way-form", action: url.loginAction, method: "post" }, { children: _jsxs("div", Object.assign({ className: kcClsx("kcFormGroupClass") }, { children: [_jsx("input", { type: "hidden", name: "tryAnotherWay", value: "on" }), _jsx("a", Object.assign({ href: "#", id: "try-another-way", onClick: () => {
37
- document.forms["kc-select-try-another-way-form"].submit();
37
+ document.forms["kc-select-try-another-way-form"].requestSubmit();
38
38
  return false;
39
39
  } }, { children: msg("doTryAnotherWay") }))] })) }))), socialProvidersNode, displayInfo && (_jsx("div", Object.assign({ id: "kc-info", className: kcClsx("kcSignUpClass") }, { children: _jsx("div", Object.assign({ id: "kc-info-wrapper", className: kcClsx("kcInfoAreaWrapperClass") }, { children: infoNode })) })))] })) }))] }))] })));
40
40
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Template.js","sourceRoot":"","sources":["../src/login/Template.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAExD,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,MAAM,0CAA0C,CAAC;AAIzE,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,KAAqC;IAClE,MAAM,EACF,WAAW,GAAG,KAAK,EACnB,cAAc,GAAG,IAAI,EACrB,qBAAqB,GAAG,KAAK,EAC7B,UAAU,EACV,mBAAmB,GAAG,IAAI,EAC1B,QAAQ,GAAG,IAAI,EACf,aAAa,EACb,aAAa,EACb,SAAS,EACT,IAAI,EACJ,eAAe,EACf,OAAO,EACP,QAAQ,EACX,GAAG,KAAK,CAAC;IAEV,MAAM,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC,EAAE,eAAe,EAAE,OAAO,EAAE,CAAC,CAAC;IAE3D,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,eAAe,EAAE,gBAAgB,EAAE,GAAG,IAAI,CAAC;IAEhE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,oBAAoB,EAAE,GAAG,SAAS,CAAC;IAEtE,SAAS,CAAC,GAAG,EAAE;QACX,QAAQ,CAAC,KAAK,GAAG,aAAa,aAAb,aAAa,cAAb,aAAa,GAAI,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;IAC9E,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,eAAe,CAAC;QACZ,aAAa,EAAE,MAAM;QACrB,SAAS,EAAE,MAAM,CAAC,aAAa,CAAC;KACnC,CAAC,CAAC;IAEH,eAAe,CAAC;QACZ,aAAa,EAAE,MAAM;QACrB,SAAS,EAAE,aAAa,aAAb,aAAa,cAAb,aAAa,GAAI,MAAM,CAAC,aAAa,CAAC;KACpD,CAAC,CAAC;IAEH,MAAM,EAAE,eAAe,EAAE,GAAG,aAAa,CAAC,EAAE,SAAS,EAAE,eAAe,EAAE,CAAC,CAAC;IAE1E,IAAI,CAAC,eAAe,EAAE;QAClB,OAAO,IAAI,CAAC;KACf;IAED,OAAO,CACH,6BAAK,SAAS,EAAE,MAAM,CAAC,cAAc,CAAC,iBAClC,4BAAK,EAAE,EAAC,WAAW,EAAC,SAAS,EAAE,MAAM,CAAC,eAAe,CAAC,gBAClD,4BAAK,EAAE,EAAC,mBAAmB,EAAC,SAAS,EAAE,MAAM,CAAC,sBAAsB,CAAC,gBAChE,GAAG,CAAC,gBAAgB,EAAE,KAAK,CAAC,eAAe,CAAC,IAC3C,IACJ,EACN,6BAAK,SAAS,EAAE,MAAM,CAAC,iBAAiB,CAAC,iBACrC,gCAAQ,SAAS,EAAE,MAAM,CAAC,mBAAmB,CAAC,iBACzC,gBAAgB,CAAC,MAAM,GAAG,CAAC,IAAI,CAC5B,4BAAK,SAAS,EAAE,MAAM,CAAC,mBAAmB,CAAC,EAAE,EAAE,EAAC,WAAW,gBACvD,4BAAK,EAAE,EAAC,mBAAmB,EAAC,SAAS,EAAE,MAAM,CAAC,sBAAsB,CAAC,gBACjE,6BAAK,EAAE,EAAC,oBAAoB,EAAC,SAAS,EAAE,IAAI,CAAC,mBAAmB,EAAE,MAAM,CAAC,uBAAuB,CAAC,CAAC,iBAC9F,+BACI,QAAQ,EAAE,CAAC,EACX,EAAE,EAAC,wBAAwB,gBACf,MAAM,CAAC,WAAW,CAAC,mBACjB,MAAM,mBACN,OAAO,mBACP,kBAAkB,gBAE/B,eAAe,CAAC,KAAK,IACjB,EACT,2BACI,IAAI,EAAC,MAAM,EACX,QAAQ,EAAE,CAAC,CAAC,qBACI,wBAAwB,2BAClB,EAAE,EACxB,EAAE,EAAC,kBAAkB,EACrB,SAAS,EAAE,MAAM,CAAC,mBAAmB,CAAC,gBAErC,gBAAgB,CAAC,GAAG,CAAC,CAAC,EAAE,WAAW,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CACvD,2BAAsB,SAAS,EAAE,MAAM,CAAC,uBAAuB,CAAC,EAAE,IAAI,EAAC,MAAM,gBACzE,0BAAG,IAAI,EAAC,UAAU,EAAC,EAAE,EAAE,YAAY,CAAC,GAAG,CAAC,EAAE,EAAE,SAAS,EAAE,MAAM,CAAC,mBAAmB,CAAC,EAAE,IAAI,EAAE,IAAI,gBACzF,KAAK,IACN,KAHC,WAAW,CAIf,CACR,CAAC,IACD,KACH,IACJ,IACJ,CACT,EACA,CAAC,GAAG,EAAE;gCACH,MAAM,IAAI,GAAG,CAAC,CAAC,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,YAAY,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,CACpF,2BAAI,EAAE,EAAC,eAAe,gBAAE,UAAU,IAAM,CAC3C,CAAC,CAAC,CAAC,CACA,6BAAK,EAAE,EAAC,aAAa,EAAC,SAAS,EAAE,MAAM,CAAC,kBAAkB,CAAC,iBACvD,8BAAO,EAAE,EAAC,uBAAuB,gBAAE,IAAI,CAAC,iBAAiB,IAAS,EAClE,0BAAG,EAAE,EAAC,aAAa,EAAC,IAAI,EAAE,GAAG,CAAC,mBAAmB,gBAAc,MAAM,CAAC,qBAAqB,CAAC,gBACxF,6BAAK,SAAS,EAAC,kBAAkB,iBAC7B,YAAG,SAAS,EAAE,MAAM,CAAC,iBAAiB,CAAC,GAAM,EAC7C,6BAAM,SAAS,EAAC,iBAAiB,gBAAE,GAAG,CAAC,qBAAqB,CAAC,IAAQ,KACnE,IACN,KACF,CACT,CAAC;gCAEF,IAAI,qBAAqB,EAAE;oCACvB,OAAO,CACH,6BAAK,SAAS,EAAE,MAAM,CAAC,uBAAuB,CAAC,iBAC3C,4BAAK,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,qBAAqB,CAAC,EAAE,UAAU,CAAC,gBAC3D,8BAAM,SAAS,EAAC,UAAU,iBACtB,6BAAM,SAAS,EAAC,UAAU,uBAAS,EAClC,GAAG,CAAC,gBAAgB,CAAC,KACnB,IACL,EACN,4BAAK,SAAS,EAAC,WAAW,gBAAE,IAAI,IAAO,KACrC,CACT,CAAC;iCACL;gCAED,OAAO,IAAI,CAAC;4BAChB,CAAC,CAAC,EAAE,KACC,EACT,4BAAK,EAAE,EAAC,YAAY,gBAChB,6BAAK,EAAE,EAAC,oBAAoB,iBAEvB,cAAc,IAAI,OAAO,KAAK,SAAS,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,oBAAoB,CAAC,IAAI,CACjG,6BACI,SAAS,EAAE,IAAI,CACX,SAAS,OAAO,CAAC,IAAI,EAAE,EACvB,MAAM,CAAC,cAAc,CAAC,EACtB,QAAQ,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,MAAK,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,CAChE,iBAED,6BAAK,SAAS,EAAC,kBAAkB,iBAC5B,OAAO,CAAC,IAAI,KAAK,SAAS,IAAI,eAAM,SAAS,EAAE,MAAM,CAAC,uBAAuB,CAAC,GAAS,EACvF,OAAO,CAAC,IAAI,KAAK,SAAS,IAAI,eAAM,SAAS,EAAE,MAAM,CAAC,uBAAuB,CAAC,GAAS,EACvF,OAAO,CAAC,IAAI,KAAK,OAAO,IAAI,eAAM,SAAS,EAAE,MAAM,CAAC,qBAAqB,CAAC,GAAS,EACnF,OAAO,CAAC,IAAI,KAAK,MAAM,IAAI,eAAM,SAAS,EAAE,MAAM,CAAC,oBAAoB,CAAC,GAAS,KAChF,EACN,eACI,SAAS,EAAE,MAAM,CAAC,mBAAmB,CAAC,EACtC,uBAAuB,EAAE;gDACrB,MAAM,EAAE,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC;6CACtC,GACH,KACA,CACT,EACA,QAAQ,EACR,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,qBAAqB,IAAI,CACjD,6BAAM,EAAE,EAAC,gCAAgC,EAAC,MAAM,EAAE,GAAG,CAAC,WAAW,EAAE,MAAM,EAAC,MAAM,gBAC5E,6BAAK,SAAS,EAAE,MAAM,CAAC,kBAAkB,CAAC,iBACtC,gBAAO,IAAI,EAAC,QAAQ,EAAC,IAAI,EAAC,eAAe,EAAC,KAAK,EAAC,IAAI,GAAG,EACvD,0BACI,IAAI,EAAC,GAAG,EACR,EAAE,EAAC,iBAAiB,EACpB,OAAO,EAAE,GAAG,EAAE;oDACV,QAAQ,CAAC,KAAK,CAAC,gCAAyC,CAAC,CAAC,MAAM,EAAE,CAAC;oDACnE,OAAO,KAAK,CAAC;gDACjB,CAAC,gBAEA,GAAG,CAAC,iBAAiB,CAAC,IACvB,KACF,IACH,CACV,EACA,mBAAmB,EACnB,WAAW,IAAI,CACZ,4BAAK,EAAE,EAAC,SAAS,EAAC,SAAS,EAAE,MAAM,CAAC,eAAe,CAAC,gBAChD,4BAAK,EAAE,EAAC,iBAAiB,EAAC,SAAS,EAAE,MAAM,CAAC,wBAAwB,CAAC,gBAChE,QAAQ,IACP,IACJ,CACT,KACC,IACJ,KACJ,KACJ,CACT,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"Template.js","sourceRoot":"","sources":["../src/login/Template.tsx"],"names":[],"mappings":"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"}
@@ -5,6 +5,9 @@ export type KcContextLike = {
5
5
  ssoLoginInOtherTabsUrl: string;
6
6
  };
7
7
  scripts?: string[];
8
+ authenticationSession?: {
9
+ authSessionIdHash: string;
10
+ };
8
11
  };
9
12
  export declare function useInitialize(params: {
10
13
  kcContext: KcContextLike;
@@ -35,11 +35,14 @@ export function useInitialize(params) {
35
35
  }))),
36
36
  {
37
37
  type: "module",
38
- textContent: `
39
- import { checkCookiesAndSetTimer } from "${url.resourcesPath}/js/authChecker.js";
40
-
41
- checkCookiesAndSetTimer("${url.ssoLoginInOtherTabsUrl}");
42
- `
38
+ textContent: [
39
+ `import { startSessionPolling, checkAuthSession } from "${url.resourcesPath}/js/authChecker.js";`,
40
+ ``,
41
+ `startSessionPolling("${kcContext.url.ssoLoginInOtherTabsUrl}");`,
42
+ kcContext.authenticationSession === undefined
43
+ ? ""
44
+ : `checkAuthSession("${kcContext.authenticationSession.authSessionIdHash}");`
45
+ ].join("\n")
43
46
  }
44
47
  ]
45
48
  });
@@ -1 +1 @@
1
- {"version":3,"file":"Template.useInitialize.js","sourceRoot":"","sources":["../src/login/Template.useInitialize.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAClC,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAC;AAC5E,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AAYxE,MAAM,EAA8D,CAAC;AACrE,MAAM,EAAkD,CAAC;AAEzD,MAAM,UAAU,aAAa,CAAC,MAG7B;IACG,MAAM,EAAE,SAAS,EAAE,eAAe,EAAE,GAAG,MAAM,CAAC;IAE9C,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,SAAS,CAAC;IAEnC,MAAM,EAAE,uBAAuB,EAAE,GAAG,iBAAiB,CAAC;QAClD,mBAAmB,EAAE,UAAU;QAC/B,KAAK,EAAE,CAAC,eAAe;YACnB,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC;gBACI,GAAG,GAAG,CAAC,mBAAmB,yDAAyD;gBACnF,GAAG,GAAG,CAAC,mBAAmB,sDAAsD;gBAChF,GAAG,GAAG,CAAC,mBAAmB,gEAAgE;gBAC1F,GAAG,GAAG,CAAC,mBAAmB,wBAAwB;gBAClD,GAAG,GAAG,CAAC,aAAa,gBAAgB;aACvC;KACV,CAAC,CAAC;IAEH,MAAM,EAAE,gBAAgB,EAAE,GAAG,mBAAmB,CAAC;QAC7C,mBAAmB,EAAE,UAAU;QAC/B,UAAU,EAAE;YACR,0FAA0F;YAC1F;gBACI,IAAI,EAAE,QAAQ;gBACd,GAAG,EAAE,GAAG,GAAG,CAAC,aAAa,0BAA0B;aACtD;YACD,GAAG,CAAC,OAAO,KAAK,SAAS;gBACrB,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;oBAChB,IAAI,EAAE,iBAA0B;oBAChC,GAAG;iBACN,CAAC,CAAC,CAAC;YACV;gBACI,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE;+DACkC,GAAG,CAAC,aAAa;;+CAEjC,GAAG,CAAC,sBAAsB;iBACxD;aACJ;SACJ;KACJ,CAAC,CAAC;IAEH,SAAS,CAAC,GAAG,EAAE;QACX,IAAI,uBAAuB,EAAE;YACzB,gBAAgB,EAAE,CAAC;SACtB;IACL,CAAC,EAAE,CAAC,uBAAuB,CAAC,CAAC,CAAC;IAE9B,OAAO,EAAE,eAAe,EAAE,uBAAuB,EAAE,CAAC;AACxD,CAAC"}
1
+ {"version":3,"file":"Template.useInitialize.js","sourceRoot":"","sources":["../src/login/Template.useInitialize.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAClC,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAC;AAC5E,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AAexE,MAAM,EAA8D,CAAC;AACrE,MAAM,EAAkD,CAAC;AAEzD,MAAM,UAAU,aAAa,CAAC,MAG7B;IACG,MAAM,EAAE,SAAS,EAAE,eAAe,EAAE,GAAG,MAAM,CAAC;IAE9C,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,SAAS,CAAC;IAEnC,MAAM,EAAE,uBAAuB,EAAE,GAAG,iBAAiB,CAAC;QAClD,mBAAmB,EAAE,UAAU;QAC/B,KAAK,EAAE,CAAC,eAAe;YACnB,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC;gBACI,GAAG,GAAG,CAAC,mBAAmB,yDAAyD;gBACnF,GAAG,GAAG,CAAC,mBAAmB,sDAAsD;gBAChF,GAAG,GAAG,CAAC,mBAAmB,gEAAgE;gBAC1F,GAAG,GAAG,CAAC,mBAAmB,wBAAwB;gBAClD,GAAG,GAAG,CAAC,aAAa,gBAAgB;aACvC;KACV,CAAC,CAAC;IAEH,MAAM,EAAE,gBAAgB,EAAE,GAAG,mBAAmB,CAAC;QAC7C,mBAAmB,EAAE,UAAU;QAC/B,UAAU,EAAE;YACR,0FAA0F;YAC1F;gBACI,IAAI,EAAE,QAAQ;gBACd,GAAG,EAAE,GAAG,GAAG,CAAC,aAAa,0BAA0B;aACtD;YACD,GAAG,CAAC,OAAO,KAAK,SAAS;gBACrB,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;oBAChB,IAAI,EAAE,iBAA0B;oBAChC,GAAG;iBACN,CAAC,CAAC,CAAC;YACV;gBACI,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE;oBACT,0DAA0D,GAAG,CAAC,aAAa,sBAAsB;oBACjG,EAAE;oBACF,wBAAwB,SAAS,CAAC,GAAG,CAAC,sBAAsB,KAAK;oBACjE,SAAS,CAAC,qBAAqB,KAAK,SAAS;wBACzC,CAAC,CAAC,EAAE;wBACJ,CAAC,CAAC,qBAAqB,SAAS,CAAC,qBAAqB,CAAC,iBAAiB,KAAK;iBACpF,CAAC,IAAI,CAAC,IAAI,CAAC;aACf;SACJ;KACJ,CAAC,CAAC;IAEH,SAAS,CAAC,GAAG,EAAE;QACX,IAAI,uBAAuB,EAAE;YACzB,gBAAgB,EAAE,CAAC;SACtB;IACL,CAAC,EAAE,CAAC,uBAAuB,CAAC,CAAC,CAAC;IAE9B,OAAO,EAAE,eAAe,EAAE,uBAAuB,EAAE,CAAC;AACxD,CAAC"}
@@ -1,28 +1,21 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { useEffect } from "react";
2
+ import { useEffect, useState } from "react";
3
3
  export default function FrontchannelLogout(props) {
4
4
  const { kcContext, i18n, doUseDefaultCss, Template, classes } = props;
5
5
  const { logout } = kcContext;
6
6
  const { msg, msgStr } = i18n;
7
+ const [iframeLoadCount, setIframeLoadCount] = useState(0);
7
8
  useEffect(() => {
8
- const { logoutRedirectUri } = logout;
9
- if (logoutRedirectUri === undefined) {
9
+ if (!kcContext.logout.logoutRedirectUri) {
10
10
  return;
11
11
  }
12
- if (document.readyState === "complete") {
13
- window.location.replace(logoutRedirectUri);
12
+ if (iframeLoadCount !== kcContext.logout.clients.length) {
14
13
  return;
15
14
  }
16
- const onReadystatechange = () => {
17
- if (document.readyState === "complete") {
18
- window.location.replace(logoutRedirectUri);
19
- }
20
- };
21
- document.addEventListener("readystatechange", onReadystatechange);
22
- return () => {
23
- document.removeEventListener("readystatechange", onReadystatechange);
24
- };
25
- }, []);
26
- return (_jsxs(Template, Object.assign({ kcContext: kcContext, i18n: i18n, doUseDefaultCss: doUseDefaultCss, classes: classes, documentTitle: msgStr("frontchannel-logout.title"), headerNode: msg("frontchannel-logout.title") }, { children: [_jsx("p", { children: msg("frontchannel-logout.message") }), _jsx("ul", { children: logout.clients.map(client => (_jsxs("li", { children: [client.name, _jsx("iframe", { src: client.frontChannelLogoutUrl, style: { display: "none" } })] }, client.name))) }), logout.logoutRedirectUri !== undefined && (_jsx("a", Object.assign({ id: "continue", className: "btn btn-primary", href: logout.logoutRedirectUri }, { children: msg("doContinue") })))] })));
15
+ window.location.replace(kcContext.logout.logoutRedirectUri);
16
+ }, [iframeLoadCount]);
17
+ return (_jsxs(Template, Object.assign({ kcContext: kcContext, i18n: i18n, doUseDefaultCss: doUseDefaultCss, classes: classes, documentTitle: msgStr("frontchannel-logout.title"), headerNode: msg("frontchannel-logout.title") }, { children: [_jsx("p", { children: msg("frontchannel-logout.message") }), _jsx("ul", { children: logout.clients.map(client => (_jsxs("li", { children: [client.name, _jsx("iframe", { src: client.frontChannelLogoutUrl, style: { display: "none" }, onLoad: () => {
18
+ setIframeLoadCount(count => count + 1);
19
+ } })] }, client.name))) }), logout.logoutRedirectUri !== undefined && (_jsx("a", Object.assign({ id: "continue", className: "btn btn-primary", href: logout.logoutRedirectUri }, { children: msg("doContinue") })))] })));
27
20
  }
28
21
  //# sourceMappingURL=FrontchannelLogout.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"FrontchannelLogout.js","sourceRoot":"","sources":["../../src/login/pages/FrontchannelLogout.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAKlC,MAAM,CAAC,OAAO,UAAU,kBAAkB,CAAC,KAAiF;IACxH,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,eAAe,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;IAEtE,MAAM,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IAE7B,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAE7B,SAAS,CAAC,GAAG,EAAE;QACX,MAAM,EAAE,iBAAiB,EAAE,GAAG,MAAM,CAAC;QAErC,IAAI,iBAAiB,KAAK,SAAS,EAAE;YACjC,OAAO;SACV;QAED,IAAI,QAAQ,CAAC,UAAU,KAAK,UAAU,EAAE;YACpC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;YAC3C,OAAO;SACV;QAED,MAAM,kBAAkB,GAAG,GAAG,EAAE;YAC5B,IAAI,QAAQ,CAAC,UAAU,KAAK,UAAU,EAAE;gBACpC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;aAC9C;QACL,CAAC,CAAC;QAEF,QAAQ,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,kBAAkB,CAAC,CAAC;QAElE,OAAO,GAAG,EAAE;YACR,QAAQ,CAAC,mBAAmB,CAAC,kBAAkB,EAAE,kBAAkB,CAAC,CAAC;QACzE,CAAC,CAAC;IACN,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,CACH,MAAC,QAAQ,kBACL,SAAS,EAAE,SAAS,EACpB,IAAI,EAAE,IAAI,EACV,eAAe,EAAE,eAAe,EAChC,OAAO,EAAE,OAAO,EAChB,aAAa,EAAE,MAAM,CAAC,2BAA2B,CAAC,EAClD,UAAU,EAAE,GAAG,CAAC,2BAA2B,CAAC,iBAE5C,sBAAI,GAAG,CAAC,6BAA6B,CAAC,GAAK,EAC3C,uBACK,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAC1B,yBACK,MAAM,CAAC,IAAI,EACZ,iBAAQ,GAAG,EAAE,MAAM,CAAC,qBAAqB,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,GAAI,KAFpE,MAAM,CAAC,IAAI,CAGf,CACR,CAAC,GACD,EACJ,MAAM,CAAC,iBAAiB,KAAK,SAAS,IAAI,CACvC,0BAAG,EAAE,EAAC,UAAU,EAAC,SAAS,EAAC,iBAAiB,EAAC,IAAI,EAAE,MAAM,CAAC,iBAAiB,gBACtE,GAAG,CAAC,YAAY,CAAC,IAClB,CACP,KACM,CACd,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"FrontchannelLogout.js","sourceRoot":"","sources":["../../src/login/pages/FrontchannelLogout.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAK5C,MAAM,CAAC,OAAO,UAAU,kBAAkB,CAAC,KAAiF;IACxH,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,eAAe,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;IAEtE,MAAM,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IAE7B,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAE7B,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAE1D,SAAS,CAAC,GAAG,EAAE;QACX,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,iBAAiB,EAAE;YACrC,OAAO;SACV;QAED,IAAI,eAAe,KAAK,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE;YACrD,OAAO;SACV;QAED,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;IAChE,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC;IAEtB,OAAO,CACH,MAAC,QAAQ,kBACL,SAAS,EAAE,SAAS,EACpB,IAAI,EAAE,IAAI,EACV,eAAe,EAAE,eAAe,EAChC,OAAO,EAAE,OAAO,EAChB,aAAa,EAAE,MAAM,CAAC,2BAA2B,CAAC,EAClD,UAAU,EAAE,GAAG,CAAC,2BAA2B,CAAC,iBAE5C,sBAAI,GAAG,CAAC,6BAA6B,CAAC,GAAK,EAC3C,uBACK,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAC1B,yBACK,MAAM,CAAC,IAAI,EACZ,iBACI,GAAG,EAAE,MAAM,CAAC,qBAAqB,EACjC,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,EAC1B,MAAM,EAAE,GAAG,EAAE;gCACT,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;4BAC3C,CAAC,GACH,KARG,MAAM,CAAC,IAAI,CASf,CACR,CAAC,GACD,EACJ,MAAM,CAAC,iBAAiB,KAAK,SAAS,IAAI,CACvC,0BAAG,EAAE,EAAC,UAAU,EAAC,SAAS,EAAC,iBAAiB,EAAC,IAAI,EAAE,MAAM,CAAC,iBAAiB,gBACtE,GAAG,CAAC,YAAY,CAAC,IAClB,CACP,KACM,CACd,CAAC;AACN,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
- import { useState } from "react";
2
+ import { useState, useLayoutEffect } from "react";
3
3
  import { kcSanitize } from "../../lib/kcSanitize";
4
4
  import { getKcClsx } from "../../login/lib/kcClsx";
5
5
  import { clsx } from "../../tools/clsx";
@@ -13,9 +13,16 @@ export default function Register(props) {
13
13
  const { msg, msgStr, advancedMsg } = i18n;
14
14
  const [isFormSubmittable, setIsFormSubmittable] = useState(false);
15
15
  const [areTermsAccepted, setAreTermsAccepted] = useState(false);
16
- return (_jsx(Template, Object.assign({ kcContext: kcContext, i18n: i18n, doUseDefaultCss: doUseDefaultCss, classes: classes, headerNode: messageHeader !== undefined ? advancedMsg(messageHeader) : msg("registerTitle"), displayMessage: messagesPerField.exists("global"), displayRequiredFields: true }, { children: _jsxs("form", Object.assign({ id: "kc-register-form", className: kcClsx("kcFormClass"), action: url.registrationAction, method: "post" }, { children: [_jsx(UserProfileFormFields, { kcContext: kcContext, i18n: i18n, kcClsx: kcClsx, onIsFormSubmittableValueChange: setIsFormSubmittable, doMakeUserConfirmPassword: doMakeUserConfirmPassword }), termsAcceptanceRequired && (_jsx(TermsAcceptance, { i18n: i18n, kcClsx: kcClsx, messagesPerField: messagesPerField, areTermsAccepted: areTermsAccepted, onAreTermsAcceptedValueChange: setAreTermsAccepted })), recaptchaRequired && (recaptchaVisible || recaptchaAction === undefined) && (_jsx("div", Object.assign({ className: "form-group" }, { children: _jsx("div", Object.assign({ className: kcClsx("kcInputWrapperClass") }, { children: _jsx("div", { className: "g-recaptcha", "data-size": "compact", "data-sitekey": recaptchaSiteKey, "data-action": recaptchaAction }) })) }))), _jsxs("div", Object.assign({ className: kcClsx("kcFormGroupClass") }, { children: [_jsx("div", Object.assign({ id: "kc-form-options", className: kcClsx("kcFormOptionsClass") }, { children: _jsx("div", Object.assign({ className: kcClsx("kcFormOptionsWrapperClass") }, { children: _jsx("span", { children: _jsx("a", Object.assign({ href: url.loginUrl }, { children: msg("backToLogin") })) }) })) })), recaptchaRequired && !recaptchaVisible && recaptchaAction !== undefined ? (_jsx("div", Object.assign({ id: "kc-form-buttons", className: kcClsx("kcFormButtonsClass") }, { children: _jsx("button", Object.assign({ className: clsx(kcClsx("kcButtonClass", "kcButtonPrimaryClass", "kcButtonBlockClass", "kcButtonLargeClass"), "g-recaptcha"), "data-sitekey": recaptchaSiteKey, "data-callback": () => {
17
- document.getElementById("kc-register-form").submit();
18
- }, "data-action": recaptchaAction, type: "submit" }, { children: msg("doRegister") })) }))) : (_jsx("div", Object.assign({ id: "kc-form-buttons", className: kcClsx("kcFormButtonsClass") }, { children: _jsx("input", { disabled: !isFormSubmittable || (termsAcceptanceRequired && !areTermsAccepted), className: kcClsx("kcButtonClass", "kcButtonPrimaryClass", "kcButtonBlockClass", "kcButtonLargeClass"), type: "submit", value: msgStr("doRegister") }) })))] }))] })) })));
16
+ useLayoutEffect(() => {
17
+ window["onSubmitRecaptcha"] = () => {
18
+ // @ts-expect-error
19
+ document.getElementById("kc-register-form").requestSubmit();
20
+ };
21
+ return () => {
22
+ delete window["onSubmitRecaptcha"];
23
+ };
24
+ }, []);
25
+ return (_jsx(Template, Object.assign({ kcContext: kcContext, i18n: i18n, doUseDefaultCss: doUseDefaultCss, classes: classes, headerNode: messageHeader !== undefined ? advancedMsg(messageHeader) : msg("registerTitle"), displayMessage: messagesPerField.exists("global"), displayRequiredFields: true }, { children: _jsxs("form", Object.assign({ id: "kc-register-form", className: kcClsx("kcFormClass"), action: url.registrationAction, method: "post" }, { children: [_jsx(UserProfileFormFields, { kcContext: kcContext, i18n: i18n, kcClsx: kcClsx, onIsFormSubmittableValueChange: setIsFormSubmittable, doMakeUserConfirmPassword: doMakeUserConfirmPassword }), termsAcceptanceRequired && (_jsx(TermsAcceptance, { i18n: i18n, kcClsx: kcClsx, messagesPerField: messagesPerField, areTermsAccepted: areTermsAccepted, onAreTermsAcceptedValueChange: setAreTermsAccepted })), recaptchaRequired && (recaptchaVisible || recaptchaAction === undefined) && (_jsx("div", Object.assign({ className: "form-group" }, { children: _jsx("div", Object.assign({ className: kcClsx("kcInputWrapperClass") }, { children: _jsx("div", { className: "g-recaptcha", "data-size": "compact", "data-sitekey": recaptchaSiteKey, "data-action": recaptchaAction }) })) }))), _jsxs("div", Object.assign({ className: kcClsx("kcFormGroupClass") }, { children: [_jsx("div", Object.assign({ id: "kc-form-options", className: kcClsx("kcFormOptionsClass") }, { children: _jsx("div", Object.assign({ className: kcClsx("kcFormOptionsWrapperClass") }, { children: _jsx("span", { children: _jsx("a", Object.assign({ href: url.loginUrl }, { children: msg("backToLogin") })) }) })) })), recaptchaRequired && !recaptchaVisible && recaptchaAction !== undefined ? (_jsx("div", Object.assign({ id: "kc-form-buttons", className: kcClsx("kcFormButtonsClass") }, { children: _jsx("button", Object.assign({ className: clsx(kcClsx("kcButtonClass", "kcButtonPrimaryClass", "kcButtonBlockClass", "kcButtonLargeClass"), "g-recaptcha"), "data-sitekey": recaptchaSiteKey, "data-callback": "onSubmitRecaptcha", "data-action": recaptchaAction, type: "submit" }, { children: msg("doRegister") })) }))) : (_jsx("div", Object.assign({ id: "kc-form-buttons", className: kcClsx("kcFormButtonsClass") }, { children: _jsx("input", { disabled: !isFormSubmittable || (termsAcceptanceRequired && !areTermsAccepted), className: kcClsx("kcButtonClass", "kcButtonPrimaryClass", "kcButtonBlockClass", "kcButtonLargeClass"), type: "submit", value: msgStr("doRegister") }) })))] }))] })) })));
19
26
  }
20
27
  function TermsAcceptance(props) {
21
28
  const { i18n, kcClsx, messagesPerField, areTermsAccepted, onAreTermsAcceptedValueChange } = props;
@@ -1 +1 @@
1
- {"version":3,"file":"Register.js","sourceRoot":"","sources":["../../src/login/pages/Register.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Register.js","sourceRoot":"","sources":["../../src/login/pages/Register.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,OAAO,CAAC;AAElD,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AACxD,OAAO,EAAE,SAAS,EAAe,MAAM,8BAA8B,CAAC;AACtE,OAAO,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;AAW9C,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,KAAoB;IACjD,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,eAAe,EAAE,QAAQ,EAAE,OAAO,EAAE,qBAAqB,EAAE,yBAAyB,EAAE,GAAG,KAAK,CAAC;IAExH,MAAM,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;QACzB,eAAe;QACf,OAAO;KACV,CAAC,CAAC;IAEH,MAAM,EAAE,aAAa,EAAE,GAAG,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,eAAe,EAAE,uBAAuB,EAAE,GAC3I,SAAS,CAAC;IAEd,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC;IAE1C,MAAM,CAAC,iBAAiB,EAAE,oBAAoB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAClE,MAAM,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAEhE,eAAe,CAAC,GAAG,EAAE;QAChB,MAAc,CAAC,mBAAmB,CAAC,GAAG,GAAG,EAAE;YACxC,mBAAmB;YACnB,QAAQ,CAAC,cAAc,CAAC,kBAAkB,CAAC,CAAC,aAAa,EAAE,CAAC;QAChE,CAAC,CAAC;QAEF,OAAO,GAAG,EAAE;YACR,OAAQ,MAAc,CAAC,mBAAmB,CAAC,CAAC;QAChD,CAAC,CAAC;IACN,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,CACH,KAAC,QAAQ,kBACL,SAAS,EAAE,SAAS,EACpB,IAAI,EAAE,IAAI,EACV,eAAe,EAAE,eAAe,EAChC,OAAO,EAAE,OAAO,EAChB,UAAU,EAAE,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,eAAe,CAAC,EAC3F,cAAc,EAAE,gBAAgB,CAAC,MAAM,CAAC,QAAQ,CAAC,EACjD,qBAAqB,sBAErB,8BAAM,EAAE,EAAC,kBAAkB,EAAC,SAAS,EAAE,MAAM,CAAC,aAAa,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,kBAAkB,EAAE,MAAM,EAAC,MAAM,iBACvG,KAAC,qBAAqB,IAClB,SAAS,EAAE,SAAS,EACpB,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,MAAM,EACd,8BAA8B,EAAE,oBAAoB,EACpD,yBAAyB,EAAE,yBAAyB,GACtD,EACD,uBAAuB,IAAI,CACxB,KAAC,eAAe,IACZ,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,MAAM,EACd,gBAAgB,EAAE,gBAAgB,EAClC,gBAAgB,EAAE,gBAAgB,EAClC,6BAA6B,EAAE,mBAAmB,GACpD,CACL,EACA,iBAAiB,IAAI,CAAC,gBAAgB,IAAI,eAAe,KAAK,SAAS,CAAC,IAAI,CACzE,4BAAK,SAAS,EAAC,YAAY,gBACvB,4BAAK,SAAS,EAAE,MAAM,CAAC,qBAAqB,CAAC,gBACzC,cAAK,SAAS,EAAC,aAAa,eAAW,SAAS,kBAAe,gBAAgB,iBAAe,eAAe,GAAQ,IACnH,IACJ,CACT,EACD,6BAAK,SAAS,EAAE,MAAM,CAAC,kBAAkB,CAAC,iBACtC,4BAAK,EAAE,EAAC,iBAAiB,EAAC,SAAS,EAAE,MAAM,CAAC,oBAAoB,CAAC,gBAC7D,4BAAK,SAAS,EAAE,MAAM,CAAC,2BAA2B,CAAC,gBAC/C,yBACI,0BAAG,IAAI,EAAE,GAAG,CAAC,QAAQ,gBAAG,GAAG,CAAC,aAAa,CAAC,IAAK,GAC5C,IACL,IACJ,EAEL,iBAAiB,IAAI,CAAC,gBAAgB,IAAI,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,CACvE,4BAAK,EAAE,EAAC,iBAAiB,EAAC,SAAS,EAAE,MAAM,CAAC,oBAAoB,CAAC,gBAC7D,+BACI,SAAS,EAAE,IAAI,CACX,MAAM,CAAC,eAAe,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,oBAAoB,CAAC,EAC3F,aAAa,CAChB,kBACa,gBAAgB,mBAChB,mBAAmB,iBACpB,eAAe,EAC5B,IAAI,EAAC,QAAQ,gBAEZ,GAAG,CAAC,YAAY,CAAC,IACb,IACP,CACT,CAAC,CAAC,CAAC,CACA,4BAAK,EAAE,EAAC,iBAAiB,EAAC,SAAS,EAAE,MAAM,CAAC,oBAAoB,CAAC,gBAC7D,gBACI,QAAQ,EAAE,CAAC,iBAAiB,IAAI,CAAC,uBAAuB,IAAI,CAAC,gBAAgB,CAAC,EAC9E,SAAS,EAAE,MAAM,CAAC,eAAe,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,oBAAoB,CAAC,EACtG,IAAI,EAAC,QAAQ,EACb,KAAK,EAAE,MAAM,CAAC,YAAY,CAAC,GAC7B,IACA,CACT,KACC,KACH,IACA,CACd,CAAC;AACN,CAAC;AAED,SAAS,eAAe,CAAC,KAMxB;IACG,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,6BAA6B,EAAE,GAAG,KAAK,CAAC;IAElG,MAAM,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;IAErB,OAAO,CACH,8BACI,4BAAK,SAAS,EAAC,YAAY,gBACvB,6BAAK,SAAS,EAAE,MAAM,CAAC,qBAAqB,CAAC,iBACxC,GAAG,CAAC,YAAY,CAAC,EAClB,4BAAK,EAAE,EAAC,4BAA4B,gBAAE,GAAG,CAAC,WAAW,CAAC,IAAO,KAC3D,IACJ,EACN,6BAAK,SAAS,EAAC,YAAY,iBACvB,6BAAK,SAAS,EAAE,MAAM,CAAC,qBAAqB,CAAC,iBACzC,gBACI,IAAI,EAAC,UAAU,EACf,EAAE,EAAC,eAAe,EAClB,IAAI,EAAC,eAAe,EACpB,SAAS,EAAE,MAAM,CAAC,sBAAsB,CAAC,EACzC,OAAO,EAAE,gBAAgB,EACzB,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,6BAA6B,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,kBAChD,gBAAgB,CAAC,WAAW,CAAC,eAAe,CAAC,GAC7D,EACF,8BAAO,OAAO,EAAC,eAAe,EAAC,SAAS,EAAE,MAAM,CAAC,cAAc,CAAC,gBAC3D,GAAG,CAAC,aAAa,CAAC,IACf,KACN,EACL,gBAAgB,CAAC,WAAW,CAAC,eAAe,CAAC,IAAI,CAC9C,4BAAK,SAAS,EAAE,MAAM,CAAC,qBAAqB,CAAC,gBACzC,eACI,EAAE,EAAC,4BAA4B,EAC/B,SAAS,EAAE,MAAM,CAAC,0BAA0B,CAAC,eACnC,QAAQ,EAClB,uBAAuB,EAAE;gCACrB,MAAM,EAAE,UAAU,CAAC,gBAAgB,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;6BAC5D,GACH,IACA,CACT,KACC,IACP,CACN,CAAC;AACN,CAAC"}
@@ -14,7 +14,7 @@ export default function SamlPostForm(props) {
14
14
  alert("In a real Keycloak the user would be redirected immediately");
15
15
  return;
16
16
  }
17
- htmlFormElement.submit();
17
+ htmlFormElement.requestSubmit();
18
18
  }, [htmlFormElement]);
19
19
  return (_jsxs(Template, Object.assign({ kcContext: kcContext, i18n: i18n, doUseDefaultCss: doUseDefaultCss, classes: classes, headerNode: msg("saml.post-form.title") }, { children: [_jsx("p", { children: msg("saml.post-form.message") }), _jsxs("form", Object.assign({ name: "saml-post-binding", method: "post", action: samlPost.url, ref: setHtmlFormElement }, { children: [samlPost.SAMLRequest && _jsx("input", { type: "hidden", name: "SAMLRequest", value: samlPost.SAMLRequest }), samlPost.SAMLResponse && _jsx("input", { type: "hidden", name: "SAMLResponse", value: samlPost.SAMLResponse }), samlPost.relayState && _jsx("input", { type: "hidden", name: "RelayState", value: samlPost.relayState }), _jsxs("noscript", { children: [_jsx("p", { children: msg("saml.post-form.js-disabled") }), _jsx("input", { type: "submit", value: msgStr("doContinue") })] })] }))] })));
20
20
  }
@@ -1 +1 @@
1
- {"version":3,"file":"SamlPostForm.js","sourceRoot":"","sources":["../../src/login/pages/SamlPostForm.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAK5C,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,KAA4E;IAC7G,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,eAAe,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;IAEtE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;IAE7B,MAAM,EAAE,QAAQ,EAAE,GAAG,SAAS,CAAC;IAE/B,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAG,QAAQ,CAAyB,IAAI,CAAC,CAAC;IAErF,SAAS,CAAC,GAAG,EAAE;QACX,IAAI,eAAe,KAAK,IAAI,EAAE;YAC1B,OAAO;SACV;QAED,YAAY;QACZ,IAAI,QAAQ,CAAC,GAAG,KAAK,GAAG,EAAE;YACtB,KAAK,CAAC,6DAA6D,CAAC,CAAC;YACrE,OAAO;SACV;QAED,eAAe,CAAC,MAAM,EAAE,CAAC;IAC7B,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC;IACtB,OAAO,CACH,MAAC,QAAQ,kBAAC,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,eAAe,EAAE,eAAe,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,CAAC,sBAAsB,CAAC,iBACnI,sBAAI,GAAG,CAAC,wBAAwB,CAAC,GAAK,EACtC,8BAAM,IAAI,EAAC,mBAAmB,EAAC,MAAM,EAAC,MAAM,EAAC,MAAM,EAAE,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,kBAAkB,iBACrF,QAAQ,CAAC,WAAW,IAAI,gBAAO,IAAI,EAAC,QAAQ,EAAC,IAAI,EAAC,aAAa,EAAC,KAAK,EAAE,QAAQ,CAAC,WAAW,GAAI,EAC/F,QAAQ,CAAC,YAAY,IAAI,gBAAO,IAAI,EAAC,QAAQ,EAAC,IAAI,EAAC,cAAc,EAAC,KAAK,EAAE,QAAQ,CAAC,YAAY,GAAI,EAClG,QAAQ,CAAC,UAAU,IAAI,gBAAO,IAAI,EAAC,QAAQ,EAAC,IAAI,EAAC,YAAY,EAAC,KAAK,EAAE,QAAQ,CAAC,UAAU,GAAI,EAC7F,+BACI,sBAAI,GAAG,CAAC,4BAA4B,CAAC,GAAK,EAC1C,gBAAO,IAAI,EAAC,QAAQ,EAAC,KAAK,EAAE,MAAM,CAAC,YAAY,CAAC,GAAI,IAC7C,KACR,KACA,CACd,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"SamlPostForm.js","sourceRoot":"","sources":["../../src/login/pages/SamlPostForm.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAK5C,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,KAA4E;IAC7G,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,eAAe,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;IAEtE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;IAE7B,MAAM,EAAE,QAAQ,EAAE,GAAG,SAAS,CAAC;IAE/B,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAG,QAAQ,CAAyB,IAAI,CAAC,CAAC;IAErF,SAAS,CAAC,GAAG,EAAE;QACX,IAAI,eAAe,KAAK,IAAI,EAAE;YAC1B,OAAO;SACV;QAED,YAAY;QACZ,IAAI,QAAQ,CAAC,GAAG,KAAK,GAAG,EAAE;YACtB,KAAK,CAAC,6DAA6D,CAAC,CAAC;YACrE,OAAO;SACV;QAED,eAAe,CAAC,aAAa,EAAE,CAAC;IACpC,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC;IACtB,OAAO,CACH,MAAC,QAAQ,kBAAC,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,eAAe,EAAE,eAAe,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,CAAC,sBAAsB,CAAC,iBACnI,sBAAI,GAAG,CAAC,wBAAwB,CAAC,GAAK,EACtC,8BAAM,IAAI,EAAC,mBAAmB,EAAC,MAAM,EAAC,MAAM,EAAC,MAAM,EAAE,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,kBAAkB,iBACrF,QAAQ,CAAC,WAAW,IAAI,gBAAO,IAAI,EAAC,QAAQ,EAAC,IAAI,EAAC,aAAa,EAAC,KAAK,EAAE,QAAQ,CAAC,WAAW,GAAI,EAC/F,QAAQ,CAAC,YAAY,IAAI,gBAAO,IAAI,EAAC,QAAQ,EAAC,IAAI,EAAC,cAAc,EAAC,KAAK,EAAE,QAAQ,CAAC,YAAY,GAAI,EAClG,QAAQ,CAAC,UAAU,IAAI,gBAAO,IAAI,EAAC,QAAQ,EAAC,IAAI,EAAC,YAAY,EAAC,KAAK,EAAE,QAAQ,CAAC,UAAU,GAAI,EAC7F,+BACI,sBAAI,GAAG,CAAC,4BAA4B,CAAC,GAAK,EAC1C,gBAAO,IAAI,EAAC,QAAQ,EAAC,KAAK,EAAE,MAAM,CAAC,YAAY,CAAC,GAAI,IAC7C,KACR,KACA,CACd,CAAC;AACN,CAAC"}
@@ -14,7 +14,7 @@ export default function WebauthnError(props) {
14
14
  // @ts-expect-error: Trusted Keycloak's code
15
15
  document.getElementById("executionValue").value = "${execution}";
16
16
  // @ts-expect-error: Trusted Keycloak's code
17
- document.getElementById("kc-error-credential-form").submit();
17
+ document.getElementById("kc-error-credential-form").requestSubmit();
18
18
  }, type: "button", className: kcClsx("kcButtonClass", "kcButtonPrimaryClass", "kcButtonBlockClass", "kcButtonLargeClass"), name: "try-again", id: "kc-try-again", value: msgStr("doTryAgain") }), isAppInitiatedAction && (_jsx("form", Object.assign({ action: url.loginAction, className: kcClsx("kcFormClass"), id: "kc-webauthn-settings-form", method: "post" }, { children: _jsx("button", Object.assign({ type: "submit", className: kcClsx("kcButtonClass", "kcButtonDefaultClass", "kcButtonBlockClass", "kcButtonLargeClass"), id: "cancelWebAuthnAIA", name: "cancel-aia", value: "true" }, { children: msgStr("doCancel") })) })))] })));
19
19
  }
20
20
  //# sourceMappingURL=WebauthnError.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"WebauthnError.js","sourceRoot":"","sources":["../../src/login/pages/WebauthnError.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAKzD,MAAM,CAAC,OAAO,UAAU,aAAa,CAAC,KAA4E;IAC9G,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,eAAe,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;IAEtE,MAAM,EAAE,GAAG,EAAE,oBAAoB,EAAE,GAAG,SAAS,CAAC;IAEhD,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAE7B,MAAM,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;QACzB,eAAe;QACf,OAAO;KACV,CAAC,CAAC;IAEH,OAAO,CACH,MAAC,QAAQ,kBACL,SAAS,EAAE,SAAS,EACpB,IAAI,EAAE,IAAI,EACV,eAAe,EAAE,eAAe,EAChC,OAAO,EAAE,OAAO,EAChB,cAAc,QACd,UAAU,EAAE,GAAG,CAAC,sBAAsB,CAAC,iBAEvC,8BAAM,EAAE,EAAC,0BAA0B,EAAC,SAAS,EAAE,MAAM,CAAC,aAAa,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,WAAW,EAAE,MAAM,EAAC,MAAM,iBACxG,gBAAO,IAAI,EAAC,QAAQ,EAAC,EAAE,EAAC,gBAAgB,EAAC,IAAI,EAAC,yBAAyB,GAAG,EAC1E,gBAAO,IAAI,EAAC,QAAQ,EAAC,EAAE,EAAC,YAAY,EAAC,IAAI,EAAC,YAAY,GAAG,KACtD,EACP,gBACI,QAAQ,EAAE,CAAC,EACX,OAAO,EAAE,GAAG,EAAE;oBACV,4CAA4C;oBAC5C,QAAQ,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,KAAK,GAAG,OAAO,CAAC;oBACtD,4CAA4C;oBAC5C,QAAQ,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC,KAAK,GAAG,cAAc,CAAC;oBACjE,4CAA4C;oBAC5C,QAAQ,CAAC,cAAc,CAAC,0BAA0B,CAAC,CAAC,MAAM,EAAE,CAAC;gBACjE,CAAC,EACD,IAAI,EAAC,QAAQ,EACb,SAAS,EAAE,MAAM,CAAC,eAAe,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,oBAAoB,CAAC,EACtG,IAAI,EAAC,WAAW,EAChB,EAAE,EAAC,cAAc,EACjB,KAAK,EAAE,MAAM,CAAC,YAAY,CAAC,GAC7B,EACD,oBAAoB,IAAI,CACrB,6BAAM,MAAM,EAAE,GAAG,CAAC,WAAW,EAAE,SAAS,EAAE,MAAM,CAAC,aAAa,CAAC,EAAE,EAAE,EAAC,2BAA2B,EAAC,MAAM,EAAC,MAAM,gBACzG,+BACI,IAAI,EAAC,QAAQ,EACb,SAAS,EAAE,MAAM,CAAC,eAAe,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,oBAAoB,CAAC,EACtG,EAAE,EAAC,mBAAmB,EACtB,IAAI,EAAC,YAAY,EACjB,KAAK,EAAC,MAAM,gBAEX,MAAM,CAAC,UAAU,CAAC,IACd,IACN,CACV,KACM,CACd,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"WebauthnError.js","sourceRoot":"","sources":["../../src/login/pages/WebauthnError.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAKzD,MAAM,CAAC,OAAO,UAAU,aAAa,CAAC,KAA4E;IAC9G,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,eAAe,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;IAEtE,MAAM,EAAE,GAAG,EAAE,oBAAoB,EAAE,GAAG,SAAS,CAAC;IAEhD,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAE7B,MAAM,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;QACzB,eAAe;QACf,OAAO;KACV,CAAC,CAAC;IAEH,OAAO,CACH,MAAC,QAAQ,kBACL,SAAS,EAAE,SAAS,EACpB,IAAI,EAAE,IAAI,EACV,eAAe,EAAE,eAAe,EAChC,OAAO,EAAE,OAAO,EAChB,cAAc,QACd,UAAU,EAAE,GAAG,CAAC,sBAAsB,CAAC,iBAEvC,8BAAM,EAAE,EAAC,0BAA0B,EAAC,SAAS,EAAE,MAAM,CAAC,aAAa,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,WAAW,EAAE,MAAM,EAAC,MAAM,iBACxG,gBAAO,IAAI,EAAC,QAAQ,EAAC,EAAE,EAAC,gBAAgB,EAAC,IAAI,EAAC,yBAAyB,GAAG,EAC1E,gBAAO,IAAI,EAAC,QAAQ,EAAC,EAAE,EAAC,YAAY,EAAC,IAAI,EAAC,YAAY,GAAG,KACtD,EACP,gBACI,QAAQ,EAAE,CAAC,EACX,OAAO,EAAE,GAAG,EAAE;oBACV,4CAA4C;oBAC5C,QAAQ,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,KAAK,GAAG,OAAO,CAAC;oBACtD,4CAA4C;oBAC5C,QAAQ,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC,KAAK,GAAG,cAAc,CAAC;oBACjE,4CAA4C;oBAC5C,QAAQ,CAAC,cAAc,CAAC,0BAA0B,CAAC,CAAC,aAAa,EAAE,CAAC;gBACxE,CAAC,EACD,IAAI,EAAC,QAAQ,EACb,SAAS,EAAE,MAAM,CAAC,eAAe,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,oBAAoB,CAAC,EACtG,IAAI,EAAC,WAAW,EAChB,EAAE,EAAC,cAAc,EACjB,KAAK,EAAE,MAAM,CAAC,YAAY,CAAC,GAC7B,EACD,oBAAoB,IAAI,CACrB,6BAAM,MAAM,EAAE,GAAG,CAAC,WAAW,EAAE,SAAS,EAAE,MAAM,CAAC,aAAa,CAAC,EAAE,EAAE,EAAC,2BAA2B,EAAC,MAAM,EAAC,MAAM,gBACzG,+BACI,IAAI,EAAC,QAAQ,EACb,SAAS,EAAE,MAAM,CAAC,eAAe,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,oBAAoB,CAAC,EACtG,EAAE,EAAC,mBAAmB,EACtB,IAAI,EAAC,YAAY,EACjB,KAAK,EAAC,MAAM,gBAEX,MAAM,CAAC,UAAU,CAAC,IACd,IACN,CACV,KACM,CACd,CAAC;AACN,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "keycloakify",
3
- "version": "11.8.57",
3
+ "version": "11.9.0",
4
4
  "description": "Framework to create custom Keycloak UIs",
5
5
  "repository": {
6
6
  "type": "git",
@@ -571,6 +571,7 @@
571
571
  "res/public/keycloakify-dev-resources/login/js/menu-button-links.js",
572
572
  "res/public/keycloakify-dev-resources/login/js/passkeysConditionalAuth.js",
573
573
  "res/public/keycloakify-dev-resources/login/js/passwordVisibility.js",
574
+ "res/public/keycloakify-dev-resources/login/js/rfc4648.js",
574
575
  "res/public/keycloakify-dev-resources/login/js/userProfile.js",
575
576
  "res/public/keycloakify-dev-resources/login/js/webauthnAuthenticate.js",
576
577
  "res/public/keycloakify-dev-resources/login/js/webauthnRegister.js",
@@ -1,18 +1,28 @@
1
- const CHECK_INTERVAL_MILLISECS = 2000;
2
- const initialSession = getSession();
3
1
 
2
+
3
+ // Updated version see: https://github.com/keycloak/keycloak/commit/687223f3b17f1804ddea1b74cacdc6b3564b73e6#diff-5a9ff6592fed58c35e85ac4e917f1ea50fa27592d63728292c7f1e6798a430b5
4
+
5
+ const SESSION_POLLING_INTERVAL = 2000;
6
+ const AUTH_SESSION_TIMEOUT_MILLISECS = 1000;
7
+ const initialSession = getSession();
8
+ const forms = Array.from(document.forms);
4
9
  let timeout;
5
10
 
6
- // Remove the timeout when unloading to avoid execution of the
7
- // checkCookiesAndSetTimer when the page is already submitted
8
- addEventListener("beforeunload", () => {
9
- if (timeout) {
10
- clearTimeout(timeout);
11
- timeout = undefined;
12
- }
13
- });
11
+ // Stop polling for a session when a form is submitted to prevent unexpected redirects.
12
+ // This is required as Safari does not support the 'beforeunload' event properly.
13
+ // See: https://bugs.webkit.org/show_bug.cgi?id=219102
14
+ forms.forEach((form) =>
15
+ form.addEventListener("submit", () => stopSessionPolling()),
16
+ );
17
+
18
+ // Stop polling for a session when the page is unloaded to prevent unexpected redirects.
19
+ globalThis.addEventListener("beforeunload", () => stopSessionPolling());
14
20
 
15
- export function checkCookiesAndSetTimer(loginRestartUrl) {
21
+ /**
22
+ * Starts polling to check if a new session was started in another context (e.g. a tab or window), and redirects to the specified URL if a session is detected.
23
+ * @param {string} redirectUrl - The URL to redirect to if a new session is detected.
24
+ */
25
+ export function startSessionPolling(redirectUrl) {
16
26
  if (initialSession) {
17
27
  // We started with a session, so there is nothing to do, exit.
18
28
  return;
@@ -21,17 +31,44 @@ export function checkCookiesAndSetTimer(loginRestartUrl) {
21
31
  const session = getSession();
22
32
 
23
33
  if (!session) {
24
- // The session is not present, check again later.
34
+ // No new session detected, check again later.
25
35
  timeout = setTimeout(
26
- () => checkCookiesAndSetTimer(loginRestartUrl),
27
- CHECK_INTERVAL_MILLISECS,
36
+ () => startSessionPolling(redirectUrl),
37
+ SESSION_POLLING_INTERVAL,
28
38
  );
29
39
  } else {
30
- // Redirect to the login restart URL. This can typically automatically login user due the SSO
31
- location.href = loginRestartUrl;
40
+ // A new session was detected, redirect to the specified URL and stop polling.
41
+ location.href = redirectUrl;
42
+ stopSessionPolling();
32
43
  }
33
44
  }
34
45
 
46
+ /**
47
+ * Stops polling the session.
48
+ */
49
+ function stopSessionPolling() {
50
+ if (timeout) {
51
+ clearTimeout(timeout);
52
+ timeout = undefined;
53
+ }
54
+ }
55
+
56
+ export function checkAuthSession(pageAuthSessionHash) {
57
+ setTimeout(() => {
58
+ const cookieAuthSessionHash = getKcAuthSessionHash();
59
+ if (
60
+ cookieAuthSessionHash &&
61
+ cookieAuthSessionHash !== pageAuthSessionHash
62
+ ) {
63
+ location.reload();
64
+ }
65
+ }, AUTH_SESSION_TIMEOUT_MILLISECS);
66
+ }
67
+
68
+ function getKcAuthSessionHash() {
69
+ return getCookieByName("KC_AUTH_SESSION_HASH");
70
+ }
71
+
35
72
  function getSession() {
36
73
  return getCookieByName("KEYCLOAK_SESSION");
37
74
  }
@@ -47,3 +84,6 @@ function getCookieByName(name) {
47
84
  }
48
85
  return null;
49
86
  }
87
+
88
+
89
+
@@ -0,0 +1,178 @@
1
+ /* eslint-disable @typescript-eslint/strict-boolean-expressions */
2
+ function parse(string, encoding, opts) {
3
+ var _opts$out;
4
+
5
+ if (opts === void 0) {
6
+ opts = {};
7
+ }
8
+
9
+ // Build the character lookup table:
10
+ if (!encoding.codes) {
11
+ encoding.codes = {};
12
+
13
+ for (var i = 0; i < encoding.chars.length; ++i) {
14
+ encoding.codes[encoding.chars[i]] = i;
15
+ }
16
+ } // The string must have a whole number of bytes:
17
+
18
+
19
+ if (!opts.loose && string.length * encoding.bits & 7) {
20
+ throw new SyntaxError('Invalid padding');
21
+ } // Count the padding bytes:
22
+
23
+
24
+ var end = string.length;
25
+
26
+ while (string[end - 1] === '=') {
27
+ --end; // If we get a whole number of bytes, there is too much padding:
28
+
29
+ if (!opts.loose && !((string.length - end) * encoding.bits & 7)) {
30
+ throw new SyntaxError('Invalid padding');
31
+ }
32
+ } // Allocate the output:
33
+
34
+
35
+ var out = new ((_opts$out = opts.out) != null ? _opts$out : Uint8Array)(end * encoding.bits / 8 | 0); // Parse the data:
36
+
37
+ var bits = 0; // Number of bits currently in the buffer
38
+
39
+ var buffer = 0; // Bits waiting to be written out, MSB first
40
+
41
+ var written = 0; // Next byte to write
42
+
43
+ for (var _i = 0; _i < end; ++_i) {
44
+ // Read one character from the string:
45
+ var value = encoding.codes[string[_i]];
46
+
47
+ if (value === undefined) {
48
+ throw new SyntaxError('Invalid character ' + string[_i]);
49
+ } // Append the bits to the buffer:
50
+
51
+
52
+ buffer = buffer << encoding.bits | value;
53
+ bits += encoding.bits; // Write out some bits if the buffer has a byte's worth:
54
+
55
+ if (bits >= 8) {
56
+ bits -= 8;
57
+ out[written++] = 0xff & buffer >> bits;
58
+ }
59
+ } // Verify that we have received just enough bits:
60
+
61
+
62
+ if (bits >= encoding.bits || 0xff & buffer << 8 - bits) {
63
+ throw new SyntaxError('Unexpected end of data');
64
+ }
65
+
66
+ return out;
67
+ }
68
+ function stringify(data, encoding, opts) {
69
+ if (opts === void 0) {
70
+ opts = {};
71
+ }
72
+
73
+ var _opts = opts,
74
+ _opts$pad = _opts.pad,
75
+ pad = _opts$pad === void 0 ? true : _opts$pad;
76
+ var mask = (1 << encoding.bits) - 1;
77
+ var out = '';
78
+ var bits = 0; // Number of bits currently in the buffer
79
+
80
+ var buffer = 0; // Bits waiting to be written out, MSB first
81
+
82
+ for (var i = 0; i < data.length; ++i) {
83
+ // Slurp data into the buffer:
84
+ buffer = buffer << 8 | 0xff & data[i];
85
+ bits += 8; // Write out as much as we can:
86
+
87
+ while (bits > encoding.bits) {
88
+ bits -= encoding.bits;
89
+ out += encoding.chars[mask & buffer >> bits];
90
+ }
91
+ } // Partial character:
92
+
93
+
94
+ if (bits) {
95
+ out += encoding.chars[mask & buffer << encoding.bits - bits];
96
+ } // Add padding characters until we hit a byte boundary:
97
+
98
+
99
+ if (pad) {
100
+ while (out.length * encoding.bits & 7) {
101
+ out += '=';
102
+ }
103
+ }
104
+
105
+ return out;
106
+ }
107
+
108
+ /* eslint-disable @typescript-eslint/strict-boolean-expressions */
109
+ var base16Encoding = {
110
+ chars: '0123456789ABCDEF',
111
+ bits: 4
112
+ };
113
+ var base32Encoding = {
114
+ chars: 'ABCDEFGHIJKLMNOPQRSTUVWXYZ234567',
115
+ bits: 5
116
+ };
117
+ var base32HexEncoding = {
118
+ chars: '0123456789ABCDEFGHIJKLMNOPQRSTUV',
119
+ bits: 5
120
+ };
121
+ var base64Encoding = {
122
+ chars: 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/',
123
+ bits: 6
124
+ };
125
+ var base64UrlEncoding = {
126
+ chars: 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_',
127
+ bits: 6
128
+ };
129
+ var base16 = {
130
+ parse: function parse$1(string, opts) {
131
+ return parse(string.toUpperCase(), base16Encoding, opts);
132
+ },
133
+ stringify: function stringify$1(data, opts) {
134
+ return stringify(data, base16Encoding, opts);
135
+ }
136
+ };
137
+ var base32 = {
138
+ parse: function parse$1(string, opts) {
139
+ if (opts === void 0) {
140
+ opts = {};
141
+ }
142
+
143
+ return parse(opts.loose ? string.toUpperCase().replace(/0/g, 'O').replace(/1/g, 'L').replace(/8/g, 'B') : string, base32Encoding, opts);
144
+ },
145
+ stringify: function stringify$1(data, opts) {
146
+ return stringify(data, base32Encoding, opts);
147
+ }
148
+ };
149
+ var base32hex = {
150
+ parse: function parse$1(string, opts) {
151
+ return parse(string, base32HexEncoding, opts);
152
+ },
153
+ stringify: function stringify$1(data, opts) {
154
+ return stringify(data, base32HexEncoding, opts);
155
+ }
156
+ };
157
+ var base64 = {
158
+ parse: function parse$1(string, opts) {
159
+ return parse(string, base64Encoding, opts);
160
+ },
161
+ stringify: function stringify$1(data, opts) {
162
+ return stringify(data, base64Encoding, opts);
163
+ }
164
+ };
165
+ var base64url = {
166
+ parse: function parse$1(string, opts) {
167
+ return parse(string, base64UrlEncoding, opts);
168
+ },
169
+ stringify: function stringify$1(data, opts) {
170
+ return stringify(data, base64UrlEncoding, opts);
171
+ }
172
+ };
173
+ var codec = {
174
+ parse: parse,
175
+ stringify: stringify
176
+ };
177
+
178
+ export { base16, base32, base32hex, base64, base64url, codec };
@@ -1,4 +1,6 @@
1
- import { base64url } from "rfc4648";
1
+
2
+
3
+ import { base64url } from "./rfc4648.js";
2
4
 
3
5
  export async function authenticateByWebAuthn(input) {
4
6
  if (!input.isUserIdentified) {
@@ -73,10 +75,13 @@ export function returnSuccess(result) {
73
75
  if (result.response.userHandle) {
74
76
  document.getElementById("userHandle").value = base64url.stringify(new Uint8Array(result.response.userHandle), { pad: false });
75
77
  }
76
- document.getElementById("webauth").submit();
78
+ document.getElementById("webauth").requestSubmit();
77
79
  }
78
80
 
79
81
  export function returnFailure(err) {
80
82
  document.getElementById("error").value = err;
81
- document.getElementById("webauth").submit();
82
- }
83
+ document.getElementById("webauth").requestSubmit();
84
+ }
85
+
86
+
87
+
@@ -1,4 +1,6 @@
1
- import { base64url } from "rfc4648";
1
+
2
+
3
+ import { base64url } from "./rfc4648.js";
2
4
 
3
5
  export async function registerByWebAuthn(input) {
4
6
 
@@ -131,10 +133,13 @@ function returnSuccess(result, initLabel, initLabelPrompt) {
131
133
  }
132
134
  document.getElementById("authenticatorLabel").value = labelResult;
133
135
 
134
- document.getElementById("register").submit();
136
+ document.getElementById("register").requestSubmit();
135
137
  }
136
138
 
137
139
  function returnFailure(err) {
138
140
  document.getElementById("error").value = err;
139
- document.getElementById("register").submit();
141
+ document.getElementById("register").requestSubmit();
140
142
  }
143
+
144
+
145
+
@@ -127,21 +127,6 @@ redirect_to_dev_server: {
127
127
 
128
128
  window.kcContext = kcContext;
129
129
 
130
-
131
- <#if xKeycloakify.themeType == "login" >
132
- {
133
- const script = document.createElement("script");
134
- script.type = "importmap";
135
- script.textContent = JSON.stringify({
136
- imports: {
137
- "rfc4648": kcContext.url.resourcesCommonPath + "/node_modules/rfc4648/lib/rfc4648.js"
138
- }
139
- }, null, 2);
140
-
141
- document.head.appendChild(script);
142
- }
143
- </#if>
144
-
145
130
  function decodeHtmlEntities(htmlStr){
146
131
  var element = decodeHtmlEntities.element;
147
132
  if (!element) {
@@ -150,6 +150,11 @@ export declare namespace KcContext {
150
150
 
151
151
  getFirstError: (...fieldNames: string[]) => string;
152
152
  };
153
+
154
+ authenticationSession?: {
155
+ authSessionIdHash: string;
156
+ };
157
+
153
158
  properties: {};
154
159
  "x-keycloakify": {
155
160
  messages: Record<string, string>;
@@ -160,7 +160,7 @@ export default function Template(props: TemplateProps<KcContext, I18n>) {
160
160
  href="#"
161
161
  id="try-another-way"
162
162
  onClick={() => {
163
- document.forms["kc-select-try-another-way-form" as never].submit();
163
+ document.forms["kc-select-try-another-way-form" as never].requestSubmit();
164
164
  return false;
165
165
  }}
166
166
  >
@@ -11,6 +11,9 @@ export type KcContextLike = {
11
11
  ssoLoginInOtherTabsUrl: string;
12
12
  };
13
13
  scripts?: string[];
14
+ authenticationSession?: {
15
+ authSessionIdHash: string;
16
+ };
14
17
  };
15
18
 
16
19
  assert<keyof KcContextLike extends keyof KcContext ? true : false>();
@@ -53,11 +56,14 @@ export function useInitialize(params: {
53
56
  }))),
54
57
  {
55
58
  type: "module",
56
- textContent: `
57
- import { checkCookiesAndSetTimer } from "${url.resourcesPath}/js/authChecker.js";
58
-
59
- checkCookiesAndSetTimer("${url.ssoLoginInOtherTabsUrl}");
60
- `
59
+ textContent: [
60
+ `import { startSessionPolling, checkAuthSession } from "${url.resourcesPath}/js/authChecker.js";`,
61
+ ``,
62
+ `startSessionPolling("${kcContext.url.ssoLoginInOtherTabsUrl}");`,
63
+ kcContext.authenticationSession === undefined
64
+ ? ""
65
+ : `checkAuthSession("${kcContext.authenticationSession.authSessionIdHash}");`
66
+ ].join("\n")
61
67
  }
62
68
  ]
63
69
  });
@@ -1,4 +1,4 @@
1
- import { useEffect } from "react";
1
+ import { useEffect, useState } from "react";
2
2
  import type { PageProps } from "keycloakify/login/pages/PageProps";
3
3
  import type { KcContext } from "../KcContext";
4
4
  import type { I18n } from "../i18n";
@@ -10,30 +10,19 @@ export default function FrontchannelLogout(props: PageProps<Extract<KcContext, {
10
10
 
11
11
  const { msg, msgStr } = i18n;
12
12
 
13
- useEffect(() => {
14
- const { logoutRedirectUri } = logout;
13
+ const [iframeLoadCount, setIframeLoadCount] = useState(0);
15
14
 
16
- if (logoutRedirectUri === undefined) {
15
+ useEffect(() => {
16
+ if (!kcContext.logout.logoutRedirectUri) {
17
17
  return;
18
18
  }
19
19
 
20
- if (document.readyState === "complete") {
21
- window.location.replace(logoutRedirectUri);
20
+ if (iframeLoadCount !== kcContext.logout.clients.length) {
22
21
  return;
23
22
  }
24
23
 
25
- const onReadystatechange = () => {
26
- if (document.readyState === "complete") {
27
- window.location.replace(logoutRedirectUri);
28
- }
29
- };
30
-
31
- document.addEventListener("readystatechange", onReadystatechange);
32
-
33
- return () => {
34
- document.removeEventListener("readystatechange", onReadystatechange);
35
- };
36
- }, []);
24
+ window.location.replace(kcContext.logout.logoutRedirectUri);
25
+ }, [iframeLoadCount]);
37
26
 
38
27
  return (
39
28
  <Template
@@ -49,7 +38,13 @@ export default function FrontchannelLogout(props: PageProps<Extract<KcContext, {
49
38
  {logout.clients.map(client => (
50
39
  <li key={client.name}>
51
40
  {client.name}
52
- <iframe src={client.frontChannelLogoutUrl} style={{ display: "none" }} />
41
+ <iframe
42
+ src={client.frontChannelLogoutUrl}
43
+ style={{ display: "none" }}
44
+ onLoad={() => {
45
+ setIframeLoadCount(count => count + 1);
46
+ }}
47
+ />
53
48
  </li>
54
49
  ))}
55
50
  </ul>
@@ -1,5 +1,5 @@
1
1
  import type { JSX } from "keycloakify/tools/JSX";
2
- import { useState } from "react";
2
+ import { useState, useLayoutEffect } from "react";
3
3
  import type { LazyOrNot } from "keycloakify/tools/LazyOrNot";
4
4
  import { kcSanitize } from "keycloakify/lib/kcSanitize";
5
5
  import { getKcClsx, type KcClsx } from "keycloakify/login/lib/kcClsx";
@@ -30,6 +30,17 @@ export default function Register(props: RegisterProps) {
30
30
  const [isFormSubmittable, setIsFormSubmittable] = useState(false);
31
31
  const [areTermsAccepted, setAreTermsAccepted] = useState(false);
32
32
 
33
+ useLayoutEffect(() => {
34
+ (window as any)["onSubmitRecaptcha"] = () => {
35
+ // @ts-expect-error
36
+ document.getElementById("kc-register-form").requestSubmit();
37
+ };
38
+
39
+ return () => {
40
+ delete (window as any)["onSubmitRecaptcha"];
41
+ };
42
+ }, []);
43
+
33
44
  return (
34
45
  <Template
35
46
  kcContext={kcContext}
@@ -81,9 +92,7 @@ export default function Register(props: RegisterProps) {
81
92
  "g-recaptcha"
82
93
  )}
83
94
  data-sitekey={recaptchaSiteKey}
84
- data-callback={() => {
85
- (document.getElementById("kc-register-form") as HTMLFormElement).submit();
86
- }}
95
+ data-callback="onSubmitRecaptcha"
87
96
  data-action={recaptchaAction}
88
97
  type="submit"
89
98
  >
@@ -23,7 +23,7 @@ export default function SamlPostForm(props: PageProps<Extract<KcContext, { pageI
23
23
  return;
24
24
  }
25
25
 
26
- htmlFormElement.submit();
26
+ htmlFormElement.requestSubmit();
27
27
  }, [htmlFormElement]);
28
28
  return (
29
29
  <Template kcContext={kcContext} i18n={i18n} doUseDefaultCss={doUseDefaultCss} classes={classes} headerNode={msg("saml.post-form.title")}>
@@ -36,7 +36,7 @@ export default function WebauthnError(props: PageProps<Extract<KcContext, { page
36
36
  // @ts-expect-error: Trusted Keycloak's code
37
37
  document.getElementById("executionValue").value = "${execution}";
38
38
  // @ts-expect-error: Trusted Keycloak's code
39
- document.getElementById("kc-error-credential-form").submit();
39
+ document.getElementById("kc-error-credential-form").requestSubmit();
40
40
  }}
41
41
  type="button"
42
42
  className={kcClsx("kcButtonClass", "kcButtonPrimaryClass", "kcButtonBlockClass", "kcButtonLargeClass")}