keycloakify 9.5.7 → 9.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.
Files changed (46) hide show
  1. package/account/Fallback.js +12 -0
  2. package/account/Fallback.js.map +1 -1
  3. package/account/TemplateProps.d.ts +1 -1
  4. package/account/kcContext/KcContext.d.ts +144 -1
  5. package/account/kcContext/KcContext.js.map +1 -1
  6. package/account/kcContext/createGetKcContext.d.ts +1 -0
  7. package/account/kcContext/createGetKcContext.js +7 -1
  8. package/account/kcContext/createGetKcContext.js.map +1 -1
  9. package/account/kcContext/kcContextMocks.js +55 -2
  10. package/account/kcContext/kcContextMocks.js.map +1 -1
  11. package/account/lib/useGetClassName.js +8 -1
  12. package/account/lib/useGetClassName.js.map +1 -1
  13. package/account/pages/Applications.d.ts +7 -0
  14. package/account/pages/Applications.js +24 -0
  15. package/account/pages/Applications.js.map +1 -0
  16. package/account/pages/Log.d.ts +7 -0
  17. package/account/pages/Log.js +13 -0
  18. package/account/pages/Log.js.map +1 -0
  19. package/account/pages/Sessions.d.ts +7 -0
  20. package/account/pages/Sessions.js +18 -0
  21. package/account/pages/Sessions.js.map +1 -0
  22. package/account/pages/Totp.d.ts +7 -0
  23. package/account/pages/Totp.js +20 -0
  24. package/account/pages/Totp.js.map +1 -0
  25. package/bin/keycloakify/generateFtl/pageId.d.ts +1 -1
  26. package/bin/keycloakify/generateFtl/pageId.js +1 -1
  27. package/bin/keycloakify/generateFtl/pageId.js.map +1 -1
  28. package/login/kcContext/createGetKcContext.d.ts +1 -0
  29. package/login/kcContext/createGetKcContext.js +7 -1
  30. package/login/kcContext/createGetKcContext.js.map +1 -1
  31. package/login/kcContext/kcContextMocks.js +119 -1
  32. package/login/kcContext/kcContextMocks.js.map +1 -1
  33. package/package.json +21 -1
  34. package/src/account/Fallback.tsx +12 -0
  35. package/src/account/TemplateProps.ts +14 -1
  36. package/src/account/kcContext/KcContext.ts +148 -1
  37. package/src/account/kcContext/createGetKcContext.ts +9 -1
  38. package/src/account/kcContext/kcContextMocks.ts +79 -1
  39. package/src/account/lib/useGetClassName.ts +8 -1
  40. package/src/account/pages/Applications.tsx +138 -0
  41. package/src/account/pages/Log.tsx +70 -0
  42. package/src/account/pages/Sessions.tsx +68 -0
  43. package/src/account/pages/Totp.tsx +236 -0
  44. package/src/bin/keycloakify/generateFtl/pageId.ts +1 -1
  45. package/src/login/kcContext/createGetKcContext.ts +9 -1
  46. package/src/login/kcContext/kcContextMocks.ts +120 -1
@@ -14,14 +14,26 @@ import { lazy, Suspense } from "react";
14
14
  import { assert } from "tsafe/assert";
15
15
  const Password = lazy(() => import("../account/pages/Password"));
16
16
  const Account = lazy(() => import("../account/pages/Account"));
