keycloakify 11.3.7 → 11.3.9-rc.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -0
- package/bin/526.index.js +4 -4
- package/login/lib/getUserProfileApi/getUserProfileApi.d.ts +88 -0
- package/login/lib/getUserProfileApi/getUserProfileApi.js +1076 -0
- package/login/lib/getUserProfileApi/getUserProfileApi.js.map +1 -0
- package/login/lib/getUserProfileApi/index.d.ts +1 -0
- package/login/lib/getUserProfileApi/index.js +2 -0
- package/login/lib/getUserProfileApi/index.js.map +1 -0
- package/login/lib/getUserProfileApi/kcNumberUnFormat.d.ts +1 -0
- package/login/lib/getUserProfileApi/kcNumberUnFormat.js +84 -0
- package/login/lib/getUserProfileApi/kcNumberUnFormat.js.map +1 -0
- package/login/lib/useUserProfileForm.d.ts +9 -34
- package/login/lib/useUserProfileForm.js +44 -998
- package/login/lib/useUserProfileForm.js.map +1 -1
- package/login/pages/LoginPasskeysConditionalAuthenticate.useScript.js +7 -1
- package/login/pages/LoginPasskeysConditionalAuthenticate.useScript.js.map +1 -1
- package/login/pages/LoginRecoveryAuthnCodeConfig.useScript.js +7 -1
- package/login/pages/LoginRecoveryAuthnCodeConfig.useScript.js.map +1 -1
- package/login/pages/WebauthnAuthenticate.useScript.js +7 -1
- package/login/pages/WebauthnAuthenticate.useScript.js.map +1 -1
- package/login/pages/WebauthnRegister.useScript.js +7 -1
- package/login/pages/WebauthnRegister.useScript.js.map +1 -1
- package/package.json +17 -1
- package/src/bin/start-keycloak/start-keycloak.ts +4 -4
- package/src/login/lib/getUserProfileApi/getUserProfileApi.ts +1561 -0
- package/src/login/lib/getUserProfileApi/index.ts +1 -0
- package/src/login/lib/getUserProfileApi/kcNumberUnFormat.ts +109 -0
- package/src/login/lib/useUserProfileForm.tsx +82 -1322
- package/src/login/pages/LoginPasskeysConditionalAuthenticate.useScript.tsx +8 -1
- package/src/login/pages/LoginRecoveryAuthnCodeConfig.useScript.tsx +8 -1
- package/src/login/pages/WebauthnAuthenticate.useScript.tsx +8 -1
- package/src/login/pages/WebauthnRegister.useScript.tsx +8 -1
- package/src/tools/waitForElementMountedOnDom.ts +30 -0
- package/tools/waitForElementMountedOnDom.d.ts +3 -0
- package/tools/waitForElementMountedOnDom.js +21 -0
- package/tools/waitForElementMountedOnDom.js.map +1 -0
package/README.md
CHANGED
@@ -164,6 +164,7 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d
|
|
164
164
|
<td align="center" valign="top" width="14.28%"><a href="https://github.com/kathari00"><img src="https://avatars.githubusercontent.com/u/42547712?v=4?s=100" width="100px;" alt="Katharina Eiserfey"/><br /><sub><b>Katharina Eiserfey</b></sub></a><br /><a href="https://github.com/keycloakify/keycloakify/commits?author=kathari00" title="Code">💻</a> <a href="https://github.com/keycloakify/keycloakify/commits?author=kathari00" title="Tests">⚠️</a> <a href="https://github.com/keycloakify/keycloakify/commits?author=kathari00" title="Documentation">📖</a></td>
|
165
165
|
<td align="center" valign="top" width="14.28%"><a href="https://github.com/luca-peruzzo"><img src="https://avatars.githubusercontent.com/u/69015314?v=4?s=100" width="100px;" alt="Luca Peruzzo"/><br /><sub><b>Luca Peruzzo</b></sub></a><br /><a href="https://github.com/keycloakify/keycloakify/commits?author=luca-peruzzo" title="Code">💻</a> <a href="https://github.com/keycloakify/keycloakify/commits?author=luca-peruzzo" title="Tests">⚠️</a></td>
|
166
166
|
<td align="center" valign="top" width="14.28%"><a href="https://github.com/nima70"><img src="https://avatars.githubusercontent.com/u/5094767?v=4?s=100" width="100px;" alt="Nima Shokouhfar"/><br /><sub><b>Nima Shokouhfar</b></sub></a><br /><a href="https://github.com/keycloakify/keycloakify/commits?author=nima70" title="Code">💻</a> <a href="https://github.com/keycloakify/keycloakify/commits?author=nima70" title="Tests">⚠️</a></td>
|
167
|
+
<td align="center" valign="top" width="14.28%"><a href="https://mruder.dev"><img src="https://avatars.githubusercontent.com/u/18495294?v=4?s=100" width="100px;" alt="Marvin A. Ruder"/><br /><sub><b>Marvin A. Ruder</b></sub></a><br /><a href="https://github.com/keycloakify/keycloakify/issues?q=author%3Amarvinruder" title="Bug reports">🐛</a></td>
|
167
168
|
</tr>
|
168
169
|
</tbody>
|
169
170
|
</table>
|
package/bin/526.index.js
CHANGED
@@ -442,10 +442,10 @@ async function command(params) {
|
|
442
442
|
...(realmJsonFilePath === undefined
|
443
443
|
? []
|
444
444
|
: [
|
445
|
-
`-v${SPACE_PLACEHOLDER}"
|
445
|
+
`-v${SPACE_PLACEHOLDER}"${realmJsonFilePath}":/opt/keycloak/data/import/myrealm-realm.json`
|
446
446
|
]),
|
447
|
-
`-v${SPACE_PLACEHOLDER}"
|
448
|
-
...extensionJarFilePaths.map(jarFilePath => `-v${SPACE_PLACEHOLDER}"
|
447
|
+
`-v${SPACE_PLACEHOLDER}"${jarFilePath_cacheDir}":/opt/keycloak/providers/keycloak-theme.jar`,
|
448
|
+
...extensionJarFilePaths.map(jarFilePath => `-v${SPACE_PLACEHOLDER}"${jarFilePath}":/opt/keycloak/providers/${(0,external_path_.basename)(jarFilePath)}`),
|
449
449
|
...(keycloakMajorVersionNumber <= 20
|
450
450
|
? [`-e${SPACE_PLACEHOLDER}JAVA_OPTS=-Dkeycloak.profile=preview`]
|
451
451
|
: []),
|
@@ -459,7 +459,7 @@ async function command(params) {
|
|
459
459
|
localDirPath: (0,external_path_.join)(buildContext.keycloakifyBuildDirPath, "theme", themeName),
|
460
460
|
containerDirPath: `/opt/keycloak/themes/${themeName}`
|
461
461
|
}))
|
462
|
-
.map(({ localDirPath, containerDirPath }) => `-v${SPACE_PLACEHOLDER}"
|
462
|
+
.map(({ localDirPath, containerDirPath }) => `-v${SPACE_PLACEHOLDER}"${localDirPath}":${containerDirPath}:rw`),
|
463
463
|
...buildContext.environmentVariables
|
464
464
|
.map(({ name }) => ({ name, envValue: process.env[name] }))
|
465
465
|
.map(({ name, envValue }) => envValue === undefined ? undefined : { name, envValue })
|
@@ -0,0 +1,88 @@
|
|
1
|
+
import "../../../tools/Array.prototype.every";
|
2
|
+
import type { PasswordPolicies, Attribute, Validators } from "../../../login/KcContext";
|
3
|
+
import type { KcContext } from "../../KcContext";
|
4
|
+
import type { KcContextLike as KcContextLike_i18n } from "../../../login/i18n";
|
5
|
+
export type FormFieldError = {
|
6
|
+
advancedMsgArgs: readonly [string, ...string[]];
|
7
|
+
source: FormFieldError.Source;
|
8
|
+
fieldIndex: number | undefined;
|
9
|
+
};
|
10
|
+
export declare namespace FormFieldError {
|
11
|
+
type Source = Source.Validator | Source.PasswordPolicy | Source.Server | Source.Other;
|
12
|
+
namespace Source {
|
13
|
+
type Validator = {
|
14
|
+
type: "validator";
|
15
|
+
name: keyof Validators;
|
16
|
+
};
|
17
|
+
type PasswordPolicy = {
|
18
|
+
type: "passwordPolicy";
|
19
|
+
name: keyof PasswordPolicies;
|
20
|
+
};
|
21
|
+
type Server = {
|
22
|
+
type: "server";
|
23
|
+
};
|
24
|
+
type Other = {
|
25
|
+
type: "other";
|
26
|
+
rule: "passwordConfirmMatchesPassword" | "requiredField";
|
27
|
+
};
|
28
|
+
}
|
29
|
+
}
|
30
|
+
export type FormFieldState = {
|
31
|
+
attribute: Attribute;
|
32
|
+
displayableErrors: FormFieldError[];
|
33
|
+
valueOrValues: string | string[];
|
34
|
+
};
|
35
|
+
export type FormState = {
|
36
|
+
isFormSubmittable: boolean;
|
37
|
+
formFieldStates: FormFieldState[];
|
38
|
+
};
|
39
|
+
export type FormAction = {
|
40
|
+
action: "update";
|
41
|
+
name: string;
|
42
|
+
valueOrValues: string | string[];
|
43
|
+
/** Default false */
|
44
|
+
displayErrorsImmediately?: boolean;
|
45
|
+
} | {
|
46
|
+
action: "focus lost";
|
47
|
+
name: string;
|
48
|
+
fieldIndex: number | undefined;
|
49
|
+
};
|
50
|
+
export type KcContextLike = KcContextLike_i18n & KcContextLike_useGetErrors & {
|
51
|
+
profile: {
|
52
|
+
attributesByName: Record<string, Attribute>;
|
53
|
+
html5DataAnnotations?: Record<string, string>;
|
54
|
+
};
|
55
|
+
passwordRequired?: boolean;
|
56
|
+
realm: {
|
57
|
+
registrationEmailAsUsername: boolean;
|
58
|
+
};
|
59
|
+
url: {
|
60
|
+
resourcesPath: string;
|
61
|
+
};
|
62
|
+
};
|
63
|
+
type KcContextLike_useGetErrors = KcContextLike_i18n & {
|
64
|
+
messagesPerField: Pick<KcContext["messagesPerField"], "existsError" | "get">;
|
65
|
+
passwordPolicies?: PasswordPolicies;
|
66
|
+
};
|
67
|
+
export type UserProfileApi = {
|
68
|
+
getFormState: () => FormState;
|
69
|
+
subscribeToFormState: (callback: () => void) => {
|
70
|
+
unsubscribe: () => void;
|
71
|
+
};
|
72
|
+
dispatchFormAction: (action: FormAction) => void;
|
73
|
+
};
|
74
|
+
export type ParamsOfGetUserProfileApi = {
|
75
|
+
kcContext: KcContextLike;
|
76
|
+
doMakeUserConfirmPassword: boolean;
|
77
|
+
};
|
78
|
+
export declare function getUserProfileApi(params: ParamsOfGetUserProfileApi): UserProfileApi;
|
79
|
+
export declare function getUserProfileApi_noCache(params: ParamsOfGetUserProfileApi): UserProfileApi;
|
80
|
+
export declare function getButtonToDisplayForMultivaluedAttributeField(params: {
|
81
|
+
attribute: Attribute;
|
82
|
+
values: string[];
|
83
|
+
fieldIndex: number;
|
84
|
+
}): {
|
85
|
+
hasRemove: boolean;
|
86
|
+
hasAdd: boolean;
|
87
|
+
};
|
88
|
+
export {};
|