keycloakify 11.13.1 → 11.13.3
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/login/pages/LoginPassword.js +1 -1
- package/login/pages/LoginPassword.js.map +1 -1
- package/package.json +1 -1
- package/src/login/pages/LoginPassword.tsx +10 -9
- package/stories/login/pages/Login.stories.tsx +19 -0
- package/stories/login/pages/LoginPassword.stories.tsx +19 -0
- package/stories/login/pages/LoginUsername.stories.tsx +19 -0
package/README.md
CHANGED
|
@@ -138,6 +138,7 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d
|
|
|
138
138
|
<td align="center" valign="top" width="14.28%"><a href="http://about.me/lleir"><img src="https://avatars.githubusercontent.com/u/34919?v=4?s=100" width="100px;" alt="Lleïr Borràs Metje"/><br /><sub><b>Lleïr Borràs Metje</b></sub></a><br /><a href="https://github.com/keycloakify/keycloakify/issues?q=author%3Alleirborras" title="Bug reports">🐛</a></td>
|
|
139
139
|
<td align="center" valign="top" width="14.28%"><a href="https://waynekirimi.netlify.app/"><img src="https://avatars.githubusercontent.com/u/37283450?v=4?s=100" width="100px;" alt="Wayne Kirimi"/><br /><sub><b>Wayne Kirimi</b></sub></a><br /><a href="https://github.com/keycloakify/keycloakify/commits?author=waynemorphic" title="Code">💻</a></td>
|
|
140
140
|
<td align="center" valign="top" width="14.28%"><a href="https://github.com/discostur"><img src="https://avatars.githubusercontent.com/u/2615420?v=4?s=100" width="100px;" alt="Kilian Ries"/><br /><sub><b>Kilian Ries</b></sub></a><br /><a href="https://github.com/keycloakify/keycloakify/commits?author=discostur" title="Code">💻</a></td>
|
|
141
|
+
<td align="center" valign="top" width="14.28%"><a href="https://phasetwo.io/"><img src="https://avatars.githubusercontent.com/u/93841792?v=4?s=100" width="100px;" alt="pnzrr"/><br /><sub><b>pnzrr</b></sub></a><br /><a href="https://github.com/keycloakify/keycloakify/commits?author=pnzrr" title="Code">💻</a></td>
|
|
141
142
|
</tr>
|
|
142
143
|
</tbody>
|
|
143
144
|
</table>
|
|
@@ -25,7 +25,7 @@ export default function LoginPassword(props) {
|
|
|
25
25
|
return true;
|
|
26
26
|
}, action: url.loginAction, method: "post" }, { children: [_jsxs("div", Object.assign({ className: clsx(kcClsx("kcFormGroupClass"), "no-bottom-margin") }, { children: [_jsx("hr", {}), _jsx("label", Object.assign({ htmlFor: "password", className: kcClsx("kcLabelClass") }, { children: msg("password") })), _jsx(PasswordWrapper, Object.assign({ kcClsx: kcClsx, i18n: i18n, passwordInputId: "password" }, { children: _jsx("input", { tabIndex: 2, id: "password", className: kcClsx("kcInputClass"), name: "password", type: "password", autoFocus: true, autoComplete: "on", "aria-invalid": messagesPerField.existsError("username", "password") }) })), messagesPerField.existsError("password") && (_jsx("span", { id: "input-error-password", className: kcClsx("kcInputErrorMessageClass"), "aria-live": "polite", dangerouslySetInnerHTML: {
|
|
27
27
|
__html: kcSanitize(messagesPerField.get("password"))
|
|
28
|
-
} }))] })),
|
|
28
|
+
} }))] })), _jsx("div", Object.assign({ className: kcClsx("kcFormGroupClass", "kcFormSettingClass") }, { children: _jsx("div", Object.assign({ id: "kc-form-options" }, { children: _jsx("div", Object.assign({ className: kcClsx("kcFormOptionsWrapperClass") }, { children: realm.resetPasswordAllowed && (_jsx("span", { children: _jsx("a", Object.assign({ tabIndex: 5, href: url.loginResetCredentialsUrl }, { children: msg("doForgotPassword") })) })) })) })) })), _jsx("div", Object.assign({ id: "kc-form-buttons", className: kcClsx("kcFormGroupClass") }, { children: _jsx("input", { tabIndex: 4, className: kcClsx("kcButtonClass", "kcButtonPrimaryClass", "kcButtonBlockClass", "kcButtonLargeClass"), name: "login", id: "kc-login", type: "submit", value: msgStr("doLogIn"), disabled: isLoginButtonDisabled }) }))] })) })) })), enableWebAuthnConditionalUI && (_jsxs(_Fragment, { children: [_jsxs("form", Object.assign({ id: "webauth", action: url.loginAction, method: "post" }, { children: [_jsx("input", { type: "hidden", id: "clientDataJSON", name: "clientDataJSON" }), _jsx("input", { type: "hidden", id: "authenticatorData", name: "authenticatorData" }), _jsx("input", { type: "hidden", id: "signature", name: "signature" }), _jsx("input", { type: "hidden", id: "credentialId", name: "credentialId" }), _jsx("input", { type: "hidden", id: "userHandle", name: "userHandle" }), _jsx("input", { type: "hidden", id: "error", name: "error" })] })), authenticators !== undefined && authenticators.authenticators.length !== 0 && (_jsx(_Fragment, { children: _jsx("form", Object.assign({ id: "authn_select", className: kcClsx("kcFormClass") }, { children: authenticators.authenticators.map((authenticator, i) => (_jsx("input", { type: "hidden", name: "authn_use_chk", readOnly: true, value: authenticator.credentialId }, i))) })) })), _jsx("br", {}), _jsx("input", { id: webAuthnButtonId, type: "button", className: kcClsx("kcButtonClass", "kcButtonDefaultClass", "kcButtonBlockClass", "kcButtonLargeClass"), value: msgStr("passkey-doAuthenticate") })] }))] })));
|
|
29
29
|
}
|
|
30
30
|
function PasswordWrapper(props) {
|
|
31
31
|
const { kcClsx, i18n, passwordInputId, children } = props;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LoginPassword.js","sourceRoot":"","sources":["../../src/login/pages/LoginPassword.tsx"],"names":[],"mappings":";AAKA,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACjC,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AACxD,OAAO,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;AAC9C,OAAO,EAAE,qBAAqB,EAAE,MAAM,yCAAyC,CAAC;AAChF,OAAO,EAAE,SAAS,EAAe,MAAM,8BAA8B,CAAC;AAItE,OAAO,EAAE,SAAS,EAAE,MAAM,iDAAiD,CAAC;AAE5E,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,MAAM,EAAE,GAAG,SAAS,CAAC;QACzB,eAAe;QACf,OAAO;KACV,CAAC,CAAC;IAEH,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,gBAAgB,EAAE,2BAA2B,EAAE,cAAc,EAAE,GAAG,SAAS,CAAC;IAEhG,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAE7B,MAAM,CAAC,qBAAqB,EAAE,wBAAwB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAE1E,MAAM,gBAAgB,GAAG,4BAA4B,CAAC;IAEtD,SAAS,CAAC;QACN,gBAAgB;QAChB,SAAS;QACT,IAAI;KACP,CAAC,CAAC;IAEH,OAAO,CACH,MAAC,QAAQ,kBACL,SAAS,EAAE,SAAS,EACpB,IAAI,EAAE,IAAI,EACV,eAAe,EAAE,eAAe,EAChC,OAAO,EAAE,OAAO,EAChB,UAAU,EAAE,GAAG,CAAC,SAAS,CAAC,EAC1B,cAAc,EAAE,CAAC,gBAAgB,CAAC,WAAW,CAAC,UAAU,CAAC,iBAEzD,4BAAK,EAAE,EAAC,SAAS,gBACb,4BAAK,EAAE,EAAC,iBAAiB,gBACrB,8BACI,EAAE,EAAC,eAAe,EAClB,QAAQ,EAAE,GAAG,EAAE;4BACX,wBAAwB,CAAC,IAAI,CAAC,CAAC;4BAC/B,OAAO,IAAI,CAAC;wBAChB,CAAC,EACD,MAAM,EAAE,GAAG,CAAC,WAAW,EACvB,MAAM,EAAC,MAAM,iBAEb,6BAAK,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,EAAE,kBAAkB,CAAC,iBAChE,cAAM,EACN,8BAAO,OAAO,EAAC,UAAU,EAAC,SAAS,EAAE,MAAM,CAAC,cAAc,CAAC,gBACtD,GAAG,CAAC,UAAU,CAAC,IACZ,EAER,KAAC,eAAe,kBAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,eAAe,EAAC,UAAU,gBACnE,gBACI,QAAQ,EAAE,CAAC,EACX,EAAE,EAAC,UAAU,EACb,SAAS,EAAE,MAAM,CAAC,cAAc,CAAC,EACjC,IAAI,EAAC,UAAU,EACf,IAAI,EAAC,UAAU,EACf,SAAS,QACT,YAAY,EAAC,IAAI,kBACH,gBAAgB,CAAC,WAAW,CAAC,UAAU,EAAE,UAAU,CAAC,GACpE,IACY,EAEjB,gBAAgB,CAAC,WAAW,CAAC,UAAU,CAAC,IAAI,CACzC,eACI,EAAE,EAAC,sBAAsB,EACzB,SAAS,EAAE,MAAM,CAAC,0BAA0B,CAAC,eACnC,QAAQ,EAClB,uBAAuB,EAAE;4CACrB,MAAM,EAAE,UAAU,CAAC,gBAAgB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;yCACvD,GACH,CACL,KACC,EACN,
|
|
1
|
+
{"version":3,"file":"LoginPassword.js","sourceRoot":"","sources":["../../src/login/pages/LoginPassword.tsx"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -86,15 +86,16 @@ export default function LoginPassword(props: PageProps<Extract<KcContext, { page
|
|
|
86
86
|
)}
|
|
87
87
|
</div>
|
|
88
88
|
<div className={kcClsx("kcFormGroupClass", "kcFormSettingClass")}>
|
|
89
|
-
<div id="kc-form-options"
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
89
|
+
<div id="kc-form-options">
|
|
90
|
+
<div className={kcClsx("kcFormOptionsWrapperClass")}>
|
|
91
|
+
{realm.resetPasswordAllowed && (
|
|
92
|
+
<span>
|
|
93
|
+
<a tabIndex={5} href={url.loginResetCredentialsUrl}>
|
|
94
|
+
{msg("doForgotPassword")}
|
|
95
|
+
</a>
|
|
96
|
+
</span>
|
|
97
|
+
)}
|
|
98
|
+
</div>
|
|
98
99
|
</div>
|
|
99
100
|
</div>
|
|
100
101
|
<div id="kc-form-buttons" className={kcClsx("kcFormGroupClass")}>
|
|
@@ -359,3 +359,22 @@ export const WithSocialProvidersAndWithoutRememberMe: Story = {
|
|
|
359
359
|
/>
|
|
360
360
|
)
|
|
361
361
|
};
|
|
362
|
+
/**
|
|
363
|
+
* WithAuthPassKey:
|
|
364
|
+
* - Purpose: Test usage of Sign In With Pass Key integration
|
|
365
|
+
* - Scenario: Simulates a scenario where the `Sign In with Passkey` button is rendered below `Sign In` button.
|
|
366
|
+
* - Key Aspect: Ensure that it is displayed correctly.
|
|
367
|
+
*/
|
|
368
|
+
export const WithAuthPassKey: Story = {
|
|
369
|
+
render: args => (
|
|
370
|
+
<KcPageStory
|
|
371
|
+
{...args}
|
|
372
|
+
kcContext={{
|
|
373
|
+
url: {
|
|
374
|
+
loginAction: "/mock-login-action"
|
|
375
|
+
},
|
|
376
|
+
enableWebAuthnConditionalUI: true
|
|
377
|
+
}}
|
|
378
|
+
/>
|
|
379
|
+
)
|
|
380
|
+
};
|
|
@@ -67,3 +67,22 @@ export const WithoutResetPasswordOption: Story = {
|
|
|
67
67
|
/>
|
|
68
68
|
)
|
|
69
69
|
};
|
|
70
|
+
/**
|
|
71
|
+
* WithAuthPassKey:
|
|
72
|
+
* - Purpose: Test usage of Sign In With Pass Key integration
|
|
73
|
+
* - Scenario: Simulates a scenario where the `Sign In with Passkey` button is rendered below `Sign In` button.
|
|
74
|
+
* - Key Aspect: Ensure that it is displayed correctly.
|
|
75
|
+
*/
|
|
76
|
+
export const WithAuthPassKey: Story = {
|
|
77
|
+
render: args => (
|
|
78
|
+
<KcPageStory
|
|
79
|
+
{...args}
|
|
80
|
+
kcContext={{
|
|
81
|
+
url: {
|
|
82
|
+
loginAction: "/mock-login-action"
|
|
83
|
+
},
|
|
84
|
+
enableWebAuthnConditionalUI: true
|
|
85
|
+
}}
|
|
86
|
+
/>
|
|
87
|
+
)
|
|
88
|
+
};
|
|
@@ -29,3 +29,22 @@ export const WithEmailAsUsername: Story = {
|
|
|
29
29
|
/>
|
|
30
30
|
)
|
|
31
31
|
};
|
|
32
|
+
/**
|
|
33
|
+
* WithAuthPassKey:
|
|
34
|
+
* - Purpose: Test usage of Sign In With Pass Key integration
|
|
35
|
+
* - Scenario: Simulates a scenario where the `Sign In with Passkey` button is rendered below `Sign In` button.
|
|
36
|
+
* - Key Aspect: Ensure that it is displayed correctly.
|
|
37
|
+
*/
|
|
38
|
+
export const WithAuthPassKey: Story = {
|
|
39
|
+
render: args => (
|
|
40
|
+
<KcPageStory
|
|
41
|
+
{...args}
|
|
42
|
+
kcContext={{
|
|
43
|
+
url: {
|
|
44
|
+
loginAction: "/mock-login-action"
|
|
45
|
+
},
|
|
46
|
+
enableWebAuthnConditionalUI: true
|
|
47
|
+
}}
|
|
48
|
+
/>
|
|
49
|
+
)
|
|
50
|
+
};
|