17
+ const Sessions = lazy(() => import("../account/pages/Sessions"));
18
+ const Totp = lazy(() => import("../account/pages/Totp"));
19
+ const Applications = lazy(() => import("../account/pages/Applications"));
20
+ const Log = lazy(() => import("../account/pages/Log"));
17
21
  export default function Fallback(props) {
18
22
  const { kcContext } = props, rest = __rest(props, ["kcContext"]);
19
23
  return (_jsx(Suspense, { children: (() => {
20
24
  switch (kcContext.pageId) {
21
25
  case "password.ftl":
22
26
  return _jsx(Password, Object.assign({ kcContext: kcContext }, rest));
27
+ case "sessions.ftl":
28
+ return _jsx(Sessions, Object.assign({ kcContext: kcContext }, rest));
23
29
  case "account.ftl":
24
30
  return _jsx(Account, Object.assign({ kcContext: kcContext }, rest));
31
+ case "totp.ftl":
32
+ return _jsx(Totp, Object.assign({ kcContext: kcContext }, rest));
33
+ case "applications.ftl":
34
+ return _jsx(Applications, Object.assign({ kcContext: kcContext }, rest));
35
+ case "log.ftl":
36
+ return _jsx(Log, Object.assign({ kcContext: kcContext }, rest));
25
37
  }
26
38
  assert(false);
27
39
  })() }));
@@ -1 +1 @@
1
- {"version":3,"file":"Fallback.js","sourceRoot":"","sources":["../src/account/Fallback.tsx"],"names":[],"mappings":";;;;;;;;;;;;AAAA,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAIvC,OAAO,EAAE,MAAM,EAAe,MAAM,cAAc,CAAC;AAEnD,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,oCAAoC,CAAC,CAAC,CAAC;AAC1E,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,mCAAmC,CAAC,CAAC,CAAC;AAExE,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,KAAiC;IAC9D,MAAM,EAAE,SAAS,KAAc,KAAK,EAAd,IAAI,UAAK,KAAK,EAA9B,aAAsB,CAAQ,CAAC;IAErC,OAAO,CACH,KAAC,QAAQ,cACJ,CAAC,GAAG,EAAE;YACH,QAAQ,SAAS,CAAC,MAAM,EAAE;gBACtB,KAAK,cAAc;oBACf,OAAO,KAAC,QAAQ,kBAAC,SAAS,EAAE,SAAS,IAAM,IAAI,EAAI,CAAC;gBACxD,KAAK,aAAa;oBACd,OAAO,KAAC,OAAO,kBAAC,SAAS,EAAE,SAAS,IAAM,IAAI,EAAI,CAAC;aAC1D;YACD,MAAM,CAAkC,KAAK,CAAC,CAAC;QACnD,CAAC,CAAC,EAAE,GACG,CACd,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"Fallback.js","sourceRoot":"","sources":["../src/account/Fallback.tsx"],"names":[],"mappings":";;;;;;;;;;;;AAAA,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAIvC,OAAO,EAAE,MAAM,EAAe,MAAM,cAAc,CAAC;AAEnD,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,oCAAoC,CAAC,CAAC,CAAC;AAC1E,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,mCAAmC,CAAC,CAAC,CAAC;AACxE,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,oCAAoC,CAAC,CAAC,CAAC;AAC1E,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,gCAAgC,CAAC,CAAC,CAAC;AAClE,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,wCAAwC,CAAC,CAAC,CAAC;AAClF,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,+BAA+B,CAAC,CAAC,CAAC;AAEhE,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,KAAiC;IAC9D,MAAM,EAAE,SAAS,KAAc,KAAK,EAAd,IAAI,UAAK,KAAK,EAA9B,aAAsB,CAAQ,CAAC;IAErC,OAAO,CACH,KAAC,QAAQ,cACJ,CAAC,GAAG,EAAE;YACH,QAAQ,SAAS,CAAC,MAAM,EAAE;gBACtB,KAAK,cAAc;oBACf,OAAO,KAAC,QAAQ,kBAAC,SAAS,EAAE,SAAS,IAAM,IAAI,EAAI,CAAC;gBACxD,KAAK,cAAc;oBACf,OAAO,KAAC,QAAQ,kBAAC,SAAS,EAAE,SAAS,IAAM,IAAI,EAAI,CAAC;gBACxD,KAAK,aAAa;oBACd,OAAO,KAAC,OAAO,kBAAC,SAAS,EAAE,SAAS,IAAM,IAAI,EAAI,CAAC;gBACvD,KAAK,UAAU;oBACX,OAAO,KAAC,IAAI,kBAAC,SAAS,EAAE,SAAS,IAAM,IAAI,EAAI,CAAC;gBACpD,KAAK,kBAAkB;oBACnB,OAAO,KAAC,YAAY,kBAAC,SAAS,EAAE,SAAS,IAAM,IAAI,EAAI,CAAC;gBAC5D,KAAK,SAAS;oBACV,OAAO,KAAC,GAAG,kBAAC,SAAS,EAAE,SAAS,IAAM,IAAI,EAAI,CAAC;aACtD;YACD,MAAM,CAAkC,KAAK,CAAC,CAAC;QACnD,CAAC,CAAC,EAAE,GACG,CACd,CAAC;AACN,CAAC"}
@@ -9,4 +9,4 @@ export type TemplateProps<KcContext extends KcContext.Common, I18nExtended exten
9
9
  classes?: Partial<Record<ClassKey, string>>;
10
10
  children: ReactNode;
11
11
  };
12
- export type ClassKey = "kcHtmlClass" | "kcBodyClass" | "kcButtonClass" | "kcButtonPrimaryClass" | "kcButtonLargeClass" | "kcButtonDefaultClass";
12
+ export type ClassKey = "kcHtmlClass" | "kcBodyClass" | "kcButtonClass" | "kcButtonPrimaryClass" | "kcButtonLargeClass" | "kcButtonDefaultClass" | "kcContentWrapperClass" | "kcFormClass" | "kcFormGroupClass" | "kcInputWrapperClass" | "kcLabelClass" | "kcInputClass" | "kcInputErrorMessageClass";
@@ -1,4 +1,4 @@
1
- export type KcContext = KcContext.Password | KcContext.Account;
1
+ export type KcContext = KcContext.Password | KcContext.Account | KcContext.Sessions | KcContext.Totp | KcContext.Applications | KcContext.Log;
2
2
  export declare namespace KcContext {
3
3
  type Common = {
4
4
  themeVersion: string;
@@ -84,6 +84,15 @@ export declare namespace KcContext {
84
84
  username?: string;
85
85
  };
86
86
  properties: Record<string, string | undefined>;
87
+ sessions: {
88
+ sessions: {
89
+ ipAddress: string;
90
+ started?: any;
91
+ lastAccess?: any;
92
+ expires?: any;
93
+ clients: string[];
94
+ }[];
95
+ };
87
96
  };
88
97
  type Password = Common & {
89
98
  pageId: "password.ftl";
@@ -103,4 +112,138 @@ export declare namespace KcContext {
103
112
  };
104
113
  stateChecker: string;
105
114
  };
115
+ type Sessions = Common & {
116
+ pageId: "sessions.ftl";
117
+ sessions: {
118
+ sessions: {
119
+ ipAddress: string;
120
+ started?: any;
121
+ lastAccess?: any;
122
+ expires?: any;
123
+ clients: string[];
124
+ }[];
125
+ };
126
+ stateChecker: string;
127
+ };
128
+ type Totp = Common & {
129
+ pageId: "totp.ftl";
130
+ totp: {
131
+ enabled: boolean;
132
+ totpSecretEncoded: string;
133
+ qrUrl: string;
134
+ policy: {
135
+ algorithm: "HmacSHA1" | "HmacSHA256" | "HmacSHA512";
136
+ digits: number;
137
+ lookAheadWindow: number;
138
+ } & ({
139
+ type: "totp";
140
+ period: number;
141
+ } | {
142
+ type: "hotp";
143
+ initialCounter: number;
144
+ });
145
+ supportedApplications: string[];
146
+ totpSecretQrCode: string;
147
+ manualUrl: string;
148
+ totpSecret: string;
149
+ otpCredentials: {
150
+ id: string;
151
+ userLabel: string;
152
+ }[];
153
+ };
154
+ mode?: "qr" | "manual" | undefined | null;
155
+ isAppInitiatedAction: boolean;
156
+ url: {
157
+ accountUrl: string;
158
+ passwordUrl: string;
159
+ totpUrl: string;
160
+ socialUrl: string;
161
+ sessionsUrl: string;
162
+ applicationsUrl: string;
163
+ logUrl: string;
164
+ resourceUrl: string;
165
+ resourcesCommonPath: string;
166
+ resourcesPath: string;
167
+ /** @deprecated, not present in recent keycloak version apparently, use kcContext.referrer instead */
168
+ referrerURI?: string;
169
+ getLogoutUrl: () => string;
170
+ };
171
+ stateChecker: string;
172
+ };
173
+ type Applications = Common & {
174
+ pageId: "applications.ftl";
175
+ features: {
176
+ log: boolean;
177
+ identityFederation: boolean;
178
+ authorization: boolean;
179
+ passwordUpdateSupported: boolean;
180
+ };
181
+ stateChecker: string;
182
+ applications: {
183
+ applications: {
184
+ realmRolesAvailable: {
185
+ name: string;
186
+ description: string;
187
+ }[];
188
+ resourceRolesAvailable: Record<string, {
189
+ roleName: string;
190
+ roleDescription: string;
191
+ clientName: string;
192
+ clientId: string;
193
+ }[]>;
194
+ additionalGrants: string[];
195
+ clientScopesGranted: string[];
196
+ effectiveUrl?: string;
197
+ client: {
198
+ consentScreenText: string;
199
+ surrogateAuthRequired: boolean;
200
+ bearerOnly: boolean;
201
+ id: string;
202
+ protocolMappersStream: Record<string, unknown>;
203
+ includeInTokenScope: boolean;
204
+ redirectUris: string[];
205
+ fullScopeAllowed: boolean;
206
+ registeredNodes: Record<string, unknown>;
207
+ enabled: boolean;
208
+ clientAuthenticatorType: string;
209
+ realmScopeMappingsStream: Record<string, unknown>;
210
+ scopeMappingsStream: Record<string, unknown>;
211
+ displayOnConsentScreen: boolean;
212
+ clientId: string;
213
+ rootUrl: string;
214
+ authenticationFlowBindingOverrides: Record<string, unknown>;
215
+ standardFlowEnabled: boolean;
216
+ attributes: Record<string, unknown>;
217
+ publicClient: boolean;
218
+ alwaysDisplayInConsole: boolean;
219
+ consentRequired: boolean;
220
+ notBefore: string;
221
+ rolesStream: Record<string, unknown>;
222
+ protocol: string;
223
+ dynamicScope: boolean;
224
+ directAccessGrantsEnabled: boolean;
225
+ name: string;
226
+ serviceAccountsEnabled: boolean;
227
+ frontchannelLogout: boolean;
228
+ nodeReRegistrationTimeout: string;
229
+ implicitFlowEnabled: boolean;
230
+ baseUrl: string;
231
+ webOrigins: string[];
232
+ realm: Record<string, unknown>;
233
+ };
234
+ }[];
235
+ };
236
+ };
237
+ type Log = Common & {
238
+ pageId: "log.ftl";
239
+ log: {
240
+ events: {
241
+ date: string | number | Date;
242
+ event: string;
243
+ ipAddress: string;
244
+ client: any;
245
+ details: any[];
246
+ }[];
247
+ };
248
+ };
106
249
  }
@@ -1 +1 @@
1
- {"version":3,"file":"KcContext.js","sourceRoot":"","sources":["../../src/account/kcContext/KcContext.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAmHtC;IAOI,MAAM,EAA4B,CAAC;IACnC,MAAM,EAAiC,CAAC;CAC3C;AAED,MAAM,EAA2D,CAAC"}
1
+ {"version":3,"file":"KcContext.js","sourceRoot":"","sources":["../../src/account/kcContext/KcContext.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAsQtC;IAOI,MAAM,EAA4B,CAAC;IACnC,MAAM,EAAiC,CAAC;CAC3C;AAED,MAAM,EAA2D,CAAC"}
@@ -4,6 +4,7 @@ export declare function createGetKcContext<KcContextExtension extends {
4
4
  pageId: string;
5
5
  } = never>(params?: {
6
6
  mockData?: readonly DeepPartial<ExtendKcContext<KcContextExtension>>[];
7
+ mockProperties?: Record<string, string>;
7
8
  }): {
8
9
  getKcContext: <PageId extends ExtendKcContext<KcContextExtension>["pageId"] | undefined = undefined>(params?: {
9
10
  mockPageId?: PageId | undefined;
@@ -4,7 +4,7 @@ import { getKcContextFromWindow } from "./getKcContextFromWindow";
4
4
  import { symToStr } from "tsafe/symToStr";
5
5
  import { kcContextMocks, kcContextCommonMock } from "../../account/kcContext/kcContextMocks";
6
6
  export function createGetKcContext(params) {
7
- const { mockData } = params !== null && params !== void 0 ? params : {};
7
+ const { mockData, mockProperties } = params !== null && params !== void 0 ? params : {};
8
8
  function getKcContext(params) {
9
9
  const { mockPageId, storyPartialKcContext } = params !== null && params !== void 0 ? params : {};
10
10
  const realKcContext = getKcContextFromWindow();
@@ -52,6 +52,12 @@ export function createGetKcContext(params) {
52
52
  "source": partialKcContextCustomMock
53
53
  });
54
54
  }
55
+ if (mockProperties !== undefined) {
56
+ deepAssign({
57
+ "target": kcContext.properties,
58
+ "source": mockProperties
59
+ });
60
+ }
55
61
  return { kcContext };
56
62
  }
57
63
  if (realKcContext === undefined) {
@@ -1 +1 @@
1
- {"version":3,"file":"createGetKcContext.js","sourceRoot":"","sources":["../../src/account/kcContext/createGetKcContext.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"createGetKcContext.js","sourceRoot":"","sources":["../../src/account/kcContext/createGetKcContext.ts"],"names":[],"mappings":"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"}
@@ -143,12 +143,65 @@ export const kcContextCommonMock = {
143
143
  "email": "john.doe@code.gouv.fr",
144
144
  "username": "doe_j"
145
145
  },
146
- "properties": {}
146
+ "properties": {
147
+ "parent": "account-v1",
148
+ "kcButtonLargeClass": "btn-lg",
149
+ "locales": "ar,ca,cs,da,de,en,es,fr,fi,hu,it,ja,lt,nl,no,pl,pt-BR,ru,sk,sv,tr,zh-CN",
150
+ "kcButtonPrimaryClass": "btn-primary",
151
+ "accountResourceProvider": "account-v1",
152
+ "styles": "css/account.css img/icon-sidebar-active.png img/logo.png resources-common/node_modules/patternfly/dist/css/patternfly.min.css resources-common/node_modules/patternfly/dist/css/patternfly-additions.min.css resources-common/node_modules/patternfly/dist/css/patternfly-additions.min.css",
153
+ "kcButtonClass": "btn",
154
+ "kcButtonDefaultClass": "btn-default"
155
+ },
156
+ "sessions": {
157
+ "sessions": [
158
+ {
159
+ "ipAddress": "127.0.0.1",
160
+ "started": new Date().toString(),
161
+ "lastAccess": new Date().toString(),
162
+ "expires": new Date().toString(),
163
+ "clients": ["Chrome", "Firefox"]
164
+ }
165
+ ]
166
+ }
147
167
  };
148
168
  export const kcContextMocks = [
149
169
  id(Object.assign(Object.assign({}, kcContextCommonMock), { "pageId": "password.ftl", "password": {
150
170
  "passwordSet": true
151
171
  }, "stateChecker": "state checker" })),
152
- id(Object.assign(Object.assign({}, kcContextCommonMock), { "pageId": "account.ftl", "url": Object.assign(Object.assign({}, kcContextCommonMock.url), { "referrerURI": "#", "accountUrl": "#" }), "realm": Object.assign(Object.assign({}, kcContextCommonMock.realm), { "registrationEmailAsUsername": true, "editUsernameAllowed": true }), "stateChecker": "" }))
172
+ id(Object.assign(Object.assign({}, kcContextCommonMock), { "pageId": "account.ftl", "url": Object.assign(Object.assign({}, kcContextCommonMock.url), { "referrerURI": "#", "accountUrl": "#" }), "realm": Object.assign(Object.assign({}, kcContextCommonMock.realm), { "registrationEmailAsUsername": true, "editUsernameAllowed": true }), "stateChecker": "" })),
173
+ id(Object.assign(Object.assign({}, kcContextCommonMock), { "pageId": "sessions.ftl", "sessions": {
174
+ "sessions": [
175
+ Object.assign(Object.assign({}, kcContextCommonMock.sessions), { "ipAddress": "127.0.0.1", "started": new Date().toString(), "lastAccess": new Date().toString(), "expires": new Date().toString(), "clients": ["Chrome", "Firefox"] })
176
+ ]
177
+ }, "stateChecker": "g6WB1FaYnKotTkiy7ZrlxvFztSqS0U8jvHsOOOb2z4g" })),
178
+ id(Object.assign(Object.assign({}, kcContextCommonMock), { "pageId": "totp.ftl", "totp": {
179
+ "enabled": true,
180
+ "totpSecretEncoded": "KVVF G2BY N4YX S6LB IUYT K2LH IFYE 4SBV",
181
+ "qrUrl": "#",
182
+ "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=",
183
+ "manualUrl": "#",
184
+ "totpSecret": "G4nsI8lQagRMUchH8jEG",
185
+ "otpCredentials": [],
186
+ "supportedApplications": ["totpAppFreeOTPName", "totpAppMicrosoftAuthenticatorName", "totpAppGoogleName"],
187
+ "policy": {
188
+ "algorithm": "HmacSHA1",
189
+ "digits": 6,
190
+ "lookAheadWindow": 1,
191
+ "type": "totp",
192
+ "period": 30
193
+ }
194
+ }, "mode": "qr", "isAppInitiatedAction": false, "stateChecker": "" })),
195
+ id(Object.assign(Object.assign({}, kcContextCommonMock), { "pageId": "log.ftl", "log": {
196
+ "events": [
197
+ {
198
+ "date": "2/21/2024, 1:28:39 PM",
199
+ "event": "login",
200
+ "ipAddress": "172.17.0.1",
201
+ "client": "security-admin-console",
202
+ "details": ["auth_method = openid-connect, username = admin"]
203
+ }
204
+ ]
205
+ } }))
153
206
  ];
154
207
  //# sourceMappingURL=kcContextMocks.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"kcContextMocks.js","sourceRoot":"","sources":["../../src/account/kcContext/kcContextMocks.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"kcContextMocks.js","sourceRoot":"","sources":["../../src/account/kcContext/kcContextMocks.ts"],"names":[],"mappings":"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"}
@@ -4,9 +4,16 @@ export const { useGetClassName } = createUseClassName({
4
4
  "kcHtmlClass": undefined,
5
5
  "kcBodyClass": undefined,
6
6
  "kcButtonClass": "btn",
7
+ "kcContentWrapperClass": "row",
7
8
  "kcButtonPrimaryClass": "btn-primary",
8
9
  "kcButtonLargeClass": "btn-lg",
9
- "kcButtonDefaultClass": "btn-default"
10
+ "kcButtonDefaultClass": "btn-default",
11
+ "kcFormClass": "form-horizontal",
12
+ "kcFormGroupClass": "form-group",
13
+ "kcInputWrapperClass": "col-xs-12 col-sm-12 col-md-12 col-lg-12",
14
+ "kcLabelClass": "control-label",
15
+ "kcInputClass": "form-control",
16
+ "kcInputErrorMessageClass": "pf-c-form__helper-text pf-m-error required kc-feedback-text"
10
17
  }
11
18
  });
12
19
  //# sourceMappingURL=useGetClassName.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useGetClassName.js","sourceRoot":"","sources":["../../src/account/lib/useGetClassName.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AAGrE,MAAM,CAAC,MAAM,EAAE,eAAe,EAAE,GAAG,kBAAkB,CAAW;IAC5D,gBAAgB,EAAE;QACd,aAAa,EAAE,SAAS;QACxB,aAAa,EAAE,SAAS;QACxB,eAAe,EAAE,KAAK;QACtB,sBAAsB,EAAE,aAAa;QACrC,oBAAoB,EAAE,QAAQ;QAC9B,sBAAsB,EAAE,aAAa;KACxC;CACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"useGetClassName.js","sourceRoot":"","sources":["../../src/account/lib/useGetClassName.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AAGrE,MAAM,CAAC,MAAM,EAAE,eAAe,EAAE,GAAG,kBAAkB,CAAW;IAC5D,gBAAgB,EAAE;QACd,aAAa,EAAE,SAAS;QACxB,aAAa,EAAE,SAAS;QACxB,eAAe,EAAE,KAAK;QACtB,uBAAuB,EAAE,KAAK;QAC9B,sBAAsB,EAAE,aAAa;QACrC,oBAAoB,EAAE,QAAQ;QAC9B,sBAAsB,EAAE,aAAa;QACrC,aAAa,EAAE,iBAAiB;QAChC,kBAAkB,EAAE,YAAY;QAChC,qBAAqB,EAAE,yCAAyC;QAChE,cAAc,EAAE,eAAe;QAC/B,cAAc,EAAE,cAAc;QAC9B,0BAA0B,EAAE,6DAA6D;KAC5F;CACJ,CAAC,CAAC"}
@@ -0,0 +1,7 @@
1
+ /// <reference types="react" />
2
+ import type { PageProps } from "../../account/pages/PageProps";
3
+ import type { KcContext } from "../kcContext";
4
+ import type { I18n } from "../i18n";
5
+ export default function Applications(props: PageProps<Extract<KcContext, {
6
+ pageId: "applications.ftl";
7
+ }>, I18n>): JSX.Element;
@@ -0,0 +1,24 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { clsx } from "../../tools/clsx";
3
+ import { useGetClassName } from "../../account/lib/useGetClassName";
4
+ function isArrayWithEmptyObject(variable) {
5
+ return Array.isArray(variable) && variable.length === 1 && typeof variable[0] === "object" && Object.keys(variable[0]).length === 0;
6
+ }
7
+ export default function Applications(props) {
8
+ const { kcContext, i18n, doUseDefaultCss, classes, Template } = props;
9
+ const { getClassName } = useGetClassName({
10
+ doUseDefaultCss,
11
+ classes
12
+ });
13
+ const { url, applications: { applications }, stateChecker } = kcContext;
14
+ const { msg, advancedMsg } = i18n;
15
+ return (_jsx(Template, Object.assign({}, { kcContext, i18n, doUseDefaultCss, classes }, { active: "applications" }, { children: _jsxs("div", Object.assign({ className: "row" }, { children: [_jsx("div", Object.assign({ className: "col-md-10" }, { children: _jsx("h2", { children: msg("applicationsHtmlTitle") }) })), _jsxs("form", Object.assign({ action: url.applicationsUrl, method: "post" }, { children: [_jsx("input", { type: "hidden", id: "stateChecker", name: "stateChecker", value: stateChecker }), _jsx("input", { type: "hidden", id: "referrer", name: "referrer", value: stateChecker }), _jsxs("table", Object.assign({ className: "table table-striped table-bordered" }, { children: [_jsx("thead", { children: _jsxs("tr", { children: [_jsx("td", { children: msg("application") }), _jsx("td", { children: msg("availableRoles") }), _jsx("td", { children: msg("grantedPermissions") }), _jsx("td", { children: msg("additionalGrants") }), _jsx("td", { children: msg("action") })] }) }), _jsx("tbody", { children: applications.map(application => (_jsxs("tr", { children: [_jsxs("td", { children: [application.effectiveUrl && (_jsx("a", Object.assign({ href: application.effectiveUrl }, { children: (application.client.name && advancedMsg(application.client.name)) || application.client.clientId }))), !application.effectiveUrl &&
16
+ ((application.client.name && advancedMsg(application.client.name)) || application.client.clientId)] }), _jsxs("td", { children: [!isArrayWithEmptyObject(application.realmRolesAvailable) &&
17
+ application.realmRolesAvailable.map(role => (_jsxs("span", { children: [role.description ? advancedMsg(role.description) : advancedMsg(role.name), role !== application.realmRolesAvailable[application.realmRolesAvailable.length - 1] && ", "] }, role.name))), !isArrayWithEmptyObject(application.realmRolesAvailable) && application.resourceRolesAvailable && ", ", application.resourceRolesAvailable &&
18
+ Object.keys(application.resourceRolesAvailable).map(resource => (_jsxs("span", { children: [!isArrayWithEmptyObject(application.realmRolesAvailable) && ", ", application.resourceRolesAvailable[resource].map(clientRole => (_jsxs("span", { children: [clientRole.roleDescription
19
+ ? advancedMsg(clientRole.roleDescription)
20
+ : advancedMsg(clientRole.roleName), " ", msg("inResource"), " ", _jsx("strong", { children: clientRole.clientName ? advancedMsg(clientRole.clientName) : clientRole.clientId }), clientRole !==
21
+ application.resourceRolesAvailable[resource][application.resourceRolesAvailable[resource].length - 1] && ", "] }, clientRole.roleName)))] }, resource)))] }), _jsx("td", { children: application.client.consentRequired ? (application.clientScopesGranted.map(claim => (_jsxs("span", { children: [advancedMsg(claim), claim !== application.clientScopesGranted[application.clientScopesGranted.length - 1] && ", "] }, claim)))) : (_jsx("strong", { children: msg("fullAccess") })) }), _jsx("td", { children: application.additionalGrants.map(grant => (_jsxs("span", { children: [advancedMsg(grant), grant !== application.additionalGrants[application.additionalGrants.length - 1] && ", "] }, grant))) }), _jsx("td", { children: (application.client.consentRequired && application.clientScopesGranted.length > 0) ||
22
+ application.additionalGrants.length > 0 ? (_jsx("button", Object.assign({ type: "submit", className: clsx(getClassName("kcButtonPrimaryClass"), getClassName("kcButtonClass")), id: `revoke-${application.client.clientId}`, name: "clientId", value: application.client.id }, { children: msg("revoke") }))) : null })] }, application.client.clientId))) })] }))] }))] })) })));
23
+ }
24
+ //# sourceMappingURL=Applications.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Applications.js","sourceRoot":"","sources":["../../src/account/pages/Applications.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;AAE9C,OAAO,EAAE,eAAe,EAAE,MAAM,yCAAyC,CAAC;AAI1E,SAAS,sBAAsB,CAAC,QAAa;IACzC,OAAO,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,QAAQ,CAAC,CAAC,CAAC,KAAK,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC;AACxI,CAAC;AAED,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,KAA0E;IAC3G,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC;IAEtE,MAAM,EAAE,YAAY,EAAE,GAAG,eAAe,CAAC;QACrC,eAAe;QACf,OAAO;KACV,CAAC,CAAC;IAEH,MAAM,EACF,GAAG,EACH,YAAY,EAAE,EAAE,YAAY,EAAE,EAC9B,YAAY,EACf,GAAG,SAAS,CAAC;IAEd,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC;IAElC,OAAO,CACH,KAAC,QAAQ,oBAAK,EAAE,SAAS,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,IAAE,MAAM,EAAC,cAAc,gBAC9E,6BAAK,SAAS,EAAC,KAAK,iBAChB,4BAAK,SAAS,EAAC,WAAW,gBACtB,uBAAK,GAAG,CAAC,uBAAuB,CAAC,GAAM,IACrC,EAEN,8BAAM,MAAM,EAAE,GAAG,CAAC,eAAe,EAAE,MAAM,EAAC,MAAM,iBAC5C,gBAAO,IAAI,EAAC,QAAQ,EAAC,EAAE,EAAC,cAAc,EAAC,IAAI,EAAC,cAAc,EAAC,KAAK,EAAE,YAAY,GAAI,EAClF,gBAAO,IAAI,EAAC,QAAQ,EAAC,EAAE,EAAC,UAAU,EAAC,IAAI,EAAC,UAAU,EAAC,KAAK,EAAE,YAAY,GAAI,EAE1E,+BAAO,SAAS,EAAC,oCAAoC,iBACjD,0BACI,yBACI,uBAAK,GAAG,CAAC,aAAa,CAAC,GAAM,EAC7B,uBAAK,GAAG,CAAC,gBAAgB,CAAC,GAAM,EAChC,uBAAK,GAAG,CAAC,oBAAoB,CAAC,GAAM,EACpC,uBAAK,GAAG,CAAC,kBAAkB,CAAC,GAAM,EAClC,uBAAK,GAAG,CAAC,QAAQ,CAAC,GAAM,IACvB,GACD,EAER,0BACK,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC,CAC7B,yBACI,yBACK,WAAW,CAAC,YAAY,IAAI,CACzB,0BAAG,IAAI,EAAE,WAAW,CAAC,YAAY,gBAC5B,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,IAAI,WAAW,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,WAAW,CAAC,MAAM,CAAC,QAAQ,IACjG,CACP,EACA,CAAC,WAAW,CAAC,YAAY;wDACtB,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,IAAI,WAAW,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,IACrG,EAEL,yBACK,CAAC,sBAAsB,CAAC,WAAW,CAAC,mBAAmB,CAAC;wDACrD,WAAW,CAAC,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CACxC,2BACK,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EACzE,IAAI,KAAK,WAAW,CAAC,mBAAmB,CAAC,WAAW,CAAC,mBAAmB,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,IAAI,KAFtF,IAAI,CAAC,IAAI,CAGb,CACV,CAAC,EACL,CAAC,sBAAsB,CAAC,WAAW,CAAC,mBAAmB,CAAC,IAAI,WAAW,CAAC,sBAAsB,IAAI,IAAI,EACtG,WAAW,CAAC,sBAAsB;wDAC/B,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,sBAAsB,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAC5D,2BACK,CAAC,sBAAsB,CAAC,WAAW,CAAC,mBAAmB,CAAC,IAAI,IAAI,EAChE,WAAW,CAAC,sBAAsB,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC,CAC5D,2BACK,UAAU,CAAC,eAAe;4EACvB,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC,eAAe,CAAC;4EACzC,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,GAAG,EAC1C,GAAG,CAAC,YAAY,CAAC,EAAE,GAAG,EACvB,2BACK,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,GAC5E,EACR,UAAU;4EACP,WAAW,CAAC,sBAAsB,CAAC,QAAQ,CAAC,CACxC,WAAW,CAAC,sBAAsB,CAAC,QAAQ,CAAC,CAAC,MAAM,GAAG,CAAC,CAC1D,IAAI,IAAI,KAXN,UAAU,CAAC,QAAQ,CAYvB,CACV,CAAC,KAhBK,QAAQ,CAiBZ,CACV,CAAC,IACL,EAEL,uBACK,WAAW,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,CAClC,WAAW,CAAC,mBAAmB,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CACzC,2BACK,WAAW,CAAC,KAAK,CAAC,EAClB,KAAK,KAAK,WAAW,CAAC,mBAAmB,CAAC,WAAW,CAAC,mBAAmB,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,IAAI,KAFvF,KAAK,CAGT,CACV,CAAC,CACL,CAAC,CAAC,CAAC,CACA,2BAAS,GAAG,CAAC,YAAY,CAAC,GAAU,CACvC,GACA,EAEL,uBACK,WAAW,CAAC,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CACvC,2BACK,WAAW,CAAC,KAAK,CAAC,EAClB,KAAK,KAAK,WAAW,CAAC,gBAAgB,CAAC,WAAW,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,IAAI,KAFjF,KAAK,CAGT,CACV,CAAC,GACD,EAEL,uBACK,CAAC,WAAW,CAAC,MAAM,CAAC,eAAe,IAAI,WAAW,CAAC,mBAAmB,CAAC,MAAM,GAAG,CAAC,CAAC;oDACnF,WAAW,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CACtC,+BACI,IAAI,EAAC,QAAQ,EACb,SAAS,EAAE,IAAI,CAAC,YAAY,CAAC,sBAAsB,CAAC,EAAE,YAAY,CAAC,eAAe,CAAC,CAAC,EACpF,EAAE,EAAE,UAAU,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,EAC3C,IAAI,EAAC,UAAU,EACf,KAAK,EAAE,WAAW,CAAC,MAAM,CAAC,EAAE,gBAE3B,GAAG,CAAC,QAAQ,CAAC,IACT,CACZ,CAAC,CAAC,CAAC,IAAI,GACP,KA9EA,WAAW,CAAC,MAAM,CAAC,QAAQ,CA+E/B,CACR,CAAC,GACE,KACJ,KACL,KACL,IACC,CACd,CAAC;AACN,CAAC"}
@@ -0,0 +1,7 @@
1
+ /// <reference types="react" />
2
+ import type { PageProps } from "../../account/pages/PageProps";
3
+ import type { KcContext } from "../kcContext";
4
+ import type { I18n } from "../i18n";
5
+ export default function Log(props: PageProps<Extract<KcContext, {
6
+ pageId: "log.ftl";
7
+ }>, I18n>): JSX.Element;
@@ -0,0 +1,13 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useGetClassName } from "../lib/useGetClassName";
3
+ export default function Log(props) {
4
+ const { kcContext, i18n, doUseDefaultCss, classes, Template } = props;
5
+ const { getClassName } = useGetClassName({
6
+ doUseDefaultCss,
7
+ classes
8
+ });
9
+ const { log } = kcContext;
10
+ const { msg } = i18n;
11
+ return (_jsx(Template, Object.assign({}, { kcContext, i18n, doUseDefaultCss, classes }, { active: "log" }, { children: _jsxs("div", Object.assign({ className: getClassName("kcContentWrapperClass") }, { children: [_jsx("div", Object.assign({ className: "col-md-10" }, { children: _jsx("h2", { children: msg("accountLogHtmlTitle") }) })), _jsxs("table", Object.assign({ className: "table table-striped table-bordered" }, { children: [_jsx("thead", { children: _jsxs("tr", { children: [_jsx("td", { children: msg("date") }), _jsx("td", { children: msg("event") }), _jsx("td", { children: msg("ip") }), _jsx("td", { children: msg("client") }), _jsx("td", { children: msg("details") })] }) }), _jsx("tbody", { children: log.events.map((event, index) => (_jsxs("tr", { children: [_jsx("td", { children: event.date ? new Date(event.date).toLocaleString() : "" }), _jsx("td", { children: event.event }), _jsx("td", { children: event.ipAddress }), _jsx("td", { children: event.client || "" }), _jsx("td", { children: event.details.map((detail, detailIndex) => (_jsxs("span", { children: [`${detail.key} = ${detail.value}`, detailIndex < event.details.length - 1 && ", "] }, detailIndex))) })] }, index))) })] }))] })) })));
12
+ }
13
+ //# sourceMappingURL=Log.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Log.js","sourceRoot":"","sources":["../../src/account/pages/Log.tsx"],"names":[],"mappings":";AAIA,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAEzD,MAAM,CAAC,OAAO,UAAU,GAAG,CAAC,KAAiE;IACzF,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC;IAEtE,MAAM,EAAE,YAAY,EAAE,GAAG,eAAe,CAAC;QACrC,eAAe;QACf,OAAO;KACV,CAAC,CAAC;IAEH,MAAM,EAAE,GAAG,EAAE,GAAG,SAAS,CAAC;IAE1B,MAAM,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;IAErB,OAAO,CACH,KAAC,QAAQ,oBAAK,EAAE,SAAS,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,IAAE,MAAM,EAAC,KAAK,gBACrE,6BAAK,SAAS,EAAE,YAAY,CAAC,uBAAuB,CAAC,iBACjD,4BAAK,SAAS,EAAC,WAAW,gBACtB,uBAAK,GAAG,CAAC,qBAAqB,CAAC,GAAM,IACnC,EAEN,+BAAO,SAAS,EAAC,oCAAoC,iBACjD,0BACI,yBACI,uBAAK,GAAG,CAAC,MAAM,CAAC,GAAM,EACtB,uBAAK,GAAG,CAAC,OAAO,CAAC,GAAM,EACvB,uBAAK,GAAG,CAAC,IAAI,CAAC,GAAM,EACpB,uBAAK,GAAG,CAAC,QAAQ,CAAC,GAAM,EACxB,uBAAK,GAAG,CAAC,SAAS,CAAC,GAAM,IACxB,GACD,EAER,0BACK,GAAG,CAAC,MAAM,CAAC,GAAG,CACX,CACI,KAMC,EACD,KAA6B,EAC/B,EAAE,CAAC,CACD,yBACI,uBAAK,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,GAAM,EAClE,uBAAK,KAAK,CAAC,KAAK,GAAM,EACtB,uBAAK,KAAK,CAAC,SAAS,GAAM,EAC1B,uBAAK,KAAK,CAAC,MAAM,IAAI,EAAE,GAAM,EAC7B,uBACK,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,WAAW,EAAE,EAAE,CAAC,CACxC,2BACK,GAAG,MAAM,CAAC,GAAG,MAAM,MAAM,CAAC,KAAK,EAAE,EACjC,WAAW,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,KAFxC,WAAW,CAGf,CACV,CAAC,GACD,KAZA,KAAK,CAaT,CACR,CACJ,GACG,KACJ,KACN,IACC,CACd,CAAC;AACN,CAAC"}
@@ -0,0 +1,7 @@
1
+ /// <reference types="react" />
2
+ import type { PageProps } from "../../account/pages/PageProps";
3
+ import type { KcContext } from "../kcContext";
4
+ import type { I18n } from "../i18n";
5
+ export default function Sessions(props: PageProps<Extract<KcContext, {
6
+ pageId: "sessions.ftl";
7
+ }>, I18n>): JSX.Element;
@@ -0,0 +1,18 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { clsx } from "../../tools/clsx";
3
+ import { useGetClassName } from "../../account/lib/useGetClassName";
4
+ export default function Sessions(props) {
5
+ var _a;
6
+ const { kcContext, i18n, doUseDefaultCss, Template, classes } = props;
7
+ const { getClassName } = useGetClassName({
8
+ doUseDefaultCss,
9
+ classes
10
+ });
11
+ console.log({ kcContext });
12
+ const { url, stateChecker, sessions } = kcContext;
13
+ const { msg } = i18n;
14
+ console.log({ sdf: (_a = kcContext.locale) === null || _a === void 0 ? void 0 : _a.supported });
15
+ console.log({ asdf: "asdf" });
16
+ return (_jsxs(Template, Object.assign({}, { kcContext, i18n, doUseDefaultCss, classes }, { active: "sessions" }, { children: [_jsx("div", Object.assign({ className: getClassName("kcContentWrapperClass") }, { children: _jsx("div", Object.assign({ className: "col-md-10" }, { children: _jsx("h2", { children: msg("sessionsHtmlTitle") }) })) })), _jsxs("table", Object.assign({ className: "table table-striped table-bordered" }, { children: [_jsx("thead", { children: _jsxs("tr", { children: [_jsx("th", { children: msg("ip") }), _jsx("th", { children: msg("started") }), _jsx("th", { children: msg("lastAccess") }), _jsx("th", { children: msg("expires") }), _jsx("th", { children: msg("clients") })] }) }), _jsx("tbody", Object.assign({ role: "rowgroup" }, { children: sessions.sessions.map((session, index) => (_jsxs("tr", { children: [_jsx("td", { children: session.ipAddress }), _jsx("td", { children: session === null || session === void 0 ? void 0 : session.started }), _jsx("td", { children: session === null || session === void 0 ? void 0 : session.lastAccess }), _jsx("td", { children: session === null || session === void 0 ? void 0 : session.expires }), _jsx("td", { children: session.clients.map((client, clientIndex) => (_jsxs("div", { children: [client, _jsx("br", {})] }, clientIndex))) })] }, index))) }))] })), _jsxs("form", Object.assign({ action: url.sessionsUrl, method: "post" }, { children: [_jsx("input", { type: "hidden", id: "stateChecker", name: "stateChecker", value: stateChecker }), _jsx("button", Object.assign({ id: "logout-all-sessions", type: "submit", className: clsx(getClassName("kcButtonDefaultClass"), getClassName("kcButtonClass")) }, { children: msg("doLogOutAllSessions") }))] }))] })));
17
+ }
18
+ //# sourceMappingURL=Sessions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Sessions.js","sourceRoot":"","sources":["../../src/account/pages/Sessions.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;AAE9C,OAAO,EAAE,eAAe,EAAE,MAAM,yCAAyC,CAAC;AAI1E,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,KAAsE;;IACnG,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,eAAe,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;IAEtE,MAAM,EAAE,YAAY,EAAE,GAAG,eAAe,CAAC;QACrC,eAAe;QACf,OAAO;KACV,CAAC,CAAC;IAEH,OAAO,CAAC,GAAG,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC;IAC3B,MAAM,EAAE,GAAG,EAAE,YAAY,EAAE,QAAQ,EAAE,GAAG,SAAS,CAAC;IAElD,MAAM,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;IACrB,OAAO,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,MAAA,SAAS,CAAC,MAAM,0CAAE,SAAS,EAAE,CAAC,CAAC;IAClD,OAAO,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;IAC9B,OAAO,CACH,MAAC,QAAQ,oBAAK,EAAE,SAAS,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,IAAE,MAAM,EAAC,UAAU,iBAC1E,4BAAK,SAAS,EAAE,YAAY,CAAC,uBAAuB,CAAC,gBACjD,4BAAK,SAAS,EAAC,WAAW,gBACtB,uBAAK,GAAG,CAAC,mBAAmB,CAAC,GAAM,IACjC,IACJ,EAEN,+BAAO,SAAS,EAAC,oCAAoC,iBACjD,0BACI,yBACI,uBAAK,GAAG,CAAC,IAAI,CAAC,GAAM,EACpB,uBAAK,GAAG,CAAC,SAAS,CAAC,GAAM,EACzB,uBAAK,GAAG,CAAC,YAAY,CAAC,GAAM,EAC5B,uBAAK,GAAG,CAAC,SAAS,CAAC,GAAM,EACzB,uBAAK,GAAG,CAAC,SAAS,CAAC,GAAM,IACxB,GACD,EAER,8BAAO,IAAI,EAAC,UAAU,gBACjB,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,KAAa,EAAE,EAAE,CAAC,CAC/C,yBACI,uBAAK,OAAO,CAAC,SAAS,GAAM,EAC5B,uBAAK,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,GAAM,EAC3B,uBAAK,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,UAAU,GAAM,EAC9B,uBAAK,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,GAAM,EAC3B,uBACK,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAc,EAAE,WAAmB,EAAE,EAAE,CAAC,CAC1D,0BACK,MAAM,EACP,cAAM,KAFA,WAAW,CAGf,CACT,CAAC,GACD,KAZA,KAAK,CAaT,CACR,CAAC,IACE,KACJ,EAER,8BAAM,MAAM,EAAE,GAAG,CAAC,WAAW,EAAE,MAAM,EAAC,MAAM,iBACxC,gBAAO,IAAI,EAAC,QAAQ,EAAC,EAAE,EAAC,cAAc,EAAC,IAAI,EAAC,cAAc,EAAC,KAAK,EAAE,YAAY,GAAI,EAClF,+BAAQ,EAAE,EAAC,qBAAqB,EAAC,IAAI,EAAC,QAAQ,EAAC,SAAS,EAAE,IAAI,CAAC,YAAY,CAAC,sBAAsB,CAAC,EAAE,YAAY,CAAC,eAAe,CAAC,CAAC,gBAC9H,GAAG,CAAC,qBAAqB,CAAC,IACtB,KACN,KACA,CACd,CAAC;AACN,CAAC"}
@@ -0,0 +1,7 @@
1
+ /// <reference types="react" />
2
+ import type { PageProps } from "../../account/pages/PageProps";
3
+ import type { KcContext } from "../kcContext";
4
+ import type { I18n } from "../i18n";
5
+ export default function Totp(props: PageProps<Extract<KcContext, {
6
+ pageId: "totp.ftl";
7
+ }>, I18n>): JSX.Element;
@@ -0,0 +1,20 @@
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import { clsx } from "../../tools/clsx";
3
+ import { useGetClassName } from "../../account/lib/useGetClassName";
4
+ export default function Totp(props) {
5
+ var _a;
6
+ const { kcContext, i18n, doUseDefaultCss, Template, classes } = props;
7
+ const { getClassName } = useGetClassName({
8
+ doUseDefaultCss,
9
+ classes
10
+ });
11
+ const { totp, mode, url, messagesPerField, stateChecker } = kcContext;
12
+ const { msg, msgStr } = i18n;
13
+ const algToKeyUriAlg = {
14
+ "HmacSHA1": "SHA1",
15
+ "HmacSHA256": "SHA256",
16
+ "HmacSHA512": "SHA512"
17
+ };
18
+ return (_jsx(Template, Object.assign({}, { kcContext, i18n, doUseDefaultCss, classes }, { active: "totp" }, { children: _jsxs(_Fragment, { children: [_jsxs("div", Object.assign({ className: "row" }, { children: [_jsx("div", Object.assign({ className: "col-md-10" }, { children: _jsx("h2", { children: msg("authenticatorTitle") }) })), totp.otpCredentials.length === 0 && (_jsxs("div", Object.assign({ className: "subtitle col-md-2" }, { children: [_jsx("span", Object.assign({ className: "required" }, { children: "*" })), msg("requiredFields")] })))] })), totp.enabled && (_jsxs("table", Object.assign({ className: "table table-bordered table-striped" }, { children: [_jsx("thead", { children: totp.otpCredentials.length > 1 ? (_jsx("tr", { children: _jsx("th", Object.assign({ colSpan: 4 }, { children: msg("configureAuthenticators") })) })) : (_jsx("tr", { children: _jsx("th", Object.assign({ colSpan: 3 }, { children: msg("configureAuthenticators") })) })) }), _jsx("tbody", { children: totp.otpCredentials.map((credential, index) => (_jsxs("tr", { children: [_jsx("td", Object.assign({ className: "provider" }, { children: msg("mobile") })), totp.otpCredentials.length > 1 && _jsx("td", Object.assign({ className: "provider" }, { children: credential.id })), _jsx("td", Object.assign({ className: "provider" }, { children: credential.userLabel || "" })), _jsx("td", Object.assign({ className: "action" }, { children: _jsxs("form", Object.assign({ action: url.totpUrl, method: "post", className: "form-inline" }, { children: [_jsx("input", { type: "hidden", id: "stateChecker", name: "stateChecker", value: stateChecker }), _jsx("input", { type: "hidden", id: "submitAction", name: "submitAction", value: "Delete" }), _jsx("input", { type: "hidden", id: "credentialId", name: "credentialId", value: credential.id }), _jsx("button", Object.assign({ id: `remove-mobile-${index}`, className: "btn btn-default" }, { children: _jsx("i", { className: "pficon pficon-delete" }) }))] })) }))] }, index))) })] }))), !totp.enabled && (_jsxs("div", { children: [_jsx("hr", {}), _jsxs("ol", Object.assign({ id: "kc-totp-settings" }, { children: [_jsxs("li", { children: [_jsx("p", { children: msg("totpStep1") }), _jsx("ul", Object.assign({ id: "kc-totp-supported-apps" }, { children: totp.supportedApplications.map(app => (_jsx("li", { children: msg(app) }, app))) }))] }), mode && mode == "manual" ? (_jsxs(_Fragment, { children: [_jsxs("li", { children: [_jsx("p", { children: msg("totpManualStep2") }), _jsx("p", { children: _jsx("span", Object.assign({ id: "kc-totp-secret-key" }, { children: totp.totpSecretEncoded })) }), _jsx("p", { children: _jsx("a", Object.assign({ href: totp.qrUrl, id: "mode-barcode" }, { children: msg("totpScanBarcode") })) })] }), _jsxs("li", { children: [_jsx("p", { children: msg("totpManualStep3") }), _jsx("p", { children: _jsxs("ul", { children: [_jsxs("li", Object.assign({ id: "kc-totp-type" }, { children: [msg("totpType"), ": ", msg(`totp.${totp.policy.type}`)] })), _jsxs("li", Object.assign({ id: "kc-totp-algorithm" }, { children: [msg("totpAlgorithm"), ": ", (_a = algToKeyUriAlg === null || algToKeyUriAlg === void 0 ? void 0 : algToKeyUriAlg[totp.policy.algorithm]) !== null && _a !== void 0 ? _a : totp.policy.algorithm] })), _jsxs("li", Object.assign({ id: "kc-totp-digits" }, { children: [msg("totpDigits"), ": ", totp.policy.digits] })), totp.policy.type === "totp" ? (_jsxs("li", Object.assign({ id: "kc-totp-period" }, { children: [msg("totpInterval"), ": ", totp.policy.period] }))) : (_jsxs("li", Object.assign({ id: "kc-totp-counter" }, { children: [msg("totpCounter"), ": ", totp.policy.initialCounter] })))] }) })] })] })) : (_jsxs("li", { children: [_jsx("p", { children: msg("totpStep2") }), _jsx("p", { children: _jsx("img", { id: "kc-totp-secret-qr-code", src: `data:image/png;base64, ${totp.totpSecretQrCode}`, alt: "Figure: Barcode" }) }), _jsx("p", { children: _jsx("a", Object.assign({ href: totp.manualUrl, id: "mode-manual" }, { children: msg("totpUnableToScan") })) })] })), _jsxs("li", { children: [_jsx("p", { children: msg("totpStep3") }), _jsx("p", { children: msg("totpStep3DeviceName") })] })] })), _jsx("hr", {}), _jsxs("form", Object.assign({ action: url.totpUrl, className: getClassName("kcFormClass"), id: "kc-totp-settings-form", method: "post" }, { children: [_jsx("input", { type: "hidden", id: "stateChecker", name: "stateChecker", value: stateChecker }), _jsxs("div", Object.assign({ className: getClassName("kcFormGroupClass") }, { children: [_jsxs("div", Object.assign({ className: "col-sm-2 col-md-2" }, { children: [_jsx("label", Object.assign({ htmlFor: "totp", className: "control-label" }, { children: msg("authenticatorCode") })), _jsx("span", Object.assign({ className: "required" }, { children: "*" }))] })), _jsxs("div", Object.assign({ className: "col-sm-10 col-md-10" }, { children: [_jsx("input", { type: "text", id: "totp", name: "totp", autoComplete: "off", className: getClassName("kcInputClass"), "aria-invalid": messagesPerField.existsError("totp") }), messagesPerField.existsError("totp") && (_jsx("span", Object.assign({ id: "input-error-otp-code", className: getClassName("kcInputErrorMessageClass"), "aria-live": "polite" }, { children: messagesPerField.get("totp") })))] })), _jsx("input", { type: "hidden", id: "totpSecret", name: "totpSecret", value: totp.totpSecret }), mode && _jsx("input", { type: "hidden", id: "mode", value: mode })] })), _jsxs("div", Object.assign({ className: getClassName("kcFormGroupClass") }, { children: [_jsxs("div", Object.assign({ className: "col-sm-2 col-md-2" }, { children: [_jsx("label", Object.assign({ htmlFor: "userLabel", className: getClassName("kcLabelClass") }, { children: msg("totpDeviceName") })), totp.otpCredentials.length >= 1 && _jsx("span", Object.assign({ className: "required" }, { children: "*" }))] })), _jsxs("div", Object.assign({ className: "col-sm-10 col-md-10" }, { children: [_jsx("input", { type: "text", id: "userLabel", name: "userLabel", autoComplete: "off", className: getClassName("kcInputClass"), "aria-invalid": messagesPerField.existsError("userLabel") }), messagesPerField.existsError("userLabel") && (_jsx("span", Object.assign({ id: "input-error-otp-label", className: getClassName("kcInputErrorMessageClass"), "aria-live": "polite" }, { children: messagesPerField.get("userLabel") })))] }))] })), _jsx("div", Object.assign({ id: "kc-form-buttons", className: clsx(getClassName("kcFormGroupClass"), "text-right") }, { children: _jsxs("div", Object.assign({ className: getClassName("kcInputWrapperClass") }, { children: [_jsx("input", { type: "submit", className: clsx(getClassName("kcButtonClass"), getClassName("kcButtonPrimaryClass"), getClassName("kcButtonLargeClass")), id: "saveTOTPBtn", value: msgStr("doSave") }), _jsx("button", Object.assign({ type: "submit", className: clsx(getClassName("kcButtonClass"), getClassName("kcButtonDefaultClass"), getClassName("kcButtonLargeClass"), getClassName("kcButtonLargeClass")), id: "cancelTOTPBtn", name: "submitAction", value: "Cancel" }, { children: msg("doCancel") }))] })) }))] }))] }))] }) })));
19
+ }
20
+ //# sourceMappingURL=Totp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Totp.js","sourceRoot":"","sources":["../../src/account/pages/Totp.tsx"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
1
  export declare const loginThemePageIds: readonly ["login.ftl", "login-username.ftl", "login-password.ftl", "webauthn-authenticate.ftl", "register.ftl", "register-user-profile.ftl", "info.ftl", "error.ftl", "login-reset-password.ftl", "login-verify-email.ftl", "terms.ftl", "login-oauth2-device-verify-user-code.ftl", "login-oauth-grant.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", "logout-confirm.ftl", "update-user-profile.ftl", "idp-review-user-profile.ftl", "update-email.ftl", "select-authenticator.ftl", "saml-post-form.ftl"];
2
- export declare const accountThemePageIds: readonly ["password.ftl", "account.ftl"];
2
+ export declare const accountThemePageIds: readonly ["password.ftl", "account.ftl", "sessions.ftl", "totp.ftl", "applications.ftl", "log.ftl"];
3
3
  export type LoginThemePageId = (typeof loginThemePageIds)[number];
4
4
  export type AccountThemePageId = (typeof accountThemePageIds)[number];
@@ -29,5 +29,5 @@ exports.loginThemePageIds = [
29
29
  "select-authenticator.ftl",
30
30
  "saml-post-form.ftl"
31
31
  ];
32
- exports.accountThemePageIds = ["password.ftl", "account.ftl"];
32
+ exports.accountThemePageIds = ["password.ftl", "account.ftl", "sessions.ftl", "totp.ftl", "applications.ftl", "log.ftl"];
33
33
  //# sourceMappingURL=pageId.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"pageId.js","sourceRoot":"","sources":["../../../src/bin/keycloakify/generateFtl/pageId.ts"],"names":[],"mappings":";;;AAAa,QAAA,iBAAiB,GAAG;IAC7B,WAAW;IACX,oBAAoB;IACpB,oBAAoB;IACpB,2BAA2B;IAC3B,cAAc;IACd,2BAA2B;IAC3B,UAAU;IACV,WAAW;IACX,0BAA0B;IAC1B,wBAAwB;IACxB,WAAW;IACX,0CAA0C;IAC1C,uBAAuB;IACvB,eAAe;IACf,0BAA0B;IAC1B,2BAA2B;IAC3B,4BAA4B;IAC5B,0BAA0B;IAC1B,wBAAwB;IACxB,uBAAuB;IACvB,oBAAoB;IACpB,yBAAyB;IACzB,6BAA6B;IAC7B,kBAAkB;IAClB,0BAA0B;IAC1B,oBAAoB;CACd,CAAC;AAEE,QAAA,mBAAmB,GAAG,CAAC,cAAc,EAAE,aAAa,CAAU,CAAC"}
1
+ {"version":3,"file":"pageId.js","sourceRoot":"","sources":["../../../src/bin/keycloakify/generateFtl/pageId.ts"],"names":[],"mappings":";;;AAAa,QAAA,iBAAiB,GAAG;IAC7B,WAAW;IACX,oBAAoB;IACpB,oBAAoB;IACpB,2BAA2B;IAC3B,cAAc;IACd,2BAA2B;IAC3B,UAAU;IACV,WAAW;IACX,0BAA0B;IAC1B,wBAAwB;IACxB,WAAW;IACX,0CAA0C;IAC1C,uBAAuB;IACvB,eAAe;IACf,0BAA0B;IAC1B,2BAA2B;IAC3B,4BAA4B;IAC5B,0BAA0B;IAC1B,wBAAwB;IACxB,uBAAuB;IACvB,oBAAoB;IACpB,yBAAyB;IACzB,6BAA6B;IAC7B,kBAAkB;IAClB,0BAA0B;IAC1B,oBAAoB;CACd,CAAC;AAEE,QAAA,mBAAmB,GAAG,CAAC,cAAc,EAAE,aAAa,EAAE,cAAc,EAAE,UAAU,EAAE,kBAAkB,EAAE,SAAS,CAAU,CAAC"}
@@ -4,6 +4,7 @@ export declare function createGetKcContext<KcContextExtension extends {
4
4
  pageId: string;
5
5
  } = never>(params?: {
6
6
  mockData?: readonly DeepPartial<ExtendKcContext<KcContextExtension>>[];
7
+ mockProperties?: Record<string, string>;
7
8
  }): {
8
9
  getKcContext: <PageId extends ExtendKcContext<KcContextExtension>["pageId"] | undefined = undefined>(params?: {
9
10
  mockPageId?: PageId | undefined;
@@ -7,7 +7,7 @@ import { assert } from "tsafe/assert";
7
7
  import { getKcContextFromWindow } from "./getKcContextFromWindow";
8
8
  import { symToStr } from "tsafe/symToStr";
9
9
  export function createGetKcContext(params) {
10
- const { mockData } = params !== null && params !== void 0 ? params : {};
10
+ const { mockData, mockProperties } = params !== null && params !== void 0 ? params : {};
11
11
  function getKcContext(params) {
12
12
  var _a, _b;
13
13
  const { mockPageId, storyPartialKcContext } = params !== null && params !== void 0 ? params : {};
@@ -94,6 +94,12 @@ export function createGetKcContext(params) {
94
94
  });
95
95
  }
96
96
  }
97
+ if (mockProperties !== undefined) {
98
+ deepAssign({
99
+ "target": kcContext.properties,
100
+ "source": mockProperties
101
+ });
102
+ }
97
103
  return { kcContext };
98
104
  }
99
105
  if (realKcContext === undefined) {