@ory/elements-react 0.0.0-pr.e3d2b7e1 → 0.0.0-pr.f1d09ee2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +224 -0
- package/DEVELOPMENT.md +19 -4
- package/README.md +253 -4
- package/babel.config.js +10 -0
- package/dist/client/frontendClient.d.mts +5 -2
- package/dist/client/frontendClient.d.ts +5 -2
- package/dist/client/frontendClient.js +25 -2
- package/dist/client/frontendClient.js.map +1 -1
- package/dist/client/frontendClient.mjs +25 -2
- package/dist/client/frontendClient.mjs.map +1 -1
- package/dist/client/index.js +3 -3
- package/dist/index.d.mts +60 -11
- package/dist/index.d.ts +60 -11
- package/dist/index.js +915 -346
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +918 -350
- package/dist/index.mjs.map +1 -1
- package/dist/theme/default/index.css +187 -125
- package/dist/theme/default/index.css.map +1 -1
- package/dist/theme/default/index.d.mts +31 -5
- package/dist/theme/default/index.d.ts +31 -5
- package/dist/theme/default/index.js +4279 -828
- package/dist/theme/default/index.js.map +1 -1
- package/dist/theme/default/index.mjs +4333 -804
- package/dist/theme/default/index.mjs.map +1 -1
- package/package.json +22 -15
- package/tailwind/generated/default-variables.css +1 -1
- package/tsconfig.json +3 -2
- package/.storybook/global.css +0 -7
- package/.storybook/main.ts +0 -50
- package/.storybook/preview-head.html +0 -15
- package/.storybook/preview.tsx +0 -68
- package/.storybook/public/InterVariable.woff2 +0 -0
- package/.storybook/public/inter.css +0 -8
- package/.stub-responses/login/1fa/all-methods/initial-form.json +0 -245
- package/.stub-responses/login/1fa/all-methods/missing-email.json +0 -263
- package/.stub-responses/login/1fa/all-methods/wrong-credentials.json +0 -252
- package/.stub-responses/login/1fa/code/code-input.json +0 -135
- package/.stub-responses/login/1fa/code/initial-form.json +0 -173
- package/.stub-responses/login/1fa/code/invalid-account.json +0 -182
- package/.stub-responses/login/1fa/code/missing-email.json +0 -182
- package/.stub-responses/login/1fa/code/wrong-credentials.json +0 -124
- package/.stub-responses/login/1fa/none/initial-form.json +0 -33
- package/.stub-responses/login/1fa/oidc/credential-select-password.json +0 -120
- package/.stub-responses/login/1fa/oidc/credential-select.json +0 -81
- package/.stub-responses/login/1fa/oidc/initial-form.json +0 -279
- package/.stub-responses/login/1fa/passkey/initial-form.json +0 -122
- package/.stub-responses/login/1fa/password/initial-form.json +0 -154
- package/.stub-responses/login/1fa/password/missing-email.json +0 -172
- package/.stub-responses/login/1fa/password/wrong-credentials.json +0 -163
- package/.stub-responses/login/1fa/webauthn/initial-form.json +0 -76
- package/.stub-responses/login/1fa/webauthn/invalid-account.json +0 -83
- package/.stub-responses/login/1fa/webauthn/show-trigger.json +0 -105
- package/.stub-responses/recovery/disabled/initial-form.json +0 -9
- package/.stub-responses/recovery/none/initial-form.json +0 -9
- package/.stub-responses/registration/one-step/all-methods/initial-form.json +0 -334
- package/.stub-responses/registration/one-step/all-methods/missing-fields.json +0 -343
- package/.stub-responses/registration/one-step/disabled/initial-form.json +0 -10
- package/.stub-responses/registration/one-step/none/initial-form.json +0 -14
- package/.stub-responses/registration/one-step/oidc/initial-form.json +0 -338
- package/.stub-responses/registration/one-step/passkey/initial-form.json +0 -177
- package/.stub-responses/registration/one-step/password/initial-form.json +0 -154
- package/.stub-responses/registration/one-step/password/missing-fields.json +0 -172
- package/.stub-responses/registration/one-step/password/second-step.json +0 -164
- package/.stub-responses/registration/one-step/webauthn/initial-form.json +0 -185
- package/.stub-responses/registration/two-step/all-methods/enter-password.json +0 -242
- package/.stub-responses/registration/two-step/all-methods/initial-form.json +0 -180
- package/.stub-responses/registration/two-step/all-methods/missing-fields.json +0 -189
- package/.stub-responses/registration/two-step/all-methods/password-validation-error.json +0 -244
- package/.stub-responses/registration/two-step/password/enter-password.json +0 -108
- package/.stub-responses/registration/two-step/password/initial-form.json +0 -134
- package/.stub-responses/registration/two-step/password/missing-fields.json +0 -143
- package/.stub-responses/registration/two-step/password/password-validation-error.json +0 -110
- package/.stub-responses/settings/all-methods/change-password.json +0 -381
- package/.stub-responses/settings/all-methods/change-trait.json +0 -377
- package/.stub-responses/settings/all-methods/initial-form.json +0 -368
- package/.stub-responses/settings/oidc/with-provider.json +0 -229
- package/.stub-responses/settings/passkey/initial-form.json +0 -256
- package/.stub-responses/settings/webauthn/initial-form.json +0 -263
- package/.stub-responses/verification/disabled/initial-form.json +0 -9
- package/.stub-responses/verification/none/initial-form.json +0 -9
- package/stories/components/login/1fa/all.stories.ts +0 -46
- package/stories/components/login/1fa/code.stories.ts +0 -64
- package/stories/components/login/1fa/custom.stories.tsx +0 -74
- package/stories/components/login/1fa/none.stories.tsx +0 -28
- package/stories/components/login/1fa/oidc.stories.tsx +0 -140
- package/stories/components/login/1fa/passkey.stories.ts +0 -28
- package/stories/components/login/1fa/password.stories.ts +0 -46
- package/stories/components/login/1fa/webauthn.stories.ts +0 -46
- package/stories/components/registration/one-step/all-methods.stories.ts +0 -37
- package/stories/components/registration/one-step/password.stories.ts +0 -37
- package/stories/components/registration/one-step/webauthn.stories.ts +0 -28
- package/stories/components/registration/two-step/all-methods.stories.ts +0 -55
- package/stories/components/registration/two-step/password.stories.ts +0 -55
- package/stories/components/settings/all.stories.ts +0 -46
- package/stories/components/settings/oidc.stories.ts +0 -28
- package/stories/components/settings/passkey.stories.ts +0 -28
- package/stories/components/settings/webauthn.stories.ts +0 -28
- package/stories/pages/error.tsx +0 -29
- package/stories/utils.ts +0 -20
- package/storybook-static/InterVariable.woff2 +0 -0
- package/storybook-static/assets/Color-ERTF36HU-BdkKyVuV.js +0 -1
- package/storybook-static/assets/DocsRenderer-CFRXHY34-YqKt61zP.js +0 -595
- package/storybook-static/assets/all-methods.stories-B-rqPBX2.js +0 -11
- package/storybook-static/assets/all-methods.stories-CmMlhzsx.js +0 -21
- package/storybook-static/assets/all.stories-CtQ0yCQi.js +0 -16
- package/storybook-static/assets/all.stories-DgIVCzcZ.js +0 -16
- package/storybook-static/assets/chunk-H6MOWX77-DTQOW814.js +0 -1
- package/storybook-static/assets/code.stories-BbEryDcA.js +0 -26
- package/storybook-static/assets/custom.stories-DH2zHar9.js +0 -6
- package/storybook-static/assets/entry-preview-CcFGVifh.js +0 -10
- package/storybook-static/assets/entry-preview-docs-CyY-8bLe.js +0 -54
- package/storybook-static/assets/iframe-C5GAfuxh.js +0 -2
- package/storybook-static/assets/index-BVoBHvaS.js +0 -8
- package/storybook-static/assets/index-CfOt2XX2.js +0 -24
- package/storybook-static/assets/index-DPRSEdy-.js +0 -1
- package/storybook-static/assets/index-DrFu-skq.js +0 -6
- package/storybook-static/assets/index-FeUjBnvO.js +0 -1
- package/storybook-static/assets/index-uubelm5h.js +0 -9
- package/storybook-static/assets/initial-form-DWp_1F-f.js +0 -1
- package/storybook-static/assets/jsx-runtime-QvZ8i92b.js +0 -9
- package/storybook-static/assets/none.stories-TAeRhzd5.js +0 -6
- package/storybook-static/assets/oidc.stories-CniWBy7t.js +0 -58
- package/storybook-static/assets/oidc.stories-jhWzAyoQ.js +0 -6
- package/storybook-static/assets/passkey.stories-CBtjoVSN.js +0 -6
- package/storybook-static/assets/passkey.stories-CQU2Xw_t.js +0 -6
- package/storybook-static/assets/password.stories-0s6cDl0o.js +0 -11
- package/storybook-static/assets/password.stories-B2Wtckz_.js +0 -16
- package/storybook-static/assets/password.stories-DX0gkWjH.js +0 -21
- package/storybook-static/assets/preview-BBWR9nbA.js +0 -1
- package/storybook-static/assets/preview-BPAmP-pY.js +0 -2
- package/storybook-static/assets/preview-BWzBA1C2.js +0 -396
- package/storybook-static/assets/preview-BXtF2ySE.js +0 -234
- package/storybook-static/assets/preview-Cur_8nCX.css +0 -1
- package/storybook-static/assets/preview-D77C14du.js +0 -34
- package/storybook-static/assets/preview-DCjDUH0w.js +0 -27
- package/storybook-static/assets/preview-DFmD0pui.js +0 -1
- package/storybook-static/assets/preview-DGUiP6tS.js +0 -7
- package/storybook-static/assets/preview-aVwhiz9X.js +0 -1
- package/storybook-static/assets/react-18-CtsMCmcS.js +0 -1
- package/storybook-static/assets/settings-BqEFC2-V.css +0 -1
- package/storybook-static/assets/settings-Bx4osEmB.js +0 -2304
- package/storybook-static/assets/webauthn.stories-BzodmV0c.js +0 -6
- package/storybook-static/assets/webauthn.stories-DglGm7Ys.js +0 -6
- package/storybook-static/assets/webauthn.stories-G9E76Wjj.js +0 -16
- package/storybook-static/favicon.svg +0 -1
- package/storybook-static/iframe.html +0 -654
- package/storybook-static/index.html +0 -173
- package/storybook-static/index.json +0 -1
- package/storybook-static/inter.css +0 -8
- package/storybook-static/nunito-sans-bold-italic.woff2 +0 -0
- package/storybook-static/nunito-sans-bold.woff2 +0 -0
- package/storybook-static/nunito-sans-italic.woff2 +0 -0
- package/storybook-static/nunito-sans-regular.woff2 +0 -0
- package/storybook-static/preview-stats.json +0 -2344
- package/storybook-static/sb-addons/essentials-actions-2/manager-bundle.js +0 -3
- package/storybook-static/sb-addons/essentials-actions-2/manager-bundle.js.LEGAL.txt +0 -0
- package/storybook-static/sb-addons/essentials-backgrounds-3/manager-bundle.js +0 -12
- package/storybook-static/sb-addons/essentials-backgrounds-3/manager-bundle.js.LEGAL.txt +0 -0
- package/storybook-static/sb-addons/essentials-controls-1/manager-bundle.js +0 -394
- package/storybook-static/sb-addons/essentials-controls-1/manager-bundle.js.LEGAL.txt +0 -0
- package/storybook-static/sb-addons/essentials-measure-6/manager-bundle.js +0 -3
- package/storybook-static/sb-addons/essentials-measure-6/manager-bundle.js.LEGAL.txt +0 -0
- package/storybook-static/sb-addons/essentials-outline-7/manager-bundle.js +0 -3
- package/storybook-static/sb-addons/essentials-outline-7/manager-bundle.js.LEGAL.txt +0 -0
- package/storybook-static/sb-addons/essentials-toolbars-5/manager-bundle.js +0 -3
- package/storybook-static/sb-addons/essentials-toolbars-5/manager-bundle.js.LEGAL.txt +0 -0
- package/storybook-static/sb-addons/essentials-viewport-4/manager-bundle.js +0 -3
- package/storybook-static/sb-addons/essentials-viewport-4/manager-bundle.js.LEGAL.txt +0 -0
- package/storybook-static/sb-addons/interactions-8/manager-bundle.js +0 -211
- package/storybook-static/sb-addons/interactions-8/manager-bundle.js.LEGAL.txt +0 -0
- package/storybook-static/sb-addons/storybook-core-core-server-presets-0/common-manager-bundle.js +0 -3
- package/storybook-static/sb-addons/storybook-core-core-server-presets-0/common-manager-bundle.js.LEGAL.txt +0 -0
- package/storybook-static/sb-common-assets/favicon.svg +0 -1
- package/storybook-static/sb-common-assets/nunito-sans-bold-italic.woff2 +0 -0
- package/storybook-static/sb-common-assets/nunito-sans-bold.woff2 +0 -0
- package/storybook-static/sb-common-assets/nunito-sans-italic.woff2 +0 -0
- package/storybook-static/sb-common-assets/nunito-sans-regular.woff2 +0 -0
- package/storybook-static/sb-manager/globals-module-info.js +0 -1006
- package/storybook-static/sb-manager/globals-runtime.js +0 -54400
- package/storybook-static/sb-manager/globals.js +0 -48
- package/storybook-static/sb-manager/runtime.js +0 -12089
- package/storybook-static/sb-preview/globals.js +0 -33
- package/storybook-static/sb-preview/runtime.js +0 -9498
package/dist/index.js
CHANGED
|
@@ -36,10 +36,14 @@ function useGroupSorter() {
|
|
|
36
36
|
}
|
|
37
37
|
var defaultNodeOrder = [
|
|
38
38
|
"oidc",
|
|
39
|
+
"saml",
|
|
39
40
|
"identifier_first",
|
|
40
41
|
"default",
|
|
41
42
|
"profile",
|
|
42
43
|
"password",
|
|
44
|
+
// CAPTCHA is below password because otherwise the password input field
|
|
45
|
+
// would be above the captcha. Somehow, we sort the password sign up button somewhere else to be always at the bottom.
|
|
46
|
+
"captcha",
|
|
43
47
|
"passkey",
|
|
44
48
|
"code",
|
|
45
49
|
"webauthn"
|
|
@@ -48,6 +52,11 @@ function defaultNodeSorter(a, b) {
|
|
|
48
52
|
var _a, _b;
|
|
49
53
|
const aGroupWeight = (_a = defaultNodeOrder.indexOf(a.group)) != null ? _a : 999;
|
|
50
54
|
const bGroupWeight = (_b = defaultNodeOrder.indexOf(b.group)) != null ? _b : 999;
|
|
55
|
+
if (b.group === "captcha" && clientFetch.isUiNodeInputAttributes(a.attributes) && a.attributes.type === "submit") {
|
|
56
|
+
return aGroupWeight - (bGroupWeight - 2);
|
|
57
|
+
} else if (a.group === "captcha" && clientFetch.isUiNodeInputAttributes(b.attributes) && b.attributes.type === "submit") {
|
|
58
|
+
return aGroupWeight - 2 - bGroupWeight;
|
|
59
|
+
}
|
|
51
60
|
return aGroupWeight - bGroupWeight;
|
|
52
61
|
}
|
|
53
62
|
var defaultGroupOrder = [
|
|
@@ -85,25 +94,10 @@ function OryComponentProvider({
|
|
|
85
94
|
}
|
|
86
95
|
);
|
|
87
96
|
}
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
(node) => node.group === clientFetch.UiNodeGroupEnum.IdentifierFirst && "name" in node.attributes && node.attributes.name === "identifier" && node.attributes.type === "hidden"
|
|
93
|
-
);
|
|
94
|
-
}
|
|
95
|
-
function filterOidcOut(nodes) {
|
|
96
|
-
return nodes.filter((node) => node.group !== clientFetch.UiNodeGroupEnum.Oidc);
|
|
97
|
-
}
|
|
98
|
-
function getFinalNodes(uniqueGroups, selectedGroup) {
|
|
99
|
-
var _a, _b, _c;
|
|
100
|
-
const selectedNodes = selectedGroup ? (_a = uniqueGroups[selectedGroup]) != null ? _a : [] : [];
|
|
101
|
-
return [
|
|
102
|
-
...(_b = uniqueGroups == null ? void 0 : uniqueGroups.identifier_first) != null ? _b : [],
|
|
103
|
-
...(_c = uniqueGroups == null ? void 0 : uniqueGroups.default) != null ? _c : []
|
|
104
|
-
].flat().filter(
|
|
105
|
-
(node) => "type" in node.attributes && node.attributes.type === "hidden"
|
|
106
|
-
).concat(selectedNodes);
|
|
97
|
+
|
|
98
|
+
// src/theme/default/utils/form.ts
|
|
99
|
+
function isGroupImmediateSubmit(group) {
|
|
100
|
+
return group === "code";
|
|
107
101
|
}
|
|
108
102
|
function triggerToWindowCall(trigger) {
|
|
109
103
|
if (!trigger) {
|
|
@@ -172,25 +166,37 @@ function nodesToAuthMethodGroups(nodes, excludeAuthMethods = []) {
|
|
|
172
166
|
clientFetch.UiNodeGroupEnum.Default,
|
|
173
167
|
clientFetch.UiNodeGroupEnum.IdentifierFirst,
|
|
174
168
|
clientFetch.UiNodeGroupEnum.Profile,
|
|
169
|
+
clientFetch.UiNodeGroupEnum.Captcha,
|
|
175
170
|
...excludeAuthMethods
|
|
176
171
|
].includes(group)
|
|
177
172
|
);
|
|
178
173
|
}
|
|
179
|
-
function useNodesGroups(nodes) {
|
|
174
|
+
function useNodesGroups(nodes, { omit } = {}) {
|
|
180
175
|
const groupSorter = useGroupSorter();
|
|
181
176
|
const groups = react.useMemo(() => {
|
|
182
|
-
var _a;
|
|
177
|
+
var _a, _b;
|
|
183
178
|
const groups2 = {};
|
|
179
|
+
const groupRetained = {};
|
|
184
180
|
for (const node of nodes) {
|
|
185
|
-
if (node.type === "script") {
|
|
186
|
-
continue;
|
|
187
|
-
}
|
|
188
181
|
const groupNodes = (_a = groups2[node.group]) != null ? _a : [];
|
|
189
182
|
groupNodes.push(node);
|
|
190
183
|
groups2[node.group] = groupNodes;
|
|
184
|
+
if ((omit == null ? void 0 : omit.includes("script")) && clientFetch.isUiNodeScriptAttributes(node.attributes)) {
|
|
185
|
+
continue;
|
|
186
|
+
}
|
|
187
|
+
if ((omit == null ? void 0 : omit.includes("input_hidden")) && clientFetch.isUiNodeInputAttributes(node.attributes) && node.attributes.type === "hidden") {
|
|
188
|
+
continue;
|
|
189
|
+
}
|
|
190
|
+
groupRetained[node.group] = ((_b = groupRetained[node.group]) != null ? _b : 0) + 1;
|
|
191
191
|
}
|
|
192
|
-
|
|
193
|
-
|
|
192
|
+
const finalGroups = {};
|
|
193
|
+
for (const [group, count] of Object.entries(groupRetained)) {
|
|
194
|
+
if (count > 0) {
|
|
195
|
+
finalGroups[group] = groups2[group];
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
return finalGroups;
|
|
199
|
+
}, [nodes, omit]);
|
|
194
200
|
const entries = react.useMemo(
|
|
195
201
|
() => Object.entries(groups).sort(([a], [b]) => groupSorter(a, b)),
|
|
196
202
|
[groups, groupSorter]
|
|
@@ -200,6 +206,96 @@ function useNodesGroups(nodes) {
|
|
|
200
206
|
entries
|
|
201
207
|
};
|
|
202
208
|
}
|
|
209
|
+
var findNode = (nodes, opt) => nodes.find((n) => {
|
|
210
|
+
return n.attributes.node_type === opt.node_type && (opt.group instanceof RegExp ? n.group.match(opt.group) : n.group === opt.group) && (opt.name && n.attributes.node_type === "input" ? opt.name instanceof RegExp ? n.attributes.name.match(opt.name) : n.attributes.name === opt.name : !opt.name);
|
|
211
|
+
});
|
|
212
|
+
function useFunctionalNodes(nodes) {
|
|
213
|
+
return nodes.filter(
|
|
214
|
+
({ group }) => [
|
|
215
|
+
clientFetch.UiNodeGroupEnum.Default,
|
|
216
|
+
clientFetch.UiNodeGroupEnum.IdentifierFirst,
|
|
217
|
+
clientFetch.UiNodeGroupEnum.Profile,
|
|
218
|
+
clientFetch.UiNodeGroupEnum.Captcha
|
|
219
|
+
].includes(group)
|
|
220
|
+
);
|
|
221
|
+
}
|
|
222
|
+
function isUiNodeGroupEnum(method) {
|
|
223
|
+
return Object.values(clientFetch.UiNodeGroupEnum).includes(method);
|
|
224
|
+
}
|
|
225
|
+
function isSingleSignOnNode(node) {
|
|
226
|
+
return node.group === clientFetch.UiNodeGroupEnum.Oidc || node.group === clientFetch.UiNodeGroupEnum.Saml;
|
|
227
|
+
}
|
|
228
|
+
function hasSingleSignOnNodes(nodes) {
|
|
229
|
+
return nodes.some(isSingleSignOnNode);
|
|
230
|
+
}
|
|
231
|
+
function withoutSingleSignOnNodes(nodes) {
|
|
232
|
+
return nodes.filter((node) => !isSingleSignOnNode(node));
|
|
233
|
+
}
|
|
234
|
+
function isNodeVisible(node) {
|
|
235
|
+
if (clientFetch.isUiNodeScriptAttributes(node.attributes)) {
|
|
236
|
+
return false;
|
|
237
|
+
} else if (clientFetch.isUiNodeInputAttributes(node.attributes)) {
|
|
238
|
+
if (node.attributes.type === "hidden") {
|
|
239
|
+
return false;
|
|
240
|
+
}
|
|
241
|
+
}
|
|
242
|
+
return true;
|
|
243
|
+
}
|
|
244
|
+
function useNodeGroupsWithVisibleNodes(nodes) {
|
|
245
|
+
return react.useMemo(() => {
|
|
246
|
+
var _a, _b;
|
|
247
|
+
const groups = {};
|
|
248
|
+
const groupRetained = {};
|
|
249
|
+
for (const node of nodes) {
|
|
250
|
+
const groupNodes = (_a = groups[node.group]) != null ? _a : [];
|
|
251
|
+
const groupCount = (_b = groupRetained[node.group]) != null ? _b : 0;
|
|
252
|
+
groupNodes.push(node);
|
|
253
|
+
groups[node.group] = groupNodes;
|
|
254
|
+
if (!isNodeVisible(node)) {
|
|
255
|
+
continue;
|
|
256
|
+
}
|
|
257
|
+
groupRetained[node.group] = groupCount + 1;
|
|
258
|
+
}
|
|
259
|
+
const finalGroups = {};
|
|
260
|
+
for (const [group, count] of Object.entries(groupRetained)) {
|
|
261
|
+
if (count > 0) {
|
|
262
|
+
finalGroups[group] = groups[group];
|
|
263
|
+
}
|
|
264
|
+
}
|
|
265
|
+
return finalGroups;
|
|
266
|
+
}, [nodes]);
|
|
267
|
+
}
|
|
268
|
+
|
|
269
|
+
// src/components/card/two-step/utils.ts
|
|
270
|
+
function isChoosingMethod(flow) {
|
|
271
|
+
return flow.flow.ui.nodes.some(
|
|
272
|
+
(node) => "name" in node.attributes && node.attributes.name === "screen" && "value" in node.attributes && node.attributes.value === "previous"
|
|
273
|
+
) || flow.flow.ui.nodes.some(
|
|
274
|
+
(node) => node.group === clientFetch.UiNodeGroupEnum.IdentifierFirst && "name" in node.attributes && node.attributes.name === "identifier" && node.attributes.type === "hidden"
|
|
275
|
+
) || flow.flowType === clientFetch.FlowType.Login && flow.flow.requested_aal === "aal2";
|
|
276
|
+
}
|
|
277
|
+
function getFinalNodes(uniqueGroups, selectedGroup) {
|
|
278
|
+
var _a, _b, _c, _d;
|
|
279
|
+
const selectedNodes = selectedGroup ? (_a = uniqueGroups[selectedGroup]) != null ? _a : [] : [];
|
|
280
|
+
return [
|
|
281
|
+
...(_b = uniqueGroups == null ? void 0 : uniqueGroups.identifier_first) != null ? _b : [],
|
|
282
|
+
...(_c = uniqueGroups == null ? void 0 : uniqueGroups.default) != null ? _c : [],
|
|
283
|
+
...(_d = uniqueGroups == null ? void 0 : uniqueGroups.captcha) != null ? _d : []
|
|
284
|
+
].flat().filter(
|
|
285
|
+
(node) => "type" in node.attributes && node.attributes.type === "hidden"
|
|
286
|
+
).concat(selectedNodes);
|
|
287
|
+
}
|
|
288
|
+
var handleAfterFormSubmit = (dispatchFormState) => (method) => {
|
|
289
|
+
if (typeof method !== "string" || !isUiNodeGroupEnum(method)) {
|
|
290
|
+
return;
|
|
291
|
+
}
|
|
292
|
+
if (isGroupImmediateSubmit(method)) {
|
|
293
|
+
dispatchFormState({
|
|
294
|
+
type: "action_select_method",
|
|
295
|
+
method
|
|
296
|
+
});
|
|
297
|
+
}
|
|
298
|
+
};
|
|
203
299
|
|
|
204
300
|
// src/context/form-state.ts
|
|
205
301
|
function findMethodWithMessage(nodes) {
|
|
@@ -221,9 +317,11 @@ function parseStateFromFlow(flow) {
|
|
|
221
317
|
return { current: "method_active", method: "code" };
|
|
222
318
|
} else if (methodWithMessage) {
|
|
223
319
|
return { current: "method_active", method: methodWithMessage.group };
|
|
224
|
-
} else if (flow.flow.active && !["default", "identifier_first", "oidc"].includes(
|
|
320
|
+
} else if (flow.flow.active && !["default", "identifier_first", "oidc", "saml"].includes(
|
|
321
|
+
flow.flow.active
|
|
322
|
+
)) {
|
|
225
323
|
return { current: "method_active", method: flow.flow.active };
|
|
226
|
-
} else if (isChoosingMethod(flow
|
|
324
|
+
} else if (isChoosingMethod(flow)) {
|
|
227
325
|
const authMethods = nodesToAuthMethodGroups(flow.flow.ui.nodes);
|
|
228
326
|
if (authMethods.length === 1 && authMethods[0] !== "code") {
|
|
229
327
|
return { current: "method_active", method: authMethods[0] };
|
|
@@ -245,23 +343,32 @@ function parseStateFromFlow(flow) {
|
|
|
245
343
|
break;
|
|
246
344
|
case clientFetch.FlowType.Settings:
|
|
247
345
|
return { current: "settings" };
|
|
346
|
+
case clientFetch.FlowType.OAuth2Consent:
|
|
347
|
+
return { current: "method_active", method: "oauth2_consent" };
|
|
248
348
|
}
|
|
249
349
|
console.warn(
|
|
250
350
|
`[Ory/Elements React] Encountered an unknown form state on ${flow.flowType} flow with ID ${flow.flow.id}`
|
|
251
351
|
);
|
|
252
352
|
throw new Error("Unknown form state");
|
|
253
353
|
}
|
|
254
|
-
function formStateReducer(state, action) {
|
|
255
|
-
switch (action.type) {
|
|
256
|
-
case "action_flow_update":
|
|
257
|
-
return parseStateFromFlow(action.flow);
|
|
258
|
-
case "action_select_method":
|
|
259
|
-
return { current: "method_active", method: action.method };
|
|
260
|
-
}
|
|
261
|
-
return state;
|
|
262
|
-
}
|
|
263
354
|
function useFormStateReducer(flow) {
|
|
264
|
-
|
|
355
|
+
const action = parseStateFromFlow(flow);
|
|
356
|
+
const [selectedMethod, setSelectedMethod] = react.useState();
|
|
357
|
+
const formStateReducer = (state, action2) => {
|
|
358
|
+
switch (action2.type) {
|
|
359
|
+
case "action_flow_update": {
|
|
360
|
+
if (selectedMethod)
|
|
361
|
+
return { current: "method_active", method: selectedMethod };
|
|
362
|
+
return parseStateFromFlow(action2.flow);
|
|
363
|
+
}
|
|
364
|
+
case "action_select_method": {
|
|
365
|
+
setSelectedMethod(action2.method);
|
|
366
|
+
return { current: "method_active", method: action2.method };
|
|
367
|
+
}
|
|
368
|
+
}
|
|
369
|
+
return state;
|
|
370
|
+
};
|
|
371
|
+
return react.useReducer(formStateReducer, action);
|
|
265
372
|
}
|
|
266
373
|
function useOryFlow() {
|
|
267
374
|
const ctx = react.useContext(OryFlowContext);
|
|
@@ -351,6 +458,22 @@ function computeDefaultValues(nodes) {
|
|
|
351
458
|
if (attrs.name === "method" || attrs.type === "submit" || typeof attrs.value === "undefined") {
|
|
352
459
|
return acc;
|
|
353
460
|
}
|
|
461
|
+
if (attrs.name.startsWith("grant_scope")) {
|
|
462
|
+
const scope = attrs.value;
|
|
463
|
+
if (Array.isArray(acc.grant_scope)) {
|
|
464
|
+
return {
|
|
465
|
+
...acc,
|
|
466
|
+
// We want to have all scopes accepted by default, so that the user has to actively uncheck them.
|
|
467
|
+
grant_scope: [...acc.grant_scope, scope]
|
|
468
|
+
};
|
|
469
|
+
} else if (!acc.grant_scope) {
|
|
470
|
+
return {
|
|
471
|
+
...acc,
|
|
472
|
+
grant_scope: [scope]
|
|
473
|
+
};
|
|
474
|
+
}
|
|
475
|
+
return acc;
|
|
476
|
+
}
|
|
354
477
|
return unrollTrait(
|
|
355
478
|
{
|
|
356
479
|
name: attrs.name,
|
|
@@ -438,11 +561,6 @@ function OryCardContent({ children }) {
|
|
|
438
561
|
const { Card } = useComponents();
|
|
439
562
|
return /* @__PURE__ */ jsxRuntime.jsx(Card.Content, { children });
|
|
440
563
|
}
|
|
441
|
-
|
|
442
|
-
// src/theme/default/utils/form.ts
|
|
443
|
-
function isGroupImmediateSubmit(group) {
|
|
444
|
-
return group === "code";
|
|
445
|
-
}
|
|
446
564
|
function frontendClient(sdkUrl, opts = {}) {
|
|
447
565
|
const config = new clientFetch.Configuration({
|
|
448
566
|
...opts,
|
|
@@ -782,7 +900,7 @@ function useOryFormSubmit(onAfterSubmit) {
|
|
|
782
900
|
if ("lookup_secret_confirm" in submitData || "lookup_secret_reveal" in submitData || "lookup_secret_regenerate" in submitData || "lookup_secret_disable" in submitData) {
|
|
783
901
|
submitData.method = "lookup_secret";
|
|
784
902
|
}
|
|
785
|
-
if (submitData.method ===
|
|
903
|
+
if (submitData.method === clientFetch.UiNodeGroupEnum.Oidc && submitData.link && supportsSelectAccountPrompt.includes(submitData.link)) {
|
|
786
904
|
submitData.upstream_parameters = {
|
|
787
905
|
prompt: "select_account"
|
|
788
906
|
};
|
|
@@ -800,6 +918,19 @@ function useOryFormSubmit(onAfterSubmit) {
|
|
|
800
918
|
});
|
|
801
919
|
break;
|
|
802
920
|
}
|
|
921
|
+
case clientFetch.FlowType.OAuth2Consent: {
|
|
922
|
+
const response = await fetch(flowContainer.flow.ui.action, {
|
|
923
|
+
method: "POST",
|
|
924
|
+
body: JSON.stringify(data),
|
|
925
|
+
headers: {
|
|
926
|
+
"Content-Type": "application/json"
|
|
927
|
+
}
|
|
928
|
+
});
|
|
929
|
+
const oauth2Success = await response.json();
|
|
930
|
+
if (oauth2Success.redirect_to && typeof oauth2Success.redirect_to === "string") {
|
|
931
|
+
onRedirect(oauth2Success.redirect_to);
|
|
932
|
+
}
|
|
933
|
+
}
|
|
803
934
|
}
|
|
804
935
|
if ("password" in data) {
|
|
805
936
|
methods.setValue("password", "");
|
|
@@ -814,15 +945,22 @@ function useOryFormSubmit(onAfterSubmit) {
|
|
|
814
945
|
};
|
|
815
946
|
return onSubmit;
|
|
816
947
|
}
|
|
817
|
-
function OryForm({
|
|
818
|
-
|
|
948
|
+
function OryForm({
|
|
949
|
+
children,
|
|
950
|
+
onAfterSubmit,
|
|
951
|
+
"data-testid": dataTestId
|
|
952
|
+
}) {
|
|
819
953
|
const { Form } = useComponents();
|
|
820
954
|
const flowContainer = useOryFlow();
|
|
821
955
|
const methods = reactHookForm.useFormContext();
|
|
956
|
+
const { Message } = useComponents();
|
|
822
957
|
const intl = reactIntl.useIntl();
|
|
823
958
|
const onSubmit = useOryFormSubmit(onAfterSubmit);
|
|
824
959
|
const hasMethods = flowContainer.flow.ui.nodes.some((node) => {
|
|
825
960
|
if (clientFetch.isUiNodeInputAttributes(node.attributes)) {
|
|
961
|
+
if (node.attributes.type === "hidden") {
|
|
962
|
+
return false;
|
|
963
|
+
}
|
|
826
964
|
return node.attributes.name !== "csrf_token";
|
|
827
965
|
} else if (clientFetch.isUiNodeAnchorAttributes(node.attributes)) {
|
|
828
966
|
return true;
|
|
@@ -833,15 +971,24 @@ function OryForm({ children, onAfterSubmit }) {
|
|
|
833
971
|
}
|
|
834
972
|
return false;
|
|
835
973
|
});
|
|
836
|
-
if (!hasMethods
|
|
837
|
-
|
|
838
|
-
id:
|
|
839
|
-
|
|
840
|
-
|
|
974
|
+
if (!hasMethods) {
|
|
975
|
+
const m = {
|
|
976
|
+
id: 5000002,
|
|
977
|
+
text: intl.formatMessage({
|
|
978
|
+
id: `identities.messages.${5000002}`,
|
|
979
|
+
defaultMessage: "No authentication methods are available for this request. Please contact the site or app owner."
|
|
980
|
+
}),
|
|
981
|
+
type: "error"
|
|
982
|
+
};
|
|
983
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { "data-testid": dataTestId, children: /* @__PURE__ */ jsxRuntime.jsx(Message.Root, { children: /* @__PURE__ */ jsxRuntime.jsx(Message.Content, { message: m }, m.id) }) });
|
|
984
|
+
}
|
|
985
|
+
if ((flowContainer.flowType === clientFetch.FlowType.Login || flowContainer.flowType === clientFetch.FlowType.Registration) && flowContainer.formState.current === "method_active" && flowContainer.formState.method === "code") {
|
|
986
|
+
methods.setValue("method", "code");
|
|
841
987
|
}
|
|
842
988
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
843
989
|
Form.Root,
|
|
844
990
|
{
|
|
991
|
+
"data-testid": dataTestId,
|
|
845
992
|
action: flowContainer.flow.ui.action,
|
|
846
993
|
method: flowContainer.flow.ui.method,
|
|
847
994
|
onSubmit: (e) => void methods.handleSubmit(onSubmit)(e),
|
|
@@ -849,7 +996,15 @@ function OryForm({ children, onAfterSubmit }) {
|
|
|
849
996
|
}
|
|
850
997
|
);
|
|
851
998
|
}
|
|
852
|
-
var messageIdsToHide = [
|
|
999
|
+
var messageIdsToHide = [
|
|
1000
|
+
1040009,
|
|
1001
|
+
1060003,
|
|
1002
|
+
1080003,
|
|
1003
|
+
1010004,
|
|
1004
|
+
1010014,
|
|
1005
|
+
1040005,
|
|
1006
|
+
1010016
|
|
1007
|
+
];
|
|
853
1008
|
function OryCardValidationMessages({ ...props }) {
|
|
854
1009
|
var _a;
|
|
855
1010
|
const { flow } = useOryFlow();
|
|
@@ -868,7 +1023,7 @@ var NodeInput = ({
|
|
|
868
1023
|
}) => {
|
|
869
1024
|
var _a;
|
|
870
1025
|
const { Node: Node2 } = useComponents();
|
|
871
|
-
const { setValue } = reactHookForm.useFormContext();
|
|
1026
|
+
const { setValue, watch } = reactHookForm.useFormContext();
|
|
872
1027
|
const {
|
|
873
1028
|
onloadTrigger,
|
|
874
1029
|
onclickTrigger,
|
|
@@ -881,7 +1036,7 @@ var NodeInput = ({
|
|
|
881
1036
|
const isResendNode = ((_a = node.meta.label) == null ? void 0 : _a.id) === 1070008;
|
|
882
1037
|
const isScreenSelectionNode = "name" in node.attributes && node.attributes.name === "screen";
|
|
883
1038
|
const setFormValue = () => {
|
|
884
|
-
if (attrs.value && !(isResendNode || isScreenSelectionNode)) {
|
|
1039
|
+
if (attrs.value && !(isResendNode || isScreenSelectionNode || node.group === clientFetch.UiNodeGroupEnum.Oauth2Consent)) {
|
|
885
1040
|
setValue(attrs.name, attrs.value);
|
|
886
1041
|
}
|
|
887
1042
|
};
|
|
@@ -904,8 +1059,21 @@ var NodeInput = ({
|
|
|
904
1059
|
triggerToWindowCall(onclickTrigger);
|
|
905
1060
|
}
|
|
906
1061
|
};
|
|
907
|
-
const isSocial = (attrs.name === "provider" || attrs.name === "link") && node.group ===
|
|
1062
|
+
const isSocial = (attrs.name === "provider" || attrs.name === "link") && (node.group === clientFetch.UiNodeGroupEnum.Oidc || node.group === clientFetch.UiNodeGroupEnum.Saml);
|
|
908
1063
|
const isPinCodeInput = attrs.name === "code" && node.group === "code" || attrs.name === "totp_code" && node.group === "totp";
|
|
1064
|
+
const handleScopeChange = (checked) => {
|
|
1065
|
+
const scopes = watch("grant_scope");
|
|
1066
|
+
if (Array.isArray(scopes)) {
|
|
1067
|
+
if (checked) {
|
|
1068
|
+
setValue("grant_scope", Array.from(/* @__PURE__ */ new Set([...scopes, attrs.value])));
|
|
1069
|
+
} else {
|
|
1070
|
+
setValue(
|
|
1071
|
+
"grant_scope",
|
|
1072
|
+
scopes.filter((scope) => scope !== attrs.value)
|
|
1073
|
+
);
|
|
1074
|
+
}
|
|
1075
|
+
}
|
|
1076
|
+
};
|
|
909
1077
|
switch (attributes.type) {
|
|
910
1078
|
case clientFetch.UiNodeInputAttributesTypeEnum.Submit:
|
|
911
1079
|
case clientFetch.UiNodeInputAttributesTypeEnum.Button:
|
|
@@ -915,6 +1083,9 @@ var NodeInput = ({
|
|
|
915
1083
|
if (isResendNode || isScreenSelectionNode) {
|
|
916
1084
|
return null;
|
|
917
1085
|
}
|
|
1086
|
+
if (node.group === "oauth2_consent") {
|
|
1087
|
+
return null;
|
|
1088
|
+
}
|
|
918
1089
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
919
1090
|
Node2.Label,
|
|
920
1091
|
{
|
|
@@ -926,6 +1097,21 @@ var NodeInput = ({
|
|
|
926
1097
|
case clientFetch.UiNodeInputAttributesTypeEnum.DatetimeLocal:
|
|
927
1098
|
throw new Error("Not implemented");
|
|
928
1099
|
case clientFetch.UiNodeInputAttributesTypeEnum.Checkbox:
|
|
1100
|
+
if (node.group === "oauth2_consent" && node.attributes.node_type === "input") {
|
|
1101
|
+
switch (node.attributes.name) {
|
|
1102
|
+
case "grant_scope":
|
|
1103
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1104
|
+
Node2.ConsentScopeCheckbox,
|
|
1105
|
+
{
|
|
1106
|
+
attributes: attrs,
|
|
1107
|
+
node,
|
|
1108
|
+
onCheckedChange: handleScopeChange
|
|
1109
|
+
}
|
|
1110
|
+
);
|
|
1111
|
+
default:
|
|
1112
|
+
return null;
|
|
1113
|
+
}
|
|
1114
|
+
}
|
|
929
1115
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
930
1116
|
Node2.Label,
|
|
931
1117
|
{
|
|
@@ -952,6 +1138,9 @@ var NodeInput = ({
|
|
|
952
1138
|
};
|
|
953
1139
|
var Node = ({ node, onClick }) => {
|
|
954
1140
|
const { Node: Node2 } = useComponents();
|
|
1141
|
+
if (node.group === clientFetch.UiNodeGroupEnum.Captcha) {
|
|
1142
|
+
return /* @__PURE__ */ jsxRuntime.jsx(Node2.Captcha, { node });
|
|
1143
|
+
}
|
|
955
1144
|
if (clientFetch.isUiNodeImageAttributes(node.attributes)) {
|
|
956
1145
|
return /* @__PURE__ */ jsxRuntime.jsx(Node2.Image, { node, attributes: node.attributes });
|
|
957
1146
|
} else if (clientFetch.isUiNodeTextAttributes(node.attributes)) {
|
|
@@ -984,12 +1173,14 @@ function OryFormOidcButtons() {
|
|
|
984
1173
|
flow: { ui }
|
|
985
1174
|
} = useOryFlow();
|
|
986
1175
|
const { setValue } = reactHookForm.useFormContext();
|
|
987
|
-
const filteredNodes = ui.nodes.filter(
|
|
1176
|
+
const filteredNodes = ui.nodes.filter(
|
|
1177
|
+
(node) => node.group === clientFetch.UiNodeGroupEnum.Oidc || node.group === clientFetch.UiNodeGroupEnum.Saml
|
|
1178
|
+
);
|
|
988
1179
|
const { Form, Node: Node2 } = useComponents();
|
|
989
1180
|
if (filteredNodes.length === 0) {
|
|
990
1181
|
return null;
|
|
991
1182
|
}
|
|
992
|
-
return /* @__PURE__ */ jsxRuntime.jsx(Form.OidcRoot, { nodes: filteredNodes, children: filteredNodes.map((node
|
|
1183
|
+
return /* @__PURE__ */ jsxRuntime.jsx(Form.OidcRoot, { nodes: filteredNodes, children: filteredNodes.map((node) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
993
1184
|
Node2.OidcButton,
|
|
994
1185
|
{
|
|
995
1186
|
node,
|
|
@@ -999,114 +1190,217 @@ function OryFormOidcButtons() {
|
|
|
999
1190
|
"provider",
|
|
1000
1191
|
node.attributes.value
|
|
1001
1192
|
);
|
|
1002
|
-
setValue("method",
|
|
1193
|
+
setValue("method", node.group);
|
|
1003
1194
|
}
|
|
1004
1195
|
},
|
|
1005
|
-
|
|
1196
|
+
clientFetch.getNodeId(node)
|
|
1006
1197
|
)) });
|
|
1007
1198
|
}
|
|
1008
1199
|
function OryFormSocialButtonsForm() {
|
|
1009
1200
|
const {
|
|
1010
1201
|
flow: { ui }
|
|
1011
1202
|
} = useOryFlow();
|
|
1012
|
-
const filteredNodes = ui.nodes.filter(
|
|
1203
|
+
const filteredNodes = ui.nodes.filter(
|
|
1204
|
+
(node) => node.group === clientFetch.UiNodeGroupEnum.Saml || node.group === clientFetch.UiNodeGroupEnum.Oidc
|
|
1205
|
+
);
|
|
1013
1206
|
if (filteredNodes.length === 0) {
|
|
1014
1207
|
return null;
|
|
1015
1208
|
}
|
|
1016
|
-
return /* @__PURE__ */ jsxRuntime.jsx(OryFormProvider, { children: /* @__PURE__ */ jsxRuntime.jsx(OryForm, { children: /* @__PURE__ */ jsxRuntime.jsx(OryFormOidcButtons, {}) }) });
|
|
1209
|
+
return /* @__PURE__ */ jsxRuntime.jsx(OryFormProvider, { children: /* @__PURE__ */ jsxRuntime.jsx(OryForm, { "data-testid": `ory/form/methods/oidc-saml`, children: /* @__PURE__ */ jsxRuntime.jsx(OryFormOidcButtons, {}) }) });
|
|
1017
1210
|
}
|
|
1018
|
-
function
|
|
1019
|
-
|
|
1211
|
+
function OryTwoStepCardStateMethodActive({
|
|
1212
|
+
formState
|
|
1213
|
+
}) {
|
|
1214
|
+
const { Form } = useComponents();
|
|
1215
|
+
const { flow, flowType, dispatchFormState } = useOryFlow();
|
|
1216
|
+
const { ui } = flow;
|
|
1217
|
+
const nodeSorter = useNodeSorter();
|
|
1218
|
+
const sortNodes = (a, b) => nodeSorter(a, b, { flowType });
|
|
1219
|
+
const groupsToShow = useNodeGroupsWithVisibleNodes(ui.nodes);
|
|
1220
|
+
const finalNodes = getFinalNodes(groupsToShow, formState.method);
|
|
1221
|
+
const selectedMethodIsSocial = formState.method === clientFetch.UiNodeGroupEnum.Oidc || formState.method === clientFetch.UiNodeGroupEnum.Saml;
|
|
1222
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(OryCard, { children: [
|
|
1223
|
+
/* @__PURE__ */ jsxRuntime.jsx(OryCardHeader, {}),
|
|
1224
|
+
/* @__PURE__ */ jsxRuntime.jsxs(OryCardContent, { children: [
|
|
1225
|
+
/* @__PURE__ */ jsxRuntime.jsx(OryCardValidationMessages, {}),
|
|
1226
|
+
selectedMethodIsSocial && /* @__PURE__ */ jsxRuntime.jsx(OryFormSocialButtonsForm, {}),
|
|
1227
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1228
|
+
OryForm,
|
|
1229
|
+
{
|
|
1230
|
+
"data-testid": `ory/form/methods/local`,
|
|
1231
|
+
onAfterSubmit: handleAfterFormSubmit(dispatchFormState),
|
|
1232
|
+
children: /* @__PURE__ */ jsxRuntime.jsxs(Form.Group, { children: [
|
|
1233
|
+
ui.nodes.filter(
|
|
1234
|
+
(n) => clientFetch.isUiNodeScriptAttributes(n.attributes) || n.group === clientFetch.UiNodeGroupEnum.Captcha || n.group === clientFetch.UiNodeGroupEnum.Default || n.group === clientFetch.UiNodeGroupEnum.Profile
|
|
1235
|
+
).map((node, k) => /* @__PURE__ */ jsxRuntime.jsx(Node, { node }, k)),
|
|
1236
|
+
finalNodes.sort(sortNodes).map((node, k) => /* @__PURE__ */ jsxRuntime.jsx(Node, { node }, k))
|
|
1237
|
+
] })
|
|
1238
|
+
}
|
|
1239
|
+
)
|
|
1240
|
+
] }),
|
|
1241
|
+
/* @__PURE__ */ jsxRuntime.jsx(OryCardFooter, {})
|
|
1242
|
+
] });
|
|
1020
1243
|
}
|
|
1021
|
-
function
|
|
1022
|
-
const {
|
|
1023
|
-
flow: { ui },
|
|
1024
|
-
flowType,
|
|
1025
|
-
formState,
|
|
1026
|
-
dispatchFormState
|
|
1027
|
-
} = useOryFlow();
|
|
1244
|
+
function OryTwoStepCardStateProvideIdentifier() {
|
|
1028
1245
|
const { Form, Card } = useComponents();
|
|
1246
|
+
const { flowType, flow, dispatchFormState } = useOryFlow();
|
|
1029
1247
|
const nodeSorter = useNodeSorter();
|
|
1030
1248
|
const sortNodes = (a, b) => nodeSorter(a, b, { flowType });
|
|
1031
|
-
const
|
|
1032
|
-
const
|
|
1033
|
-
|
|
1034
|
-
return (_a = uniqueGroups.groups[group]) == null ? void 0 : _a.length;
|
|
1035
|
-
}).filter(
|
|
1036
|
-
(group) => ![
|
|
1037
|
-
clientFetch.UiNodeGroupEnum.Oidc,
|
|
1038
|
-
clientFetch.UiNodeGroupEnum.Default,
|
|
1039
|
-
clientFetch.UiNodeGroupEnum.IdentifierFirst,
|
|
1040
|
-
clientFetch.UiNodeGroupEnum.Profile
|
|
1041
|
-
].includes(group)
|
|
1249
|
+
const nonSsoNodes = withoutSingleSignOnNodes(flow.ui.nodes).sort(sortNodes);
|
|
1250
|
+
const hasSso = flow.ui.nodes.filter(isNodeVisible).some(
|
|
1251
|
+
(node) => node.group === clientFetch.UiNodeGroupEnum.Oidc || node.group === clientFetch.UiNodeGroupEnum.Saml
|
|
1042
1252
|
);
|
|
1043
|
-
const
|
|
1044
|
-
|
|
1045
|
-
|
|
1046
|
-
|
|
1047
|
-
|
|
1253
|
+
const showSsoDivider = hasSso && nonSsoNodes.some(isNodeVisible);
|
|
1254
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(OryCard, { children: [
|
|
1255
|
+
/* @__PURE__ */ jsxRuntime.jsx(OryCardHeader, {}),
|
|
1256
|
+
/* @__PURE__ */ jsxRuntime.jsxs(OryCardContent, { children: [
|
|
1257
|
+
/* @__PURE__ */ jsxRuntime.jsx(OryCardValidationMessages, {}),
|
|
1258
|
+
/* @__PURE__ */ jsxRuntime.jsx(OryFormSocialButtonsForm, {}),
|
|
1259
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1260
|
+
OryForm,
|
|
1261
|
+
{
|
|
1262
|
+
"data-testid": `ory/form/methods/local`,
|
|
1263
|
+
onAfterSubmit: handleAfterFormSubmit(dispatchFormState),
|
|
1264
|
+
children: /* @__PURE__ */ jsxRuntime.jsxs(Form.Group, { children: [
|
|
1265
|
+
showSsoDivider && /* @__PURE__ */ jsxRuntime.jsx(Card.Divider, {}),
|
|
1266
|
+
nonSsoNodes.map((node, k) => /* @__PURE__ */ jsxRuntime.jsx(Node, { node }, k))
|
|
1267
|
+
] })
|
|
1268
|
+
}
|
|
1269
|
+
)
|
|
1270
|
+
] }),
|
|
1271
|
+
/* @__PURE__ */ jsxRuntime.jsx(OryCardFooter, {})
|
|
1272
|
+
] });
|
|
1273
|
+
}
|
|
1274
|
+
function AuthMethodList({
|
|
1275
|
+
options,
|
|
1276
|
+
setSelectedGroup
|
|
1277
|
+
}) {
|
|
1278
|
+
const { Card } = useComponents();
|
|
1279
|
+
const { setValue, getValues } = reactHookForm.useFormContext();
|
|
1280
|
+
if (Object.entries(options).length === 0) {
|
|
1281
|
+
return null;
|
|
1282
|
+
}
|
|
1283
|
+
const handleClick = (group, options2) => {
|
|
1284
|
+
var _a, _b, _c, _d;
|
|
1285
|
+
if (isGroupImmediateSubmit(group)) {
|
|
1286
|
+
if (group === "code" && !getValues("identifier") && ((_b = (_a = options2 == null ? void 0 : options2.title) == null ? void 0 : _a.values) == null ? void 0 : _b.address)) {
|
|
1287
|
+
setValue("identifier", (_d = (_c = options2 == null ? void 0 : options2.title) == null ? void 0 : _c.values) == null ? void 0 : _d.address);
|
|
1288
|
+
}
|
|
1289
|
+
setValue("method", group);
|
|
1290
|
+
} else {
|
|
1291
|
+
setSelectedGroup(group);
|
|
1048
1292
|
}
|
|
1049
|
-
|
|
1050
|
-
|
|
1051
|
-
|
|
1052
|
-
|
|
1053
|
-
|
|
1293
|
+
};
|
|
1294
|
+
return /* @__PURE__ */ jsxRuntime.jsx(Card.AuthMethodListContainer, { children: Object.entries(options).map(([group, options2]) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
1295
|
+
Card.AuthMethodListItem,
|
|
1296
|
+
{
|
|
1297
|
+
group,
|
|
1298
|
+
title: options2.title,
|
|
1299
|
+
onClick: () => handleClick(group, options2)
|
|
1300
|
+
},
|
|
1301
|
+
group
|
|
1302
|
+
)) });
|
|
1303
|
+
}
|
|
1304
|
+
function toAuthMethodPickerOptions(visibleGroups) {
|
|
1305
|
+
return Object.fromEntries(
|
|
1306
|
+
Object.values(clientFetch.UiNodeGroupEnum).filter((group) => {
|
|
1307
|
+
var _a;
|
|
1308
|
+
return (_a = visibleGroups[group]) == null ? void 0 : _a.length;
|
|
1309
|
+
}).filter(
|
|
1310
|
+
(group) => ![
|
|
1311
|
+
clientFetch.UiNodeGroupEnum.Oidc,
|
|
1312
|
+
clientFetch.UiNodeGroupEnum.Saml,
|
|
1313
|
+
clientFetch.UiNodeGroupEnum.Default,
|
|
1314
|
+
clientFetch.UiNodeGroupEnum.IdentifierFirst,
|
|
1315
|
+
clientFetch.UiNodeGroupEnum.Profile,
|
|
1316
|
+
clientFetch.UiNodeGroupEnum.Captcha
|
|
1317
|
+
].includes(group)
|
|
1318
|
+
).map((g) => [g, {}])
|
|
1319
|
+
);
|
|
1320
|
+
}
|
|
1321
|
+
function OryTwoStepCardStateSelectMethod() {
|
|
1322
|
+
var _a, _b, _c, _d;
|
|
1323
|
+
const { Form, Card, Message } = useComponents();
|
|
1324
|
+
const { flow, flowType, dispatchFormState } = useOryFlow();
|
|
1325
|
+
const { ui } = flow;
|
|
1326
|
+
const intl = reactIntl.useIntl();
|
|
1327
|
+
const nodeSorter = useNodeSorter();
|
|
1328
|
+
const sortNodes = (a, b) => nodeSorter(a, b, { flowType });
|
|
1329
|
+
const visibleGroups = useNodeGroupsWithVisibleNodes(ui.nodes);
|
|
1330
|
+
const authMethodBlocks = toAuthMethodPickerOptions(visibleGroups);
|
|
1331
|
+
const authMethodAdditionalNodes = useFunctionalNodes(ui.nodes);
|
|
1332
|
+
if (clientFetch.UiNodeGroupEnum.Code in authMethodBlocks) {
|
|
1333
|
+
let identifier = (_b = (_a = findNode(ui.nodes, {
|
|
1334
|
+
group: "identifier_first",
|
|
1335
|
+
node_type: "input",
|
|
1336
|
+
name: "identifier"
|
|
1337
|
+
})) == null ? void 0 : _a.attributes) == null ? void 0 : _b.value;
|
|
1338
|
+
identifier || (identifier = (_d = (_c = findNode(ui.nodes, {
|
|
1339
|
+
group: "code",
|
|
1340
|
+
node_type: "input",
|
|
1341
|
+
name: "address"
|
|
1342
|
+
})) == null ? void 0 : _c.attributes) == null ? void 0 : _d.value);
|
|
1343
|
+
if (identifier) {
|
|
1344
|
+
authMethodBlocks[clientFetch.UiNodeGroupEnum.Code] = {
|
|
1345
|
+
title: {
|
|
1346
|
+
id: "identities.messages.1010023",
|
|
1347
|
+
values: { address: identifier }
|
|
1348
|
+
}
|
|
1349
|
+
};
|
|
1054
1350
|
}
|
|
1351
|
+
}
|
|
1352
|
+
const noMethods = {
|
|
1353
|
+
id: 5000002,
|
|
1354
|
+
text: intl.formatMessage({
|
|
1355
|
+
id: `identities.messages.5000002`,
|
|
1356
|
+
defaultMessage: "No authentication methods are available for this request. Please contact the site or app owner."
|
|
1357
|
+
}),
|
|
1358
|
+
type: "error"
|
|
1055
1359
|
};
|
|
1056
|
-
const hasOidc = ui.nodes.some((node) => node.group === clientFetch.UiNodeGroupEnum.Oidc);
|
|
1057
|
-
const showOidc = !(formState.current === "method_active" && formState.method !== "oidc");
|
|
1058
1360
|
return /* @__PURE__ */ jsxRuntime.jsxs(OryCard, { children: [
|
|
1059
1361
|
/* @__PURE__ */ jsxRuntime.jsx(OryCardHeader, {}),
|
|
1060
1362
|
/* @__PURE__ */ jsxRuntime.jsxs(OryCardContent, { children: [
|
|
1061
1363
|
/* @__PURE__ */ jsxRuntime.jsx(OryCardValidationMessages, {}),
|
|
1062
|
-
|
|
1063
|
-
/* @__PURE__ */ jsxRuntime.
|
|
1064
|
-
|
|
1065
|
-
|
|
1066
|
-
|
|
1067
|
-
|
|
1068
|
-
|
|
1069
|
-
formState.current === "select_method" && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
1364
|
+
/* @__PURE__ */ jsxRuntime.jsx(OryFormSocialButtonsForm, {}),
|
|
1365
|
+
Object.entries(authMethodBlocks).length > 0 ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
1366
|
+
OryForm,
|
|
1367
|
+
{
|
|
1368
|
+
"data-testid": `ory/form/methods/local`,
|
|
1369
|
+
onAfterSubmit: handleAfterFormSubmit(dispatchFormState),
|
|
1370
|
+
children: /* @__PURE__ */ jsxRuntime.jsxs(Form.Group, { children: [
|
|
1070
1371
|
/* @__PURE__ */ jsxRuntime.jsx(Card.Divider, {}),
|
|
1071
1372
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1072
1373
|
AuthMethodList,
|
|
1073
1374
|
{
|
|
1074
|
-
options,
|
|
1375
|
+
options: authMethodBlocks,
|
|
1075
1376
|
setSelectedGroup: (group) => dispatchFormState({
|
|
1076
1377
|
type: "action_select_method",
|
|
1077
1378
|
method: group
|
|
1078
1379
|
})
|
|
1079
1380
|
}
|
|
1080
|
-
)
|
|
1081
|
-
|
|
1082
|
-
formState.current === "method_active" && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
1083
|
-
ui.nodes.filter((n) => n.type === "script").map((node, k) => /* @__PURE__ */ jsxRuntime.jsx(Node, { node }, k)),
|
|
1084
|
-
finalNodes.sort(sortNodes).map((node, k) => /* @__PURE__ */ jsxRuntime.jsx(Node, { node }, k))
|
|
1381
|
+
),
|
|
1382
|
+
authMethodAdditionalNodes.sort(sortNodes).map((node, k) => /* @__PURE__ */ jsxRuntime.jsx(Node, { node }, k))
|
|
1085
1383
|
] })
|
|
1086
|
-
|
|
1087
|
-
|
|
1088
|
-
|
|
1089
|
-
|
|
1384
|
+
}
|
|
1385
|
+
) : !hasSingleSignOnNodes(ui.nodes) && /* @__PURE__ */ jsxRuntime.jsx("div", { "data-testid": `ory/form/methods/local`, children: /* @__PURE__ */ jsxRuntime.jsx(Message.Root, { children: /* @__PURE__ */ jsxRuntime.jsx(Message.Content, { message: noMethods }, noMethods.id) }) })
|
|
1386
|
+
] }),
|
|
1387
|
+
/* @__PURE__ */ jsxRuntime.jsx(OryCardFooter, {})
|
|
1090
1388
|
] });
|
|
1091
1389
|
}
|
|
1092
|
-
function
|
|
1093
|
-
const {
|
|
1094
|
-
|
|
1095
|
-
|
|
1096
|
-
|
|
1097
|
-
|
|
1098
|
-
|
|
1099
|
-
|
|
1100
|
-
|
|
1101
|
-
}
|
|
1102
|
-
return
|
|
1103
|
-
|
|
1104
|
-
|
|
1105
|
-
|
|
1106
|
-
onClick: () => handleClick(option)
|
|
1107
|
-
},
|
|
1108
|
-
option
|
|
1109
|
-
));
|
|
1390
|
+
function OryTwoStepCard() {
|
|
1391
|
+
const { formState } = useOryFlow();
|
|
1392
|
+
switch (formState.current) {
|
|
1393
|
+
case "provide_identifier":
|
|
1394
|
+
return /* @__PURE__ */ jsxRuntime.jsx(OryTwoStepCardStateProvideIdentifier, {});
|
|
1395
|
+
case "select_method":
|
|
1396
|
+
return /* @__PURE__ */ jsxRuntime.jsx(OryTwoStepCardStateSelectMethod, {});
|
|
1397
|
+
case "method_active":
|
|
1398
|
+
return /* @__PURE__ */ jsxRuntime.jsx(OryTwoStepCardStateMethodActive, { formState });
|
|
1399
|
+
}
|
|
1400
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
1401
|
+
"unknown form state: ",
|
|
1402
|
+
formState.current
|
|
1403
|
+
] });
|
|
1110
1404
|
}
|
|
1111
1405
|
function OryFormGroups({ groups }) {
|
|
1112
1406
|
const {
|
|
@@ -1116,8 +1410,8 @@ function OryFormGroups({ groups }) {
|
|
|
1116
1410
|
const { flowType } = useOryFlow();
|
|
1117
1411
|
const { Form } = useComponents();
|
|
1118
1412
|
const nodes = ui.nodes.filter((node) => groups.indexOf(node.group) > -1).sort((a, b) => nodeSorter(a, b, { flowType }));
|
|
1119
|
-
return /* @__PURE__ */ jsxRuntime.jsx(Form.Group, { children: nodes.map((node
|
|
1120
|
-
return /* @__PURE__ */ jsxRuntime.jsx(Node, { node },
|
|
1413
|
+
return /* @__PURE__ */ jsxRuntime.jsx(Form.Group, { children: nodes.map((node) => {
|
|
1414
|
+
return /* @__PURE__ */ jsxRuntime.jsx(Node, { node }, clientFetch.getNodeId(node));
|
|
1121
1415
|
}) });
|
|
1122
1416
|
}
|
|
1123
1417
|
function OryFormSection({
|
|
@@ -1146,14 +1440,29 @@ function OryFormSectionInner({
|
|
|
1146
1440
|
}
|
|
1147
1441
|
);
|
|
1148
1442
|
}
|
|
1443
|
+
function OryConsentCard() {
|
|
1444
|
+
const { Form, Card } = useComponents();
|
|
1445
|
+
const flow = useOryFlow();
|
|
1446
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(OryCard, { children: [
|
|
1447
|
+
/* @__PURE__ */ jsxRuntime.jsx(OryCardHeader, {}),
|
|
1448
|
+
/* @__PURE__ */ jsxRuntime.jsx(OryCardContent, { children: /* @__PURE__ */ jsxRuntime.jsxs(OryForm, { children: [
|
|
1449
|
+
/* @__PURE__ */ jsxRuntime.jsx(Card.Divider, {}),
|
|
1450
|
+
/* @__PURE__ */ jsxRuntime.jsx(Form.Group, { children: flow.flow.ui.nodes.map((node) => /* @__PURE__ */ jsxRuntime.jsx(Node, { node }, clientFetch.getNodeId(node))) }),
|
|
1451
|
+
/* @__PURE__ */ jsxRuntime.jsx(Card.Divider, {}),
|
|
1452
|
+
/* @__PURE__ */ jsxRuntime.jsx(OryCardFooter, {})
|
|
1453
|
+
] }) })
|
|
1454
|
+
] });
|
|
1455
|
+
}
|
|
1149
1456
|
function OryFormGroupDivider() {
|
|
1150
1457
|
const { Card } = useComponents();
|
|
1151
1458
|
const {
|
|
1152
1459
|
flow: { ui }
|
|
1153
1460
|
} = useOryFlow();
|
|
1154
|
-
const filteredNodes = ui.nodes.filter(
|
|
1461
|
+
const filteredNodes = ui.nodes.filter(
|
|
1462
|
+
(node) => node.group === clientFetch.UiNodeGroupEnum.Oidc || node.group === clientFetch.UiNodeGroupEnum.Saml
|
|
1463
|
+
);
|
|
1155
1464
|
const otherNodes = ui.nodes.filter(
|
|
1156
|
-
(node) => node.group
|
|
1465
|
+
(node) => !(node.group === clientFetch.UiNodeGroupEnum.Oidc || node.group === clientFetch.UiNodeGroupEnum.Saml) && node.group !== "default"
|
|
1157
1466
|
);
|
|
1158
1467
|
if (filteredNodes.length > 0 && otherNodes.length > 0) {
|
|
1159
1468
|
return /* @__PURE__ */ jsxRuntime.jsx(Card.Divider, {});
|
|
@@ -1179,7 +1488,7 @@ function OrySettingsOidc({ nodes }) {
|
|
|
1179
1488
|
onClick: () => {
|
|
1180
1489
|
if (node.attributes.node_type === "input") {
|
|
1181
1490
|
setValue("link", node.attributes.value);
|
|
1182
|
-
setValue("method",
|
|
1491
|
+
setValue("method", node.group);
|
|
1183
1492
|
}
|
|
1184
1493
|
}
|
|
1185
1494
|
}));
|
|
@@ -1188,7 +1497,7 @@ function OrySettingsOidc({ nodes }) {
|
|
|
1188
1497
|
onClick: () => {
|
|
1189
1498
|
if (node.attributes.node_type === "input") {
|
|
1190
1499
|
setValue("unlink", node.attributes.value);
|
|
1191
|
-
setValue("method",
|
|
1500
|
+
setValue("method", node.group);
|
|
1192
1501
|
}
|
|
1193
1502
|
}
|
|
1194
1503
|
}));
|
|
@@ -1497,16 +1806,19 @@ function SettingsSectionContent({ group, nodes }) {
|
|
|
1497
1806
|
const { Card } = useComponents();
|
|
1498
1807
|
const intl = reactIntl.useIntl();
|
|
1499
1808
|
const { flow } = useOryFlow();
|
|
1500
|
-
const
|
|
1809
|
+
const groupedNodes = useNodesGroups(flow.ui.nodes, {
|
|
1810
|
+
// Script nodes are already handled by the parent component.
|
|
1811
|
+
omit: ["script"]
|
|
1812
|
+
});
|
|
1501
1813
|
if (group === clientFetch.UiNodeGroupEnum.Totp) {
|
|
1502
1814
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1503
1815
|
OryFormSection,
|
|
1504
1816
|
{
|
|
1505
|
-
nodes:
|
|
1817
|
+
nodes: groupedNodes.groups.totp,
|
|
1506
1818
|
"data-testid": "ory/screen/settings/group/totp",
|
|
1507
1819
|
children: [
|
|
1508
|
-
/* @__PURE__ */ jsxRuntime.jsx(OrySettingsTotp, { nodes: (_a =
|
|
1509
|
-
(_b =
|
|
1820
|
+
/* @__PURE__ */ jsxRuntime.jsx(OrySettingsTotp, { nodes: (_a = groupedNodes.groups.totp) != null ? _a : [] }),
|
|
1821
|
+
(_b = groupedNodes.groups.default) == null ? void 0 : _b.map((node) => /* @__PURE__ */ jsxRuntime.jsx(Node, { node }, clientFetch.getNodeId(node)))
|
|
1510
1822
|
]
|
|
1511
1823
|
}
|
|
1512
1824
|
);
|
|
@@ -1515,16 +1827,16 @@ function SettingsSectionContent({ group, nodes }) {
|
|
|
1515
1827
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1516
1828
|
OryFormSection,
|
|
1517
1829
|
{
|
|
1518
|
-
nodes:
|
|
1830
|
+
nodes: groupedNodes.groups.lookup_secret,
|
|
1519
1831
|
"data-testid": "ory/screen/settings/group/lookup_secret",
|
|
1520
1832
|
children: [
|
|
1521
1833
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1522
1834
|
OrySettingsRecoveryCodes,
|
|
1523
1835
|
{
|
|
1524
|
-
nodes: (_c =
|
|
1836
|
+
nodes: (_c = groupedNodes.groups.lookup_secret) != null ? _c : []
|
|
1525
1837
|
}
|
|
1526
1838
|
),
|
|
1527
|
-
(_d =
|
|
1839
|
+
(_d = groupedNodes.groups.default) == null ? void 0 : _d.map((node) => /* @__PURE__ */ jsxRuntime.jsx(Node, { node }, clientFetch.getNodeId(node)))
|
|
1528
1840
|
]
|
|
1529
1841
|
}
|
|
1530
1842
|
);
|
|
@@ -1533,11 +1845,11 @@ function SettingsSectionContent({ group, nodes }) {
|
|
|
1533
1845
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1534
1846
|
OryFormSection,
|
|
1535
1847
|
{
|
|
1536
|
-
nodes:
|
|
1848
|
+
nodes: groupedNodes.groups.oidc,
|
|
1537
1849
|
"data-testid": "ory/screen/settings/group/oidc",
|
|
1538
1850
|
children: [
|
|
1539
|
-
/* @__PURE__ */ jsxRuntime.jsx(OrySettingsOidc, { nodes: (_e =
|
|
1540
|
-
(_f =
|
|
1851
|
+
/* @__PURE__ */ jsxRuntime.jsx(OrySettingsOidc, { nodes: (_e = groupedNodes.groups.oidc) != null ? _e : [] }),
|
|
1852
|
+
(_f = groupedNodes.groups.default) == null ? void 0 : _f.map((node) => /* @__PURE__ */ jsxRuntime.jsx(Node, { node }, clientFetch.getNodeId(node)))
|
|
1541
1853
|
]
|
|
1542
1854
|
}
|
|
1543
1855
|
);
|
|
@@ -1546,11 +1858,11 @@ function SettingsSectionContent({ group, nodes }) {
|
|
|
1546
1858
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1547
1859
|
OryFormSection,
|
|
1548
1860
|
{
|
|
1549
|
-
nodes:
|
|
1861
|
+
nodes: groupedNodes.groups.webauthn,
|
|
1550
1862
|
"data-testid": "ory/screen/settings/group/webauthn",
|
|
1551
1863
|
children: [
|
|
1552
|
-
/* @__PURE__ */ jsxRuntime.jsx(OrySettingsWebauthn, { nodes: (_g =
|
|
1553
|
-
(_h =
|
|
1864
|
+
/* @__PURE__ */ jsxRuntime.jsx(OrySettingsWebauthn, { nodes: (_g = groupedNodes.groups.webauthn) != null ? _g : [] }),
|
|
1865
|
+
(_h = groupedNodes.groups.default) == null ? void 0 : _h.map((node) => /* @__PURE__ */ jsxRuntime.jsx(Node, { node }, clientFetch.getNodeId(node)))
|
|
1554
1866
|
]
|
|
1555
1867
|
}
|
|
1556
1868
|
);
|
|
@@ -1559,11 +1871,11 @@ function SettingsSectionContent({ group, nodes }) {
|
|
|
1559
1871
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1560
1872
|
OryFormSection,
|
|
1561
1873
|
{
|
|
1562
|
-
nodes:
|
|
1874
|
+
nodes: groupedNodes.groups.passkey,
|
|
1563
1875
|
"data-testid": "ory/screen/settings/group/passkey",
|
|
1564
1876
|
children: [
|
|
1565
|
-
/* @__PURE__ */ jsxRuntime.jsx(OrySettingsPasskey, { nodes: (_i =
|
|
1566
|
-
(_j =
|
|
1877
|
+
/* @__PURE__ */ jsxRuntime.jsx(OrySettingsPasskey, { nodes: (_i = groupedNodes.groups.passkey) != null ? _i : [] }),
|
|
1878
|
+
(_j = groupedNodes.groups.default) == null ? void 0 : _j.map((node) => /* @__PURE__ */ jsxRuntime.jsx(Node, { node }, clientFetch.getNodeId(node)))
|
|
1567
1879
|
]
|
|
1568
1880
|
}
|
|
1569
1881
|
);
|
|
@@ -1584,30 +1896,30 @@ function SettingsSectionContent({ group, nodes }) {
|
|
|
1584
1896
|
id: `settings.${group}.description`
|
|
1585
1897
|
}),
|
|
1586
1898
|
children: [
|
|
1587
|
-
(_k =
|
|
1899
|
+
(_k = groupedNodes.groups.default) == null ? void 0 : _k.map((node) => /* @__PURE__ */ jsxRuntime.jsx(Node, { node }, clientFetch.getNodeId(node))),
|
|
1588
1900
|
nodes.filter(
|
|
1589
1901
|
(node) => "type" in node.attributes && node.attributes.type !== "submit"
|
|
1590
|
-
).map((node
|
|
1902
|
+
).map((node) => /* @__PURE__ */ jsxRuntime.jsx(Node, { node }, clientFetch.getNodeId(node)))
|
|
1591
1903
|
]
|
|
1592
1904
|
}
|
|
1593
1905
|
),
|
|
1594
1906
|
/* @__PURE__ */ jsxRuntime.jsx(Card.SettingsSectionFooter, { children: nodes.filter(
|
|
1595
1907
|
(node) => "type" in node.attributes && node.attributes.type === "submit"
|
|
1596
|
-
).map((node
|
|
1908
|
+
).map((node) => /* @__PURE__ */ jsxRuntime.jsx(Node, { node }, clientFetch.getNodeId(node))) })
|
|
1597
1909
|
]
|
|
1598
1910
|
}
|
|
1599
1911
|
);
|
|
1600
1912
|
}
|
|
1601
|
-
var
|
|
1602
|
-
(node) =>
|
|
1913
|
+
var onlyScriptNodes = (nodes) => nodes.filter(
|
|
1914
|
+
(node) => clientFetch.isUiNodeScriptAttributes(node.attributes) && node.attributes.id === "webauthn_script"
|
|
1603
1915
|
);
|
|
1604
1916
|
function OrySettingsCard() {
|
|
1605
1917
|
const { flow } = useOryFlow();
|
|
1606
|
-
const uniqueGroups = useNodesGroups(flow.ui.nodes);
|
|
1607
|
-
const
|
|
1918
|
+
const uniqueGroups = useNodesGroups(flow.ui.nodes, { omit: ["script"] });
|
|
1919
|
+
const scriptNodes = onlyScriptNodes(flow.ui.nodes);
|
|
1608
1920
|
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
1609
1921
|
/* @__PURE__ */ jsxRuntime.jsx(OryCardValidationMessages, {}),
|
|
1610
|
-
|
|
1922
|
+
scriptNodes.map((n) => /* @__PURE__ */ jsxRuntime.jsx(Node, { node: n }, clientFetch.getNodeId(n))),
|
|
1611
1923
|
uniqueGroups.entries.map(([group, nodes]) => {
|
|
1612
1924
|
if (group === clientFetch.UiNodeGroupEnum.Default) {
|
|
1613
1925
|
return null;
|
|
@@ -1703,9 +2015,9 @@ var en_default = {
|
|
|
1703
2015
|
"identities.messages.1010005": "Verify",
|
|
1704
2016
|
"identities.messages.1010006": "Authentication code",
|
|
1705
2017
|
"identities.messages.1010007": "Backup recovery code",
|
|
1706
|
-
"identities.messages.1010008": "
|
|
1707
|
-
"identities.messages.1010009": "
|
|
1708
|
-
"identities.messages.1010010": "
|
|
2018
|
+
"identities.messages.1010008": "Continue with hardware key",
|
|
2019
|
+
"identities.messages.1010009": "Continue",
|
|
2020
|
+
"identities.messages.1010010": "Continue",
|
|
1709
2021
|
"identities.messages.1010011": "Sign in with hardware key",
|
|
1710
2022
|
"identities.messages.1010012": "Prepare your WebAuthn device (e.g. security key, biometrics scanner, ...) and press continue.",
|
|
1711
2023
|
"identities.messages.1010013": "Continue",
|
|
@@ -1842,9 +2154,17 @@ var en_default = {
|
|
|
1842
2154
|
"login.subtitle-oauth2": "To authenticate {clientName}",
|
|
1843
2155
|
"login.title": "Sign in",
|
|
1844
2156
|
"login.subtitle": "Sign in with {parts}",
|
|
1845
|
-
"login.title-aal2": "
|
|
2157
|
+
"login.title-aal2": "Second factor authentication",
|
|
2158
|
+
"login.subtitle-aal2": "Choose a way to complete your second factor authentication",
|
|
2159
|
+
"login.code.subtitle": "A verification code will be sent by email",
|
|
2160
|
+
"login.webauthn.subtitle": "Please prepare your WebAuthN device",
|
|
2161
|
+
"login.totp.subtitle": "Please enter the code generated by your Authenticator App",
|
|
2162
|
+
"login.lookup_secret.subtitle": "Please enter one of your 8-digit backup recovery codes",
|
|
1846
2163
|
"login.title-refresh": "Reauthenticate",
|
|
1847
2164
|
"login.subtitle-refresh": "Confirm your identity with {parts}",
|
|
2165
|
+
"login.2fa.go-back": "Something isn't working?",
|
|
2166
|
+
"login.2fa.go-back.link": "Go back",
|
|
2167
|
+
"login.2fa.method.go-back": "Choose another method",
|
|
1848
2168
|
"logout.accept-button": "Yes",
|
|
1849
2169
|
"logout.reject-button": "No",
|
|
1850
2170
|
"logout.title": "Do you wish to log out?",
|
|
@@ -1893,10 +2213,14 @@ var en_default = {
|
|
|
1893
2213
|
"two-step.password.description": "Enter your password associated with your account",
|
|
1894
2214
|
"two-step.code.title": "Email code",
|
|
1895
2215
|
"two-step.code.description": "A verification code will be sent to your email",
|
|
1896
|
-
"two-step.webauthn.title": "Security
|
|
2216
|
+
"two-step.webauthn.title": "Security key",
|
|
1897
2217
|
"two-step.webauthn.description": "Use your security key to authenticate",
|
|
1898
2218
|
"two-step.passkey.title": "Passkey (recommended)",
|
|
1899
2219
|
"two-step.passkey.description": "Use your device's for fingerprint or face recognition",
|
|
2220
|
+
"two-step.totp.title": "Use your Authenticator App (TOTP)",
|
|
2221
|
+
"two-step.totp.description": "Use a 6-digit one-time code from your authenticator app",
|
|
2222
|
+
"two-step.lookup_secret.title": "Backup recovery code",
|
|
2223
|
+
"two-step.lookup_secret.description": "Use up one of your 8-digit backup codes to authenticate",
|
|
1900
2224
|
"identities.messages.1010020": "",
|
|
1901
2225
|
"input.placeholder": "Enter your {placeholder}",
|
|
1902
2226
|
"card.header.parts.oidc": "a social provider",
|
|
@@ -1930,7 +2254,27 @@ var en_default = {
|
|
|
1930
2254
|
"property.phone": "phone",
|
|
1931
2255
|
"property.username": "username",
|
|
1932
2256
|
"property.identifier": "identifier",
|
|
1933
|
-
"property.code": "code"
|
|
2257
|
+
"property.code": "code",
|
|
2258
|
+
"consent.title": "Authorize {party}",
|
|
2259
|
+
"consent.subtitle": "A third party application wants to access information associated with your account {identifier}.",
|
|
2260
|
+
"consent.scope.openid.title": "Identity",
|
|
2261
|
+
"consent.scope.openid.description": "Allows the application to verify your identity. This is required for authentication and a trusted login experience.",
|
|
2262
|
+
"consent.scope.offline_access.title": "Offline Access",
|
|
2263
|
+
"consent.scope.offline_access.description": "Allows this application to keep you signed in even when you're not actively using it.",
|
|
2264
|
+
"consent.scope.profile.title": "Profile Information",
|
|
2265
|
+
"consent.scope.profile.description": "Allows access to your basic profile details, including your username, first name, and last name.",
|
|
2266
|
+
"consent.scope.email.title": "Email Address",
|
|
2267
|
+
"consent.scope.email.description": "Retrieve your email address and its verification status.",
|
|
2268
|
+
"consent.scope.address.title": "Physical Address",
|
|
2269
|
+
"consent.scope.address.description": "Access your postal address.",
|
|
2270
|
+
"consent.scope.phone.title": "Phone Number",
|
|
2271
|
+
"consent.scope.phone.description": "Retrieve your phone number and its verification status.",
|
|
2272
|
+
"error.title.what-happened": "What happened?",
|
|
2273
|
+
"error.title.what-can-i-do": "What can I do?",
|
|
2274
|
+
"error.instructions": "Please try again in a few minutes or contact the website operator.",
|
|
2275
|
+
"error.footer.text": "When reporting this error, please include the following information:",
|
|
2276
|
+
"error.footer.copy": "Copy",
|
|
2277
|
+
"error.action.go-back": "Go back"
|
|
1934
2278
|
};
|
|
1935
2279
|
|
|
1936
2280
|
// src/locales/de.json
|
|
@@ -1956,9 +2300,9 @@ var de_default = {
|
|
|
1956
2300
|
"identities.messages.1010005": "Verifizieren",
|
|
1957
2301
|
"identities.messages.1010006": "Authentifizierungscode",
|
|
1958
2302
|
"identities.messages.1010007": "Backup-Wiederherstellungscode",
|
|
1959
|
-
"identities.messages.1010008": "Sicherheitsschl\xFCssel
|
|
1960
|
-
"identities.messages.1010009": "
|
|
1961
|
-
"identities.messages.1010010": "
|
|
2303
|
+
"identities.messages.1010008": "Mit Sicherheitsschl\xFCssel fortfahren",
|
|
2304
|
+
"identities.messages.1010009": "Weiter",
|
|
2305
|
+
"identities.messages.1010010": "Weiter",
|
|
1962
2306
|
"identities.messages.1010011": "Mit Sicherheitsschl\xFCssel fortfahren",
|
|
1963
2307
|
"identities.messages.1010012": "Bereiten Sie Ihr WebAuthn-Ger\xE4t vor (z. B. Sicherheitsschl\xFCssel, biometrischer Scanner, ...) und dr\xFCcken Sie auf Weiter.",
|
|
1964
2308
|
"identities.messages.1010013": "Weiter",
|
|
@@ -2074,8 +2418,16 @@ var de_default = {
|
|
|
2074
2418
|
"login.registration-label": "Sie haben noch kein Konto?",
|
|
2075
2419
|
"login.subtitle-oauth2": "Zur Authentifizierung bei {clientName}",
|
|
2076
2420
|
"login.title": "Anmelden",
|
|
2077
|
-
"login.title-aal2": "
|
|
2421
|
+
"login.title-aal2": "Zweitfaktor-Authentifizierung",
|
|
2422
|
+
"login.subtitle-aal2": "W\xE4hlen Sie eine Methode zur Best\xE4tigung Ihrer Zwei-Faktor-Authentifizierung",
|
|
2423
|
+
"login.code.subtitle": "Ein Best\xE4tigungscode wird per E-Mail gesendet",
|
|
2424
|
+
"login.webauthn.subtitle": "Bitte bereiten Sie Ihr WebAuthN-Ger\xE4t vor",
|
|
2425
|
+
"login.totp.subtitle": "Bitte geben Sie den Code aus Ihrer Authenticator-App ein",
|
|
2426
|
+
"login.lookup_secret.subtitle": "Bitte geben Sie einen Ihrer 8-stelligen Backup-Wiederherstellungscodes ein",
|
|
2078
2427
|
"login.title-refresh": "Best\xE4tigen Sie, dass Sie es sind",
|
|
2428
|
+
"login.2fa.go-back": "Funktioniert etwas nicht?",
|
|
2429
|
+
"login.2fa.go-back.link": "Zur\xFCck",
|
|
2430
|
+
"login.2fa.method.go-back": "Eine andere Methode w\xE4hlen",
|
|
2079
2431
|
"logout.accept-button": "Ja",
|
|
2080
2432
|
"logout.reject-button": "Nein",
|
|
2081
2433
|
"logout.title": "M\xF6chten Sie sich abmelden?",
|
|
@@ -2093,11 +2445,15 @@ var de_default = {
|
|
|
2093
2445
|
"two-step.code.description": "Ein Best\xE4tigungscode wird an Ihre E-Mail gesendet.",
|
|
2094
2446
|
"two-step.code.title": "E-Mail-Code",
|
|
2095
2447
|
"two-step.passkey.description": "Verwenden Sie die Fingerabdruck- oder Gesichtserkennung Ihres Ger\xE4ts",
|
|
2096
|
-
"two-step.passkey.title": "
|
|
2448
|
+
"two-step.passkey.title": "Passkey (empfohlen)",
|
|
2097
2449
|
"two-step.password.description": "Geben Sie Ihr Passwort ein, das mit Ihrem Konto verkn\xFCpft ist",
|
|
2098
2450
|
"two-step.password.title": "Passwort",
|
|
2099
|
-
"two-step.webauthn.description": "Verwenden Sie Ihren Sicherheitsschl\xFCssel zur Authentifizierung",
|
|
2100
2451
|
"two-step.webauthn.title": "Sicherheitsschl\xFCssel",
|
|
2452
|
+
"two-step.webauthn.description": "Verwenden Sie Ihren Sicherheitsschl\xFCssel zur Authentifizierung",
|
|
2453
|
+
"two-step.totp.title": "Verwenden Sie Ihre Authenticator-App (TOTP)",
|
|
2454
|
+
"two-step.totp.description": "Verwenden Sie einen 6-stelligen Einmal-Code aus Ihrer Authenticator-App",
|
|
2455
|
+
"two-step.lookup_secret.title": "Backup-Wiederherstellungscode",
|
|
2456
|
+
"two-step.lookup_secret.description": "Verwenden Sie einen Ihrer 8-stelligen Backup-Codes, um sich zu authentifizieren",
|
|
2101
2457
|
"identities.messages.1070014": "Login- und Link-Zugangsdaten",
|
|
2102
2458
|
"identities.messages.1070015": "Bitte schlie\xDFen Sie die Captcha-Challenge ab, um fortzufahren.",
|
|
2103
2459
|
"identities.messages.4000038": "Die Captcha-\xDCberpr\xFCfung ist fehlgeschlagen. Bitte versuchen Sie es erneut.",
|
|
@@ -2105,20 +2461,20 @@ var de_default = {
|
|
|
2105
2461
|
"login.cancel-label": "Nicht das richtige Konto?",
|
|
2106
2462
|
"identities.messages.1010023": "Code an {address} senden",
|
|
2107
2463
|
"identities.messages.1010016": "Sie haben versucht, sich mit \u201E{duplicateIdentifier}\u201C anzumelden, aber diese E-Mail-Adresse wird bereits von einem anderen Konto verwendet. \nMelden Sie sich mit einer der folgenden Optionen bei Ihrem Konto an, um Ihr Konto \u201E{duplicateIdentifier}\u201C bei \u201E{provider}\u201C als weitere Anmeldem\xF6glichkeit hinzuzuf\xFCgen.",
|
|
2108
|
-
"identities.messages.1010017": "",
|
|
2109
|
-
"identities.messages.1010018": "",
|
|
2110
|
-
"identities.messages.1010019": "",
|
|
2464
|
+
"identities.messages.1010017": "Anmelden und verbinden",
|
|
2465
|
+
"identities.messages.1010018": "Mit {provider} best\xE4tigen",
|
|
2466
|
+
"identities.messages.1010019": "Code senden um fortzufahren",
|
|
2111
2467
|
"identities.messages.1010020": "",
|
|
2112
|
-
"identities.messages.1010021": "",
|
|
2113
|
-
"identities.messages.1010022": "",
|
|
2114
|
-
"identities.messages.1040007": "",
|
|
2115
|
-
"identities.messages.1040008": "",
|
|
2116
|
-
"identities.messages.1040009": "",
|
|
2468
|
+
"identities.messages.1010021": "Mit Paskey anmelden",
|
|
2469
|
+
"identities.messages.1010022": "Mit Passwort anmelden",
|
|
2470
|
+
"identities.messages.1040007": "Mit Passkey registrieren",
|
|
2471
|
+
"identities.messages.1040008": "Zur\xFCck",
|
|
2472
|
+
"identities.messages.1040009": "Bitte w\xE4hlen Sie eine Authentifizierungsmethode, um fortzufahren.",
|
|
2117
2473
|
"identities.messages.1050019": "Passkey hinzuf\xFCgen",
|
|
2118
|
-
"identities.messages.1050020": "",
|
|
2119
|
-
"identities.messages.4000037": "",
|
|
2120
|
-
"identities.messages.4010009": "",
|
|
2121
|
-
"identities.messages.4010010": "",
|
|
2474
|
+
"identities.messages.1050020": 'Passkey "{display_name}" entfernen',
|
|
2475
|
+
"identities.messages.4000037": "F\xFCr die eingegebenen Daten existiert kein Account",
|
|
2476
|
+
"identities.messages.4010009": "Die Authentifizierungsmethode stimmt nicht mit der vorherigen Authentifizierungsmethode \xFCberein. Bitte versuchen Sie es erneut.",
|
|
2477
|
+
"identities.messages.4010010": "Die eingegebene Adresse stimmt nicht mit der Adresse \xFCberein, die Sie bei der Registrierung angegeben haben. Bitte versuchen Sie es erneut.",
|
|
2122
2478
|
"input.placeholder": "{placeholder} eingeben",
|
|
2123
2479
|
"card.header.parts.code": "einem Code per E-Mail",
|
|
2124
2480
|
"card.header.parts.identifier-first": "Ihr {identifierLabel}",
|
|
@@ -2183,7 +2539,27 @@ var de_default = {
|
|
|
2183
2539
|
"property.password": "Passwort",
|
|
2184
2540
|
"property.phone": "Telefon",
|
|
2185
2541
|
"property.code": "Code",
|
|
2186
|
-
"property.username": "Benutzername"
|
|
2542
|
+
"property.username": "Benutzername",
|
|
2543
|
+
"consent.title": "Autorisieren {party}",
|
|
2544
|
+
"consent.subtitle": "Eine Drittanbieteranwendung m\xF6chte auf Informationen zugreifen, die mit Ihrem Konto {identifier} verkn\xFCpft sind.",
|
|
2545
|
+
"consent.scope.openid.title": "Identit\xE4t",
|
|
2546
|
+
"consent.scope.openid.description": "Erm\xF6glicht der Anwendung, Ihre Identit\xE4t zu \xFCberpr\xFCfen. Dies ist f\xFCr die Authentifizierung und eine vertrauensw\xFCrdige Login-Erfahrung erforderlich.",
|
|
2547
|
+
"consent.scope.offline_access.title": "Offline-Zugriff",
|
|
2548
|
+
"consent.scope.offline_access.description": "Erm\xF6glicht dieser Anwendung, Sie angemeldet zu lassen, auch wenn Sie sie nicht aktiv nutzen.",
|
|
2549
|
+
"consent.scope.profile.title": "Profilinformationen",
|
|
2550
|
+
"consent.scope.profile.description": "Erm\xF6glicht den Zugriff auf Ihre grundlegenden Profildetails, einschlie\xDFlich Ihres Benutzernamens, Vornamens und Nachnamens.",
|
|
2551
|
+
"consent.scope.email.title": "E-Mail-Adresse",
|
|
2552
|
+
"consent.scope.email.description": "Erm\xF6glicht den Abruf Ihrer E-Mail-Adresse und deren \xDCberpr\xFCfungsstatus.",
|
|
2553
|
+
"consent.scope.address.title": "Physische Adresse",
|
|
2554
|
+
"consent.scope.address.description": "Erm\xF6glicht den Zugriff auf Ihre Postanschrift.",
|
|
2555
|
+
"consent.scope.phone.title": "Telefonnummer",
|
|
2556
|
+
"consent.scope.phone.description": "Erm\xF6glicht den Abruf Ihrer Telefonnummer und deren \xDCberpr\xFCfungsstatus.",
|
|
2557
|
+
"error.title.what-happened": "Was ist passiert?",
|
|
2558
|
+
"error.footer.copy": "Kopieren",
|
|
2559
|
+
"error.footer.text": "Bitte f\xFCgen Sie bei der Meldung dieses Fehlers die folgenden Informationen hinzu:",
|
|
2560
|
+
"error.instructions": "Bitte versuchen Sie es in wenigen Minuten erneut oder wenden Sie sich an den Website-Betreiber.",
|
|
2561
|
+
"error.title.what-can-i-do": "Was kann ich tun?",
|
|
2562
|
+
"error.action.go-back": "Zur\xFCck"
|
|
2187
2563
|
};
|
|
2188
2564
|
|
|
2189
2565
|
// src/locales/es.json
|
|
@@ -2199,7 +2575,6 @@ var es_default = {
|
|
|
2199
2575
|
"error.back-button": "Regresar",
|
|
2200
2576
|
"error.description": "Ocurri\xF3 un error con el siguiente mensaje:",
|
|
2201
2577
|
"error.support-email-link": "Si el problema persiste, por favor contacte a <a>{contactSupportEmail}</a>",
|
|
2202
|
-
"error.title": "Ocurri\xF3 un error",
|
|
2203
2578
|
"error.title-internal-server-error": "Error Interno del Servidor",
|
|
2204
2579
|
"error.title-not-found": "404 - P\xE1gina no encontrada",
|
|
2205
2580
|
"identities.messages.1010001": "Iniciar sesi\xF3n",
|
|
@@ -2209,9 +2584,9 @@ var es_default = {
|
|
|
2209
2584
|
"identities.messages.1010005": "Verificar",
|
|
2210
2585
|
"identities.messages.1010006": "C\xF3digo de autenticaci\xF3n",
|
|
2211
2586
|
"identities.messages.1010007": "C\xF3digo de recuperaci\xF3n de respaldo",
|
|
2212
|
-
"identities.messages.1010008": "
|
|
2213
|
-
"identities.messages.1010009": "
|
|
2214
|
-
"identities.messages.1010010": "
|
|
2587
|
+
"identities.messages.1010008": "Continuar con la llave de hardware",
|
|
2588
|
+
"identities.messages.1010009": "Continuar",
|
|
2589
|
+
"identities.messages.1010010": "Continuar",
|
|
2215
2590
|
"identities.messages.1010011": "Continuar con llave de seguridad",
|
|
2216
2591
|
"identities.messages.1010012": "Prepare su dispositivo WebAuthn (por ejemplo, llave de seguridad, esc\xE1ner biom\xE9trico, ...) y presione continuar.",
|
|
2217
2592
|
"identities.messages.1010013": "Continuar",
|
|
@@ -2327,8 +2702,16 @@ var es_default = {
|
|
|
2327
2702
|
"login.registration-label": "\xBFNo tiene una cuenta?",
|
|
2328
2703
|
"login.subtitle-oauth2": "Para autenticar a {clientName}",
|
|
2329
2704
|
"login.title": "Iniciar sesi\xF3n",
|
|
2330
|
-
"login.title-aal2": "Autenticaci\xF3n de
|
|
2705
|
+
"login.title-aal2": "Autenticaci\xF3n de dos factores",
|
|
2706
|
+
"login.subtitle-aal2": "Elija una forma de completar su autenticaci\xF3n de segundo factor",
|
|
2707
|
+
"login.code.subtitle": "Se enviar\xE1 un c\xF3digo de verificaci\xF3n por correo electr\xF3nico",
|
|
2708
|
+
"login.webauthn.subtitle": "Por favor, prepare su dispositivo WebAuthN",
|
|
2709
|
+
"login.totp.subtitle": "Ingrese el c\xF3digo generado por su aplicaci\xF3n de autenticaci\xF3n",
|
|
2710
|
+
"login.lookup_secret.subtitle": "Ingrese uno de sus c\xF3digos de recuperaci\xF3n de respaldo de 8 d\xEDgitos",
|
|
2331
2711
|
"login.title-refresh": "Confirme que es usted",
|
|
2712
|
+
"login.2fa.go-back": "\xBFAlgo no funciona?",
|
|
2713
|
+
"login.2fa.go-back.link": "Volver",
|
|
2714
|
+
"login.2fa.method.go-back": "Elegir otro m\xE9todo",
|
|
2332
2715
|
"logout.accept-button": "S\xED",
|
|
2333
2716
|
"logout.reject-button": "No",
|
|
2334
2717
|
"logout.title": "\xBFDesea cerrar sesi\xF3n?",
|
|
@@ -2360,47 +2743,12 @@ var es_default = {
|
|
|
2360
2743
|
"two-step.passkey.title": "Clave de acceso (recomendada)",
|
|
2361
2744
|
"two-step.password.description": "Ingrese la contrase\xF1a asociada con su cuenta",
|
|
2362
2745
|
"two-step.password.title": "Contrase\xF1a",
|
|
2363
|
-
"two-step.webauthn.description": "Utiliza tu llave de seguridad para autenticarte",
|
|
2364
2746
|
"two-step.webauthn.title": "Clave de Seguridad",
|
|
2365
|
-
"
|
|
2366
|
-
"
|
|
2367
|
-
"
|
|
2368
|
-
"
|
|
2369
|
-
"
|
|
2370
|
-
"identities.messages.1010021": "",
|
|
2371
|
-
"identities.messages.1010022": "",
|
|
2372
|
-
"identities.messages.1010023": "",
|
|
2373
|
-
"identities.messages.1040007": "",
|
|
2374
|
-
"identities.messages.1040008": "",
|
|
2375
|
-
"identities.messages.1040009": "",
|
|
2376
|
-
"identities.messages.1050019": "",
|
|
2377
|
-
"identities.messages.1050020": "",
|
|
2378
|
-
"identities.messages.1070014": "",
|
|
2379
|
-
"identities.messages.1070015": "",
|
|
2380
|
-
"identities.messages.4000037": "",
|
|
2381
|
-
"identities.messages.4000038": "",
|
|
2382
|
-
"identities.messages.4010009": "",
|
|
2383
|
-
"identities.messages.4010010": "",
|
|
2384
|
-
"login.cancel-button": "",
|
|
2385
|
-
"login.cancel-label": "",
|
|
2386
|
-
"input.placeholder": "",
|
|
2387
|
-
"card.header.description.login": "",
|
|
2388
|
-
"card.header.description.registration": "",
|
|
2389
|
-
"card.header.parts.code": "",
|
|
2390
|
-
"card.header.parts.identifier-first": "",
|
|
2391
|
-
"card.header.parts.oidc": "",
|
|
2392
|
-
"card.header.parts.passkey": "",
|
|
2393
|
-
"card.header.parts.password.login": "",
|
|
2394
|
-
"card.header.parts.password.registration": "",
|
|
2395
|
-
"card.header.parts.webauthn": "",
|
|
2396
|
-
"forms.label.forgot-password": "",
|
|
2397
|
-
"login.subtitle": "",
|
|
2398
|
-
"login.subtitle-refresh": "",
|
|
2399
|
-
"misc.or": "",
|
|
2400
|
-
"recovery.subtitle": "",
|
|
2401
|
-
"registration.subtitle": "",
|
|
2402
|
-
"settings.subtitle": "",
|
|
2403
|
-
"verification.subtitle": "",
|
|
2747
|
+
"two-step.webauthn.description": "Utilice su llave de seguridad para autenticase",
|
|
2748
|
+
"two-step.totp.title": "Utilice su aplicaci\xF3n de autenticaci\xF3n (TOTP)",
|
|
2749
|
+
"two-step.totp.description": "Utilice un c\xF3digo de un solo uso de 6 d\xEDgitos de su aplicaci\xF3n de autenticaci\xF3n",
|
|
2750
|
+
"two-step.lookup_secret.title": "C\xF3digo de recuperaci\xF3n de respaldo",
|
|
2751
|
+
"two-step.lookup_secret.description": "Utilice uno de sus c\xF3digos de respaldo de 8 d\xEDgitos para autenticarse",
|
|
2404
2752
|
"settings.totp.info.linked": "Actualmente tienes una aplicaci\xF3n de autenticaci\xF3n conectada.",
|
|
2405
2753
|
"settings.totp.info.not-linked": "Para habilitar, escanea el c\xF3digo QR con tu autenticador e ingresa el c\xF3digo.",
|
|
2406
2754
|
"settings.totp.title": "Aplicaci\xF3n Autenticadora",
|
|
@@ -2418,25 +2766,85 @@ var es_default = {
|
|
|
2418
2766
|
"settings.profile.title": "Configuraci\xF3n de Perfil",
|
|
2419
2767
|
"settings.webauthn.description": "Administra la configuraci\xF3n de tu token de hardware",
|
|
2420
2768
|
"settings.webauthn.title": "Gestionar Tokens de Hardware",
|
|
2421
|
-
"
|
|
2422
|
-
"
|
|
2423
|
-
"
|
|
2424
|
-
"
|
|
2425
|
-
"
|
|
2426
|
-
"
|
|
2427
|
-
"
|
|
2428
|
-
"
|
|
2429
|
-
"
|
|
2430
|
-
"
|
|
2431
|
-
"
|
|
2432
|
-
"
|
|
2433
|
-
"
|
|
2434
|
-
"
|
|
2435
|
-
"
|
|
2436
|
-
"
|
|
2437
|
-
"
|
|
2438
|
-
"
|
|
2439
|
-
"
|
|
2769
|
+
"consent.title": "Autorizar {party}",
|
|
2770
|
+
"consent.subtitle": "Una aplicaci\xF3n de terceros quiere acceder a la informaci\xF3n asociada a su cuenta {identifier}.",
|
|
2771
|
+
"consent.scope.openid.title": "Identidad",
|
|
2772
|
+
"consent.scope.openid.description": "Permite que la aplicaci\xF3n verifique su identidad. Esto es necesario para la autenticaci\xF3n y una experiencia de inicio de sesi\xF3n confiable.",
|
|
2773
|
+
"consent.scope.offline_access.title": "Acceso sin conexi\xF3n",
|
|
2774
|
+
"consent.scope.offline_access.description": "Permite que esta aplicaci\xF3n le mantenga conectado incluso cuando no la est\xE9 utilizando activamente.",
|
|
2775
|
+
"consent.scope.profile.title": "Informaci\xF3n del perfil",
|
|
2776
|
+
"consent.scope.profile.description": "Permite el acceso a los detalles b\xE1sicos de su perfil, incluyendo su nombre de usuario, nombre y apellido.",
|
|
2777
|
+
"consent.scope.email.title": "Direcci\xF3n de correo electr\xF3nico",
|
|
2778
|
+
"consent.scope.email.description": "Recupere su direcci\xF3n de correo electr\xF3nico y su estado de verificaci\xF3n.",
|
|
2779
|
+
"consent.scope.address.title": "Direcci\xF3n f\xEDsica",
|
|
2780
|
+
"consent.scope.address.description": "Acceda a su direcci\xF3n postal.",
|
|
2781
|
+
"consent.scope.phone.title": "N\xFAmero de tel\xE9fono",
|
|
2782
|
+
"consent.scope.phone.description": "Recupere su n\xFAmero de tel\xE9fono y su estado de verificaci\xF3n.",
|
|
2783
|
+
"error.title": "Ocurri\xF3 un error",
|
|
2784
|
+
"identities.messages.1010016": 'Intentaste iniciar sesi\xF3n con "{duplicateIdentifier}", pero ese correo electr\xF3nico ya est\xE1 en uso por otra cuenta. Inicia sesi\xF3n en tu cuenta con una de las opciones a continuaci\xF3n para agregar tu cuenta "{duplicateIdentifier}" en "{provider}" como otra forma de iniciar sesi\xF3n.',
|
|
2785
|
+
"identities.messages.1010017": "Iniciar sesi\xF3n y vincular",
|
|
2786
|
+
"identities.messages.1010018": "Confirmar con {provider}",
|
|
2787
|
+
"identities.messages.1010019": "Solicitar c\xF3digo para continuar",
|
|
2788
|
+
"identities.messages.1010021": "Iniciar sesi\xF3n con clave de acceso",
|
|
2789
|
+
"identities.messages.1010022": "Iniciar sesi\xF3n con contrase\xF1a",
|
|
2790
|
+
"identities.messages.1010023": "Enviar c\xF3digo a {address}",
|
|
2791
|
+
"identities.messages.1040007": "Registrarse con clave de acceso",
|
|
2792
|
+
"identities.messages.1040008": "Atr\xE1s",
|
|
2793
|
+
"identities.messages.1040009": "Por favor, elige una credencial para autenticarte.",
|
|
2794
|
+
"identities.messages.1050019": "Agregar clave de acceso",
|
|
2795
|
+
"identities.messages.1070014": "Iniciar sesi\xF3n y vincular credencial",
|
|
2796
|
+
"identities.messages.1070015": "Por favor, completa el desaf\xEDo captcha para continuar.",
|
|
2797
|
+
"identities.messages.4000037": "Esta cuenta no existe o no tiene ning\xFAn m\xE9todo de inicio de sesi\xF3n configurado.",
|
|
2798
|
+
"identities.messages.4000038": "Fall\xF3 la verificaci\xF3n de Captcha, por favor intenta de nuevo.",
|
|
2799
|
+
"identities.messages.4010009": "Las credenciales vinculadas no coinciden.",
|
|
2800
|
+
"identities.messages.4010010": "La direcci\xF3n que ingresaste no coincide con ninguna direcci\xF3n conocida en la cuenta actual.",
|
|
2801
|
+
"login.cancel-button": "Cancelar",
|
|
2802
|
+
"login.cancel-label": "\xBFNo es la cuenta correcta?",
|
|
2803
|
+
"login.subtitle": "Iniciar sesi\xF3n con {parts}",
|
|
2804
|
+
"login.subtitle-refresh": "Confirma tu identidad con {parts}",
|
|
2805
|
+
"recovery.subtitle": "Ingresa la direcci\xF3n de correo electr\xF3nico asociada con tu cuenta para recibir un c\xF3digo de acceso \xFAnico",
|
|
2806
|
+
"registration.subtitle": "Registrarse con {parts}",
|
|
2807
|
+
"settings.subtitle": "Actualiza la configuraci\xF3n de tu cuenta",
|
|
2808
|
+
"settings.title-lookup-secret": "Administrar c\xF3digos de recuperaci\xF3n de respaldo 2FA",
|
|
2809
|
+
"settings.title-navigation": "Configuraci\xF3n de la cuenta",
|
|
2810
|
+
"settings.title-oidc": "Inicio de sesi\xF3n social",
|
|
2811
|
+
"settings.title-password": "Cambiar contrase\xF1a",
|
|
2812
|
+
"settings.title-profile": "Configuraci\xF3n del perfil",
|
|
2813
|
+
"settings.title-totp": "Administrar la aplicaci\xF3n de autenticaci\xF3n 2FA TOTP",
|
|
2814
|
+
"settings.title-webauthn": "Administrar tokens de hardware",
|
|
2815
|
+
"settings.title-passkey": "Administrar claves de acceso",
|
|
2816
|
+
"verification.subtitle": "Ingresa la direcci\xF3n de correo electr\xF3nico asociada con tu cuenta para verificarla",
|
|
2817
|
+
"input.placeholder": "Ingresa tu {placeholder}",
|
|
2818
|
+
"card.header.parts.oidc": "un proveedor social",
|
|
2819
|
+
"card.header.parts.password.registration": "tu {identifierLabel} y una contrase\xF1a",
|
|
2820
|
+
"card.header.parts.password.login": "tu {identifierLabel} y contrase\xF1a",
|
|
2821
|
+
"card.header.parts.code": "un c\xF3digo enviado a tu correo electr\xF3nico",
|
|
2822
|
+
"card.header.parts.passkey": "una clave de acceso",
|
|
2823
|
+
"card.header.parts.webauthn": "una clave de seguridad",
|
|
2824
|
+
"card.header.parts.identifier-first": "tu {identifierLabel}",
|
|
2825
|
+
"card.header.description.login": "Iniciar sesi\xF3n con {identifierLabel}",
|
|
2826
|
+
"card.header.description.registration": "Registrarse con {identifierLabel}",
|
|
2827
|
+
"misc.or": "o",
|
|
2828
|
+
"forms.label.forgot-password": "\xBFOlvidaste tu contrase\xF1a?",
|
|
2829
|
+
"settings.oidc.info": "Las cuentas conectadas de estos proveedores se pueden utilizar para iniciar sesi\xF3n en tu cuenta",
|
|
2830
|
+
"settings.webauthn.info": "Los tokens de hardware se utilizan para la autenticaci\xF3n de segundo factor o como primer factor con las claves de acceso",
|
|
2831
|
+
"settings.passkey.info": "Administra la configuraci\xF3n de tus claves de acceso",
|
|
2832
|
+
"card.footer.select-another-method": "Seleccionar otro m\xE9todo",
|
|
2833
|
+
"account-linking.title": "Vincular cuenta",
|
|
2834
|
+
"property.password": "contrase\xF1a",
|
|
2835
|
+
"property.email": "correo electr\xF3nico",
|
|
2836
|
+
"property.phone": "tel\xE9fono",
|
|
2837
|
+
"property.username": "nombre de usuario",
|
|
2838
|
+
"property.identifier": "identificador",
|
|
2839
|
+
"property.code": "c\xF3digo",
|
|
2840
|
+
"error.title.what-happened": "\xBFQu\xE9 pas\xF3?",
|
|
2841
|
+
"error.title.what-can-i-do": "\xBFQu\xE9 puedo hacer?",
|
|
2842
|
+
"error.instructions": "Por favor, int\xE9ntalo de nuevo en unos minutos o contacta al operador del sitio web.",
|
|
2843
|
+
"error.footer.text": "Al informar este error, incluye la siguiente informaci\xF3n:",
|
|
2844
|
+
"error.footer.copy": "Copiar",
|
|
2845
|
+
"error.action.go-back": "Regresar",
|
|
2846
|
+
"identities.messages.1010020": "",
|
|
2847
|
+
"identities.messages.1050020": 'Eliminar passkey "{display_name}"'
|
|
2440
2848
|
};
|
|
2441
2849
|
|
|
2442
2850
|
// src/locales/fr.json
|
|
@@ -2462,9 +2870,9 @@ var fr_default = {
|
|
|
2462
2870
|
"identities.messages.1010005": "V\xE9rifier",
|
|
2463
2871
|
"identities.messages.1010006": "Code d'authentification",
|
|
2464
2872
|
"identities.messages.1010007": "Code de r\xE9cup\xE9ration de secours",
|
|
2465
|
-
"identities.messages.1010008": "
|
|
2466
|
-
"identities.messages.1010009": "
|
|
2467
|
-
"identities.messages.1010010": "
|
|
2873
|
+
"identities.messages.1010008": "Continuer avec la cl\xE9 mat\xE9rielle",
|
|
2874
|
+
"identities.messages.1010009": "Continuer",
|
|
2875
|
+
"identities.messages.1010010": "Continuer",
|
|
2468
2876
|
"identities.messages.1010011": "Continuer avec la cl\xE9 de s\xE9curit\xE9",
|
|
2469
2877
|
"identities.messages.1010012": "Pr\xE9parez votre appareil WebAuthn (par exemple, une cl\xE9 de s\xE9curit\xE9, un scanner biom\xE9trique, ...) et appuyez sur Continuer.",
|
|
2470
2878
|
"identities.messages.1010013": "Continuer",
|
|
@@ -2581,7 +2989,15 @@ var fr_default = {
|
|
|
2581
2989
|
"login.subtitle-oauth2": "Pour vous authentifier sur {clientName}",
|
|
2582
2990
|
"login.title": "Se connecter",
|
|
2583
2991
|
"login.title-aal2": "Authentification \xE0 deux facteurs",
|
|
2992
|
+
"login.subtitle-aal2": "Choisissez une m\xE9thode pour compl\xE9ter votre authentification \xE0 deux facteurs",
|
|
2993
|
+
"login.code.subtitle": "Un code de v\xE9rification sera envoy\xE9 par e-mail",
|
|
2994
|
+
"login.webauthn.subtitle": "Veuillez pr\xE9parer votre dispositif WebAuthN",
|
|
2995
|
+
"login.totp.subtitle": "Veuillez saisir le code g\xE9n\xE9r\xE9 par votre application d'authentification",
|
|
2996
|
+
"login.lookup_secret.subtitle": "Veuillez saisir l'un de vos codes de r\xE9cup\xE9ration de secours \xE0 8 chiffres",
|
|
2584
2997
|
"login.title-refresh": "Confirmez que c'est bien vous",
|
|
2998
|
+
"login.2fa.go-back": "Quelque chose ne fonctionne pas ?",
|
|
2999
|
+
"login.2fa.go-back.link": "Retour",
|
|
3000
|
+
"login.2fa.method.go-back": "Choisir une autre m\xE9thode",
|
|
2585
3001
|
"logout.accept-button": "Oui",
|
|
2586
3002
|
"logout.reject-button": "Non",
|
|
2587
3003
|
"logout.title": "Souhaitez-vous vous d\xE9connecter ?",
|
|
@@ -2613,83 +3029,107 @@ var fr_default = {
|
|
|
2613
3029
|
"two-step.passkey.title": "Cl\xE9 de passe (recommand\xE9e)",
|
|
2614
3030
|
"two-step.password.description": "Entrez votre mot de passe associ\xE9 \xE0 votre compte",
|
|
2615
3031
|
"two-step.password.title": "Mot de passe",
|
|
2616
|
-
"two-step.webauthn.description": "Utilisez votre cl\xE9 de s\xE9curit\xE9 pour vous authentifier",
|
|
2617
3032
|
"two-step.webauthn.title": "Cl\xE9 de S\xE9curit\xE9",
|
|
2618
|
-
"
|
|
2619
|
-
"
|
|
2620
|
-
"
|
|
2621
|
-
"
|
|
2622
|
-
"
|
|
2623
|
-
"identities.messages.1010016": "",
|
|
2624
|
-
"identities.messages.1010017": "",
|
|
2625
|
-
"identities.messages.1010018": "",
|
|
2626
|
-
"identities.messages.1010019": "",
|
|
2627
|
-
"identities.messages.1010020": "",
|
|
2628
|
-
"identities.messages.1010021": "",
|
|
2629
|
-
"identities.messages.1010022": "",
|
|
2630
|
-
"identities.messages.1040007": "",
|
|
2631
|
-
"identities.messages.1040008": "",
|
|
2632
|
-
"identities.messages.1040009": "",
|
|
2633
|
-
"identities.messages.1050019": "",
|
|
2634
|
-
"identities.messages.1050020": "",
|
|
2635
|
-
"identities.messages.1070014": "",
|
|
2636
|
-
"identities.messages.4000037": "",
|
|
2637
|
-
"identities.messages.4010009": "",
|
|
2638
|
-
"identities.messages.4010010": "",
|
|
2639
|
-
"input.placeholder": "",
|
|
2640
|
-
"card.header.description.login": "",
|
|
2641
|
-
"card.header.description.registration": "",
|
|
2642
|
-
"card.header.parts.code": "",
|
|
2643
|
-
"card.header.parts.identifier-first": "",
|
|
2644
|
-
"card.header.parts.oidc": "",
|
|
2645
|
-
"card.header.parts.passkey": "",
|
|
2646
|
-
"card.header.parts.password.login": "",
|
|
2647
|
-
"card.header.parts.password.registration": "",
|
|
2648
|
-
"card.header.parts.webauthn": "",
|
|
2649
|
-
"forms.label.forgot-password": "",
|
|
2650
|
-
"login.subtitle": "",
|
|
2651
|
-
"login.subtitle-refresh": "",
|
|
2652
|
-
"misc.or": "",
|
|
2653
|
-
"recovery.subtitle": "",
|
|
2654
|
-
"registration.subtitle": "",
|
|
2655
|
-
"settings.subtitle": "",
|
|
2656
|
-
"verification.subtitle": "",
|
|
3033
|
+
"two-step.webauthn.description": "Utilisez votre cl\xE9 de s\xE9curit\xE9 pour vous authentifier",
|
|
3034
|
+
"two-step.totp.title": "Utilisez votre application d'authentification (TOTP)",
|
|
3035
|
+
"two-step.totp.description": "Utilisez un code \xE0 usage unique \xE0 6 chiffres provenant de votre application d'authentification",
|
|
3036
|
+
"two-step.lookup_secret.title": "Code de r\xE9cup\xE9ration de secours",
|
|
3037
|
+
"two-step.lookup_secret.description": "Utilisez l'un de vos codes de secours \xE0 8 chiffres pour vous authentifier",
|
|
2657
3038
|
"settings.totp.info.linked": "Vous avez actuellement une application d'authentification connect\xE9e.",
|
|
2658
3039
|
"settings.totp.info.not-linked": "Pour activer, scannez le QR code avec votre authentificateur et entrez le code.",
|
|
2659
3040
|
"settings.totp.title": "Application d'authentification",
|
|
2660
3041
|
"settings.totp.description": "Ajoutez une application d'authentification TOTP \xE0 votre compte pour am\xE9liorer la s\xE9curit\xE9 de votre compte. Les applications d'authentification populaires sont LastPass et Google Authenticator.",
|
|
2661
|
-
"
|
|
2662
|
-
"
|
|
2663
|
-
"
|
|
2664
|
-
"
|
|
2665
|
-
"
|
|
2666
|
-
"
|
|
2667
|
-
"
|
|
2668
|
-
"
|
|
2669
|
-
"
|
|
2670
|
-
"
|
|
2671
|
-
"
|
|
2672
|
-
"
|
|
2673
|
-
"
|
|
2674
|
-
"
|
|
2675
|
-
"
|
|
2676
|
-
"
|
|
2677
|
-
"
|
|
2678
|
-
"
|
|
2679
|
-
"
|
|
2680
|
-
"
|
|
2681
|
-
"
|
|
2682
|
-
"
|
|
2683
|
-
"
|
|
2684
|
-
"
|
|
2685
|
-
"
|
|
2686
|
-
"
|
|
2687
|
-
"
|
|
2688
|
-
"
|
|
2689
|
-
"
|
|
2690
|
-
"
|
|
2691
|
-
"
|
|
2692
|
-
"
|
|
3042
|
+
"consent.title": "Autoriser {party}",
|
|
3043
|
+
"consent.subtitle": "Une application tierce souhaite acc\xE9der aux informations associ\xE9es \xE0 votre compte {identifier}.",
|
|
3044
|
+
"consent.scope.openid.title": "Identit\xE9",
|
|
3045
|
+
"consent.scope.openid.description": "Permet \xE0 l'application de v\xE9rifier votre identit\xE9. Cela est n\xE9cessaire pour l'authentification et une exp\xE9rience de connexion fiable.",
|
|
3046
|
+
"consent.scope.offline_access.title": "Acc\xE8s hors ligne",
|
|
3047
|
+
"consent.scope.offline_access.description": "Permet \xE0 cette application de vous maintenir connect\xE9 m\xEAme lorsque vous ne l'utilisez pas activement.",
|
|
3048
|
+
"consent.scope.profile.title": "Informations de profil",
|
|
3049
|
+
"consent.scope.profile.description": "Permet l'acc\xE8s aux d\xE9tails de base de votre profil, y compris votre nom d'utilisateur, pr\xE9nom et nom.",
|
|
3050
|
+
"consent.scope.email.title": "Adresse e-mail",
|
|
3051
|
+
"consent.scope.email.description": "R\xE9cup\xE8re votre adresse e-mail et son statut de v\xE9rification.",
|
|
3052
|
+
"consent.scope.address.title": "Adresse physique",
|
|
3053
|
+
"consent.scope.address.description": "Acc\xE8de \xE0 votre adresse postale.",
|
|
3054
|
+
"consent.scope.phone.title": "Num\xE9ro de t\xE9l\xE9phone",
|
|
3055
|
+
"consent.scope.phone.description": "R\xE9cup\xE8re votre num\xE9ro de t\xE9l\xE9phone et son statut de v\xE9rification.",
|
|
3056
|
+
"identities.messages.1010016": "Vous avez essay\xE9 de vous connecter avec \xAB {duplicateIdentifier} \xBB, mais cet e-mail est d\xE9j\xE0 utilis\xE9 par un autre compte. Connectez-vous \xE0 votre compte avec l'une des options ci-dessous pour ajouter votre compte \xAB {duplicateIdentifier} \xBB sur \xAB {provider} \xBB comme autre moyen de vous connecter.",
|
|
3057
|
+
"identities.messages.1010017": "Se connecter et lier",
|
|
3058
|
+
"identities.messages.1010018": "Confirmer avec {provider}",
|
|
3059
|
+
"identities.messages.1010019": "Demander un code pour continuer",
|
|
3060
|
+
"identities.messages.1010021": "Se connecter avec une cl\xE9 d'acc\xE8s",
|
|
3061
|
+
"identities.messages.1010022": "Se connecter avec un mot de passe",
|
|
3062
|
+
"identities.messages.1010023": "Envoyer le code \xE0 {address}",
|
|
3063
|
+
"identities.messages.1040007": "S'inscrire avec une cl\xE9 d'acc\xE8s",
|
|
3064
|
+
"identities.messages.1040008": "Retour",
|
|
3065
|
+
"identities.messages.1040009": "Veuillez choisir une identification pour vous authentifier.",
|
|
3066
|
+
"identities.messages.1050019": "Ajouter une cl\xE9 d'acc\xE8s",
|
|
3067
|
+
"identities.messages.1050020": "Supprimer la cl\xE9 d'acc\xE8s \xAB {display_name} \xBB",
|
|
3068
|
+
"identities.messages.1070014": "Se connecter et lier l'identification",
|
|
3069
|
+
"identities.messages.1070015": "Veuillez compl\xE9ter le d\xE9fi captcha pour continuer.",
|
|
3070
|
+
"identities.messages.4000037": "Ce compte n'existe pas ou n'a aucune m\xE9thode de connexion configur\xE9e.",
|
|
3071
|
+
"identities.messages.4000038": "La v\xE9rification Captcha a \xE9chou\xE9, veuillez r\xE9essayer.",
|
|
3072
|
+
"identities.messages.4010009": "Les identifications li\xE9es ne correspondent pas.",
|
|
3073
|
+
"identities.messages.4010010": "L'adresse que vous avez saisie ne correspond \xE0 aucune adresse connue dans le compte actuel.",
|
|
3074
|
+
"login.cancel-button": "Annuler",
|
|
3075
|
+
"login.cancel-label": "Ce n'est pas le bon compte\xA0?",
|
|
3076
|
+
"login.subtitle": "Se connecter avec {parts}",
|
|
3077
|
+
"login.subtitle-refresh": "Confirmez votre identit\xE9 avec {parts}",
|
|
3078
|
+
"recovery.subtitle": "Saisissez l'adresse e-mail associ\xE9e \xE0 votre compte pour recevoir un code d'acc\xE8s unique",
|
|
3079
|
+
"registration.subtitle": "S'inscrire avec {parts}",
|
|
3080
|
+
"settings.subtitle": "Mettre \xE0 jour les param\xE8tres de votre compte",
|
|
3081
|
+
"settings.title-lookup-secret": "G\xE9rer les codes de r\xE9cup\xE9ration de sauvegarde 2FA",
|
|
3082
|
+
"settings.title-navigation": "Param\xE8tres du compte",
|
|
3083
|
+
"settings.title-oidc": "Connexion via les r\xE9seaux sociaux",
|
|
3084
|
+
"settings.title-password": "Changer le mot de passe",
|
|
3085
|
+
"settings.title-profile": "Param\xE8tres du profil",
|
|
3086
|
+
"settings.title-totp": "G\xE9rer l'application d'authentification 2FA TOTP",
|
|
3087
|
+
"settings.title-webauthn": "G\xE9rer les jetons mat\xE9riels",
|
|
3088
|
+
"settings.title-passkey": "G\xE9rer les cl\xE9s d'acc\xE8s",
|
|
3089
|
+
"settings.navigation.title": "Param\xE8tres du compte",
|
|
3090
|
+
"settings.password.title": "Changer le mot de passe",
|
|
3091
|
+
"settings.password.description": "Modifier votre mot de passe",
|
|
3092
|
+
"settings.profile.title": "Param\xE8tres du profil",
|
|
3093
|
+
"settings.profile.description": "Mettre \xE0 jour les informations de votre profil",
|
|
3094
|
+
"settings.webauthn.title": "G\xE9rer les jetons mat\xE9riels",
|
|
3095
|
+
"settings.webauthn.description": "G\xE9rer les param\xE8tres de votre jeton mat\xE9riel",
|
|
3096
|
+
"verification.subtitle": "Saisissez l'adresse e-mail associ\xE9e \xE0 votre compte pour la v\xE9rifier",
|
|
3097
|
+
"input.placeholder": "Saisissez votre {placeholder}",
|
|
3098
|
+
"card.header.parts.oidc": "un fournisseur de r\xE9seaux sociaux",
|
|
3099
|
+
"card.header.parts.password.registration": "votre {identifierLabel} et un mot de passe",
|
|
3100
|
+
"card.header.parts.password.login": "votre {identifierLabel} et votre mot de passe",
|
|
3101
|
+
"card.header.parts.code": "un code envoy\xE9 \xE0 votre adresse e-mail",
|
|
3102
|
+
"card.header.parts.passkey": "une cl\xE9 d'acc\xE8s",
|
|
3103
|
+
"card.header.parts.webauthn": "une cl\xE9 de s\xE9curit\xE9",
|
|
3104
|
+
"card.header.parts.identifier-first": "votre {identifierLabel}",
|
|
3105
|
+
"card.header.description.login": "Se connecter avec {identifierLabel}",
|
|
3106
|
+
"card.header.description.registration": "S'inscrire avec {identifierLabel}",
|
|
3107
|
+
"misc.or": "ou",
|
|
3108
|
+
"forms.label.forgot-password": "Mot de passe oubli\xE9?",
|
|
3109
|
+
"settings.lookup_secret.title": "Codes de r\xE9cup\xE9ration de sauvegarde (second facteur)",
|
|
3110
|
+
"settings.lookup_secret.description": "Les codes de r\xE9cup\xE9ration sont une sauvegarde s\xE9curis\xE9e pour l'authentification \xE0 deux facteurs (2FA), vous permettant de retrouver l'acc\xE8s \xE0 votre compte si vous perdez votre appareil 2FA.",
|
|
3111
|
+
"settings.oidc.title": "Comptes connect\xE9s",
|
|
3112
|
+
"settings.oidc.description": "Connectez un fournisseur de connexion sociale \xE0 votre compte.",
|
|
3113
|
+
"settings.oidc.info": "Les comptes connect\xE9s de ces fournisseurs peuvent \xEAtre utilis\xE9s pour vous connecter \xE0 votre compte",
|
|
3114
|
+
"settings.webauthn.info": "Les jetons mat\xE9riels sont utilis\xE9s pour l'authentification \xE0 deux facteurs ou comme premier facteur avec les cl\xE9s d'acc\xE8s",
|
|
3115
|
+
"settings.passkey.title": "G\xE9rer les cl\xE9s d'acc\xE8s",
|
|
3116
|
+
"settings.passkey.description": "G\xE9rer les param\xE8tres de vos cl\xE9s d'acc\xE8s",
|
|
3117
|
+
"settings.passkey.info": "G\xE9rer les param\xE8tres de vos cl\xE9s d'acc\xE8s",
|
|
3118
|
+
"card.footer.select-another-method": "S\xE9lectionner une autre m\xE9thode",
|
|
3119
|
+
"account-linking.title": "Lier le compte",
|
|
3120
|
+
"property.password": "mot de passe",
|
|
3121
|
+
"property.email": "e-mail",
|
|
3122
|
+
"property.phone": "t\xE9l\xE9phone",
|
|
3123
|
+
"property.username": "nom d'utilisateur",
|
|
3124
|
+
"property.identifier": "identifiant",
|
|
3125
|
+
"property.code": "code",
|
|
3126
|
+
"error.title.what-happened": "Que s'est-il pass\xE9?",
|
|
3127
|
+
"error.title.what-can-i-do": "Que puis-je faire?",
|
|
3128
|
+
"error.instructions": "Veuillez r\xE9essayer dans quelques minutes ou contacter l'op\xE9rateur du site Web.",
|
|
3129
|
+
"error.footer.text": "Lorsque vous signalez cette erreur, veuillez inclure les informations suivantes:",
|
|
3130
|
+
"error.footer.copy": "Copier",
|
|
3131
|
+
"error.action.go-back": "Retour",
|
|
3132
|
+
"identities.messages.1010020": ""
|
|
2693
3133
|
};
|
|
2694
3134
|
|
|
2695
3135
|
// src/locales/nl.json
|
|
@@ -2715,9 +3155,9 @@ var nl_default = {
|
|
|
2715
3155
|
"identities.messages.1010005": "Verifi\xEBren",
|
|
2716
3156
|
"identities.messages.1010006": "Verificatiecode",
|
|
2717
3157
|
"identities.messages.1010007": "Back-up herstelcode",
|
|
2718
|
-
"identities.messages.1010008": "
|
|
2719
|
-
"identities.messages.1010009": "
|
|
2720
|
-
"identities.messages.1010010": "
|
|
3158
|
+
"identities.messages.1010008": "Ga verder met hardware-sleutel",
|
|
3159
|
+
"identities.messages.1010009": "Doorgaan",
|
|
3160
|
+
"identities.messages.1010010": "Doorgaan",
|
|
2721
3161
|
"identities.messages.1010011": "Doorgaan met beveiligingssleutel",
|
|
2722
3162
|
"identities.messages.1010012": "Bereid uw WebAuthn-apparaat voor (bijv. beveiligingssleutel, biometrische scanner, ...) en druk op doorgaan.",
|
|
2723
3163
|
"identities.messages.1010013": "Doorgaan",
|
|
@@ -2833,8 +3273,16 @@ var nl_default = {
|
|
|
2833
3273
|
"login.registration-label": "Heb je nog geen account?",
|
|
2834
3274
|
"login.subtitle-oauth2": "Om te authenticeren bij {clientName}",
|
|
2835
3275
|
"login.title": "Inloggen",
|
|
2836
|
-
"login.title-aal2": "
|
|
3276
|
+
"login.title-aal2": "Tweefactorauthenticatie",
|
|
3277
|
+
"login.subtitle-aal2": "Kies een manier om uw tweefactorauthenticatie te voltooien",
|
|
3278
|
+
"login.code.subtitle": "Er wordt een verificatiecode per e-mail verzonden",
|
|
3279
|
+
"login.webauthn.subtitle": "Bereid uw WebAuthN-apparaat voor",
|
|
3280
|
+
"login.totp.subtitle": "Voer de code in die door uw Authenticator-app is gegenereerd",
|
|
3281
|
+
"login.lookup_secret.subtitle": "Voer een van uw 8-cijferige back-up herstelcodes in",
|
|
2837
3282
|
"login.title-refresh": "Bevestig dat jij het bent",
|
|
3283
|
+
"login.2fa.go-back": "Werkt er iets niet?",
|
|
3284
|
+
"login.2fa.go-back.link": "Ga terug",
|
|
3285
|
+
"login.2fa.method.go-back": "Kies een andere methode",
|
|
2838
3286
|
"logout.accept-button": "Ja",
|
|
2839
3287
|
"logout.reject-button": "Nee",
|
|
2840
3288
|
"logout.title": "Wil je uitloggen?",
|
|
@@ -2866,8 +3314,12 @@ var nl_default = {
|
|
|
2866
3314
|
"two-step.passkey.title": "Toegangscode (aanbevolen)",
|
|
2867
3315
|
"two-step.password.description": "Voer uw wachtwoord in dat is gekoppeld aan uw account",
|
|
2868
3316
|
"two-step.password.title": "Wachtwoord",
|
|
2869
|
-
"two-step.webauthn.description": "Gebruik uw beveiligingssleutel om te verifi\xEBren",
|
|
2870
3317
|
"two-step.webauthn.title": "Beveiligingssleutel",
|
|
3318
|
+
"two-step.webauthn.description": "Gebruik uw beveiligingssleutel om te verifi\xEBren",
|
|
3319
|
+
"two-step.totp.title": "Gebruik uw Authenticator-app (TOTP)",
|
|
3320
|
+
"two-step.totp.description": "Gebruik een 6-cijferige eenmalige code van uw authenticator-app",
|
|
3321
|
+
"two-step.lookup_secret.title": "Herstelcode",
|
|
3322
|
+
"two-step.lookup_secret.description": "Gebruik een van uw 8-cijferige back-upcodes om te authenticeren",
|
|
2871
3323
|
"identities.messages.1010023": "",
|
|
2872
3324
|
"identities.messages.1070014": "",
|
|
2873
3325
|
"identities.messages.1070015": "",
|
|
@@ -2942,7 +3394,27 @@ var nl_default = {
|
|
|
2942
3394
|
"property.identifier": "",
|
|
2943
3395
|
"property.password": "",
|
|
2944
3396
|
"property.phone": "",
|
|
2945
|
-
"property.username": ""
|
|
3397
|
+
"property.username": "",
|
|
3398
|
+
"consent.title": "Autoriseren {party}",
|
|
3399
|
+
"consent.subtitle": "Een derde partij applicatie wil toegang tot informatie die aan uw account {identifier} is gekoppeld.",
|
|
3400
|
+
"consent.scope.openid.title": "Identiteit",
|
|
3401
|
+
"consent.scope.openid.description": "Stelt de applicatie in staat uw identiteit te verifi\xEBren. Dit is vereist voor authenticatie en een betrouwbare inlogervaring.",
|
|
3402
|
+
"consent.scope.offline_access.title": "Offline toegang",
|
|
3403
|
+
"consent.scope.offline_access.description": "Stelt deze applicatie in staat u ingelogd te houden, zelfs wanneer u deze niet actief gebruikt.",
|
|
3404
|
+
"consent.scope.profile.title": "Profielinformatie",
|
|
3405
|
+
"consent.scope.profile.description": "Geeft toegang tot uw basisprofielgegevens, inclusief uw gebruikersnaam, voornaam en achternaam.",
|
|
3406
|
+
"consent.scope.email.title": "E-mailadres",
|
|
3407
|
+
"consent.scope.email.description": "Haal uw e-mailadres en de verificatiestatus ervan op.",
|
|
3408
|
+
"consent.scope.address.title": "Fysiek adres",
|
|
3409
|
+
"consent.scope.address.description": "Toegang tot uw postadres.",
|
|
3410
|
+
"consent.scope.phone.title": "Telefoonnummer",
|
|
3411
|
+
"consent.scope.phone.description": "Haal uw telefoonnummer en de verificatiestatus ervan op.",
|
|
3412
|
+
"error.action.go-back": "",
|
|
3413
|
+
"error.footer.copy": "",
|
|
3414
|
+
"error.footer.text": "",
|
|
3415
|
+
"error.title.what-can-i-do": "",
|
|
3416
|
+
"error.title.what-happened": "",
|
|
3417
|
+
"error.instructions": ""
|
|
2946
3418
|
};
|
|
2947
3419
|
|
|
2948
3420
|
// src/locales/pl.json
|
|
@@ -2968,9 +3440,9 @@ var pl_default = {
|
|
|
2968
3440
|
"identities.messages.1010005": "Zweryifkuj",
|
|
2969
3441
|
"identities.messages.1010006": "Kod autentykacyjny",
|
|
2970
3442
|
"identities.messages.1010007": "Zapasowe kody odzyskiwania",
|
|
2971
|
-
"identities.messages.1010008": "
|
|
2972
|
-
"identities.messages.1010009": "
|
|
2973
|
-
"identities.messages.1010010": "
|
|
3443
|
+
"identities.messages.1010008": "Kontynuuj z kluczem sprz\u0119towym",
|
|
3444
|
+
"identities.messages.1010009": "Kontynuuj",
|
|
3445
|
+
"identities.messages.1010010": "Kontynuuj",
|
|
2974
3446
|
"identities.messages.1010011": "Kontynuuj za pomoc\u0105 klucza bezpiecze\u0144stwa",
|
|
2975
3447
|
"identities.messages.1010012": "Przygotuj swoje urz\u0105dzenie WebAuthn (np. klucz bezpiecze\u0144stwa, czytnik biometryczny, ...) a nast\u0119pnie kliknij kontynuuj.",
|
|
2976
3448
|
"identities.messages.1010013": "Kontynuuj",
|
|
@@ -3086,8 +3558,16 @@ var pl_default = {
|
|
|
3086
3558
|
"login.registration-label": "Nie posiadasz konta?",
|
|
3087
3559
|
"login.subtitle-oauth2": "Do autentykacji {clientName}",
|
|
3088
3560
|
"login.title": "Zaloguj si\u0119",
|
|
3089
|
-
"login.title-aal2": "
|
|
3561
|
+
"login.title-aal2": "Uwierzytelnianie dwusk\u0142adnikowe",
|
|
3562
|
+
"login.subtitle-aal2": "Wybierz spos\xF3b, aby zako\u0144czy\u0107 uwierzytelnianie dwusk\u0142adnikowe",
|
|
3563
|
+
"login.code.subtitle": "Kod weryfikacyjny zostanie wys\u0142any e-mailem",
|
|
3564
|
+
"login.webauthn.subtitle": "Prosz\u0119 przygotowa\u0107 urz\u0105dzenie WebAuthN",
|
|
3565
|
+
"login.totp.subtitle": "Prosz\u0119 wprowadzi\u0107 kod wygenerowany przez Twoj\u0105 aplikacj\u0119 uwierzytelniaj\u0105c\u0105",
|
|
3566
|
+
"login.lookup_secret.subtitle": "Prosz\u0119 wprowadzi\u0107 jeden z Twoich 8-cyfrowych kod\xF3w odzyskiwania zapasowego",
|
|
3090
3567
|
"login.title-refresh": "Potwierd\u017A \u017Ce to Ty",
|
|
3568
|
+
"login.2fa.go-back": "Co\u015B nie dzia\u0142a?",
|
|
3569
|
+
"login.2fa.go-back.link": "Wr\xF3\u0107",
|
|
3570
|
+
"login.2fa.method.go-back": "Wybierz inn\u0105 metod\u0119",
|
|
3091
3571
|
"logout.accept-button": "Tak",
|
|
3092
3572
|
"logout.reject-button": "Nie",
|
|
3093
3573
|
"logout.title": "Czy chcesz si\u0119 wylogowa\u0107?",
|
|
@@ -3119,8 +3599,12 @@ var pl_default = {
|
|
|
3119
3599
|
"two-step.passkey.title": "Klucz dost\u0119pu (zalecany)",
|
|
3120
3600
|
"two-step.password.description": "Wprowad\u017A has\u0142o powi\u0105zane z twoim kontem",
|
|
3121
3601
|
"two-step.password.title": "Has\u0142o",
|
|
3122
|
-
"two-step.webauthn.description": "U\u017Cyj swojego klucza bezpiecze\u0144stwa do uwierzytelnienia",
|
|
3123
3602
|
"two-step.webauthn.title": "Klucz bezpiecze\u0144stwa",
|
|
3603
|
+
"two-step.webauthn.description": "U\u017Cyj swojego klucza bezpiecze\u0144stwa do uwierzytelnienia",
|
|
3604
|
+
"two-step.totp.title": "U\u017Cyj swojej aplikacji uwierzytelniaj\u0105cej (TOTP)",
|
|
3605
|
+
"two-step.totp.description": "U\u017Cyj 6-cyfrowego jednorazowego kodu z Twojej aplikacji uwierzytelniaj\u0105cej",
|
|
3606
|
+
"two-step.lookup_secret.title": "Kod odzyskiwania zapasowego",
|
|
3607
|
+
"two-step.lookup_secret.description": "U\u017Cyj jednego z Twoich 8-cyfrowych kod\xF3w zapasowych, aby si\u0119 uwierzytelni\u0107",
|
|
3124
3608
|
"identities.messages.1010016": "",
|
|
3125
3609
|
"identities.messages.1010017": "",
|
|
3126
3610
|
"identities.messages.1010018": "",
|
|
@@ -3195,7 +3679,27 @@ var pl_default = {
|
|
|
3195
3679
|
"property.password": "",
|
|
3196
3680
|
"property.phone": "",
|
|
3197
3681
|
"property.username": "",
|
|
3198
|
-
"property.identifier": ""
|
|
3682
|
+
"property.identifier": "",
|
|
3683
|
+
"consent.title": "Autoryzuj {party}",
|
|
3684
|
+
"consent.subtitle": "Aplikacja trzeciej strony chce uzyska\u0107 dost\u0119p do informacji powi\u0105zanych z Twoim kontem {identifier}.",
|
|
3685
|
+
"consent.scope.openid.title": "To\u017Csamo\u015B\u0107",
|
|
3686
|
+
"consent.scope.openid.description": "Pozwala aplikacji zweryfikowa\u0107 Twoj\u0105 to\u017Csamo\u015B\u0107. Jest to wymagane do uwierzytelniania i zapewnienia zaufanej sesji logowania.",
|
|
3687
|
+
"consent.scope.offline_access.title": "Dost\u0119p offline",
|
|
3688
|
+
"consent.scope.offline_access.description": "Pozwala aplikacji utrzyma\u0107 Twoje logowanie, nawet gdy nie korzystasz z niej aktywnie.",
|
|
3689
|
+
"consent.scope.profile.title": "Informacje profilowe",
|
|
3690
|
+
"consent.scope.profile.description": "Pozwala na dost\u0119p do podstawowych danych profilowych, w tym nazwy u\u017Cytkownika, imienia i nazwiska.",
|
|
3691
|
+
"consent.scope.email.title": "Adres e-mail",
|
|
3692
|
+
"consent.scope.email.description": "Pobierz sw\xF3j adres e-mail oraz status jego weryfikacji.",
|
|
3693
|
+
"consent.scope.address.title": "Adres fizyczny",
|
|
3694
|
+
"consent.scope.address.description": "Dost\u0119p do Twojego adresu pocztowego.",
|
|
3695
|
+
"consent.scope.phone.title": "Numer telefonu",
|
|
3696
|
+
"consent.scope.phone.description": "Pobierz sw\xF3j numer telefonu oraz status jego weryfikacji.",
|
|
3697
|
+
"error.action.go-back": "",
|
|
3698
|
+
"error.footer.copy": "",
|
|
3699
|
+
"error.footer.text": "",
|
|
3700
|
+
"error.title.what-can-i-do": "",
|
|
3701
|
+
"error.title.what-happened": "",
|
|
3702
|
+
"error.instructions": ""
|
|
3199
3703
|
};
|
|
3200
3704
|
|
|
3201
3705
|
// src/locales/pt.json
|
|
@@ -3221,9 +3725,9 @@ var pt_default = {
|
|
|
3221
3725
|
"identities.messages.1010005": "Verificar",
|
|
3222
3726
|
"identities.messages.1010006": "C\xF3digo de Autentica\xE7\xE3o",
|
|
3223
3727
|
"identities.messages.1010007": "C\xF3digo de Recupera\xE7\xE3o de Backup",
|
|
3224
|
-
"identities.messages.1010008": "
|
|
3225
|
-
"identities.messages.1010009": "
|
|
3226
|
-
"identities.messages.1010010": "
|
|
3728
|
+
"identities.messages.1010008": "Continuar com chave de hardware",
|
|
3729
|
+
"identities.messages.1010009": "Continuar",
|
|
3730
|
+
"identities.messages.1010010": "Continuar",
|
|
3227
3731
|
"identities.messages.1010011": "Continuar com a chave de seguran\xE7a",
|
|
3228
3732
|
"identities.messages.1010012": "Prepare o seu dispositivo WebAuthn (por exemplo, chave de seguran\xE7a, scanner biom\xE9trico, ...) e pressione continuar.",
|
|
3229
3733
|
"identities.messages.1010013": "Continuar",
|
|
@@ -3339,8 +3843,16 @@ var pt_default = {
|
|
|
3339
3843
|
"login.registration-label": "N\xE3o tem uma conta?",
|
|
3340
3844
|
"login.subtitle-oauth2": "Para autenticar {clientName}",
|
|
3341
3845
|
"login.title": "Entrar",
|
|
3342
|
-
"login.title-aal2": "Autentica\xE7\xE3o de
|
|
3846
|
+
"login.title-aal2": "Autentica\xE7\xE3o de dois fatores",
|
|
3847
|
+
"login.subtitle-aal2": "Escolha uma forma de completar sua autentica\xE7\xE3o de segundo fator",
|
|
3848
|
+
"login.code.subtitle": "Um c\xF3digo de verifica\xE7\xE3o ser\xE1 enviado por e-mail",
|
|
3849
|
+
"login.webauthn.subtitle": "Por favor, prepare seu dispositivo WebAuthN",
|
|
3850
|
+
"login.totp.subtitle": "Digite o c\xF3digo gerado pelo seu aplicativo autenticador",
|
|
3851
|
+
"login.lookup_secret.subtitle": "Digite um dos seus c\xF3digos de recupera\xE7\xE3o de 8 d\xEDgitos",
|
|
3343
3852
|
"login.title-refresh": "Confirme que \xE9 voc\xEA",
|
|
3853
|
+
"login.2fa.go-back": "Algo n\xE3o est\xE1 funcionando?",
|
|
3854
|
+
"login.2fa.go-back.link": "Voltar",
|
|
3855
|
+
"login.2fa.method.go-back": "Escolher outro m\xE9todo",
|
|
3344
3856
|
"logout.accept-button": "Sim",
|
|
3345
3857
|
"logout.reject-button": "N\xE3o",
|
|
3346
3858
|
"logout.title": "Deseja sair?",
|
|
@@ -3372,8 +3884,12 @@ var pt_default = {
|
|
|
3372
3884
|
"two-step.passkey.title": "Chave de acesso (recomendado)",
|
|
3373
3885
|
"two-step.password.description": "Insira a sua senha associada \xE0 sua conta",
|
|
3374
3886
|
"two-step.password.title": "Senha",
|
|
3375
|
-
"two-step.webauthn.description": "Use sua chave de seguran\xE7a para autenticar",
|
|
3376
3887
|
"two-step.webauthn.title": "Chave de Seguran\xE7a",
|
|
3888
|
+
"two-step.webauthn.description": "Use sua chave de seguran\xE7a para autenticar",
|
|
3889
|
+
"two-step.totp.title": "Use seu aplicativo autenticador (TOTP)",
|
|
3890
|
+
"two-step.totp.description": "Use um c\xF3digo \xFAnico de 6 d\xEDgitos do seu aplicativo autenticador",
|
|
3891
|
+
"two-step.lookup_secret.title": "C\xF3digo de recupera\xE7\xE3o de backup",
|
|
3892
|
+
"two-step.lookup_secret.description": "Use um dos seus c\xF3digos de backup de 8 d\xEDgitos para autenticar",
|
|
3377
3893
|
"identities.messages.1010016": "",
|
|
3378
3894
|
"identities.messages.1010017": "",
|
|
3379
3895
|
"identities.messages.1010018": "",
|
|
@@ -3448,7 +3964,27 @@ var pt_default = {
|
|
|
3448
3964
|
"property.identifier": "",
|
|
3449
3965
|
"property.password": "",
|
|
3450
3966
|
"property.phone": "",
|
|
3451
|
-
"property.username": ""
|
|
3967
|
+
"property.username": "",
|
|
3968
|
+
"consent.title": "Autorizar {party}",
|
|
3969
|
+
"consent.subtitle": "Um aplicativo de terceiros deseja acessar as informa\xE7\xF5es associadas \xE0 sua conta {identifier}.",
|
|
3970
|
+
"consent.scope.openid.title": "Identidade",
|
|
3971
|
+
"consent.scope.openid.description": "Permite que a aplica\xE7\xE3o verifique sua identidade. Isso \xE9 necess\xE1rio para a autentica\xE7\xE3o e uma experi\xEAncia de login confi\xE1vel.",
|
|
3972
|
+
"consent.scope.offline_access.title": "Acesso Offline",
|
|
3973
|
+
"consent.scope.offline_access.description": "Permite que este aplicativo mantenha voc\xEA conectado mesmo quando n\xE3o estiver usando-o ativamente.",
|
|
3974
|
+
"consent.scope.profile.title": "Informa\xE7\xF5es do Perfil",
|
|
3975
|
+
"consent.scope.profile.description": "Permite o acesso aos detalhes b\xE1sicos do seu perfil, incluindo seu nome de usu\xE1rio, primeiro nome e sobrenome.",
|
|
3976
|
+
"consent.scope.email.title": "Endere\xE7o de E-mail",
|
|
3977
|
+
"consent.scope.email.description": "Recupere seu endere\xE7o de e-mail e seu status de verifica\xE7\xE3o.",
|
|
3978
|
+
"consent.scope.address.title": "Endere\xE7o F\xEDsico",
|
|
3979
|
+
"consent.scope.address.description": "Acesse seu endere\xE7o postal.",
|
|
3980
|
+
"consent.scope.phone.title": "N\xFAmero de Telefone",
|
|
3981
|
+
"consent.scope.phone.description": "Recupere seu n\xFAmero de telefone e seu status de verifica\xE7\xE3o.",
|
|
3982
|
+
"error.action.go-back": "",
|
|
3983
|
+
"error.footer.copy": "",
|
|
3984
|
+
"error.footer.text": "",
|
|
3985
|
+
"error.title.what-can-i-do": "",
|
|
3986
|
+
"error.title.what-happened": "",
|
|
3987
|
+
"error.instructions": ""
|
|
3452
3988
|
};
|
|
3453
3989
|
|
|
3454
3990
|
// src/locales/sv.json
|
|
@@ -3474,9 +4010,9 @@ var sv_default = {
|
|
|
3474
4010
|
"identities.messages.1010005": "Verifiera",
|
|
3475
4011
|
"identities.messages.1010006": "Autentiseringskod",
|
|
3476
4012
|
"identities.messages.1010007": "\xC5terst\xE4llningskod f\xF6r backup",
|
|
3477
|
-
"identities.messages.1010008": "
|
|
3478
|
-
"identities.messages.1010009": "
|
|
3479
|
-
"identities.messages.1010010": "
|
|
4013
|
+
"identities.messages.1010008": "Forts\xE4tt med s\xE4kerhetsnyckel",
|
|
4014
|
+
"identities.messages.1010009": "Forts\xE4tt",
|
|
4015
|
+
"identities.messages.1010010": "Forts\xE4tt",
|
|
3480
4016
|
"identities.messages.1010011": "Forts\xE4tt med s\xE4kerhetsnyckel",
|
|
3481
4017
|
"identities.messages.1010012": "F\xF6rbered din WebAuthn-enhet (t.ex. s\xE4kerhetsnyckel, biometriska skanner, ...) och tryck p\xE5 forts\xE4tt.",
|
|
3482
4018
|
"identities.messages.1010013": "Forts\xE4tt",
|
|
@@ -3611,7 +4147,15 @@ var sv_default = {
|
|
|
3611
4147
|
"login.subtitle-oauth2": "Att autentisera {clientName}",
|
|
3612
4148
|
"login.title": "Logga in",
|
|
3613
4149
|
"login.title-aal2": "Tv\xE5faktorsautentisering",
|
|
4150
|
+
"login.subtitle-aal2": "V\xE4lj ett s\xE4tt att slutf\xF6ra din tv\xE5faktorsautentisering",
|
|
4151
|
+
"login.code.subtitle": "En verifieringskod kommer att skickas via e-post",
|
|
4152
|
+
"login.webauthn.subtitle": "F\xF6rbered din WebAuthN-enhet",
|
|
4153
|
+
"login.totp.subtitle": "Ange koden som genererats av din autentiseringsapp",
|
|
4154
|
+
"login.lookup_secret.subtitle": "Ange en av dina 8-siffriga \xE5terst\xE4llningskoder",
|
|
3614
4155
|
"login.title-refresh": "Bekr\xE4fta att det \xE4r du",
|
|
4156
|
+
"login.2fa.go-back": "N\xE5got fungerar inte?",
|
|
4157
|
+
"login.2fa.go-back.link": "G\xE5 tillbaka",
|
|
4158
|
+
"login.2fa.method.go-back": "V\xE4lj en annan metod",
|
|
3615
4159
|
"logout.accept-button": "Ja",
|
|
3616
4160
|
"logout.reject-button": "Nej",
|
|
3617
4161
|
"logout.title": "Vill du logga ut?",
|
|
@@ -3643,8 +4187,12 @@ var sv_default = {
|
|
|
3643
4187
|
"two-step.passkey.title": "Passerkod (rekommenderad)",
|
|
3644
4188
|
"two-step.password.description": "Ange ditt l\xF6senord kopplat till ditt konto",
|
|
3645
4189
|
"two-step.password.title": "L\xF6senord",
|
|
3646
|
-
"two-step.webauthn.description": "Anv\xE4nd din s\xE4kerhetsnyckel f\xF6r att autentisera",
|
|
3647
4190
|
"two-step.webauthn.title": "S\xE4kerhetsnyckel",
|
|
4191
|
+
"two-step.webauthn.description": "Anv\xE4nd din s\xE4kerhetsnyckel f\xF6r att autentisera",
|
|
4192
|
+
"two-step.totp.title": "Anv\xE4nd din autentiseringsapp (TOTP)",
|
|
4193
|
+
"two-step.totp.description": "Anv\xE4nd en 6-siffrig eng\xE5ngskod fr\xE5n din autentiseringsapp",
|
|
4194
|
+
"two-step.lookup_secret.title": "Reserv\xE5terst\xE4llningskod",
|
|
4195
|
+
"two-step.lookup_secret.description": "Anv\xE4nd en av dina 8-siffriga reservkoder f\xF6r att autentisera",
|
|
3648
4196
|
"identities.messages.4000037": "Detta konto finns inte eller har ingen inloggningsmetod konfigurerad.",
|
|
3649
4197
|
"identities.messages.4000038": "Captcha-verifiering misslyckades, f\xF6rs\xF6k igen.",
|
|
3650
4198
|
"identities.messages.1010020": "",
|
|
@@ -3701,7 +4249,27 @@ var sv_default = {
|
|
|
3701
4249
|
"property.phone": "telefon",
|
|
3702
4250
|
"property.username": "anv\xE4ndarnamn",
|
|
3703
4251
|
"property.identifier": "identifier",
|
|
3704
|
-
"property.code": "kod"
|
|
4252
|
+
"property.code": "kod",
|
|
4253
|
+
"consent.title": "Auktorisera {party}",
|
|
4254
|
+
"consent.subtitle": "En tredjepartsapplikation vill f\xE5 tillg\xE5ng till information kopplad till ditt konto {identifier}.",
|
|
4255
|
+
"consent.scope.openid.title": "Identitet",
|
|
4256
|
+
"consent.scope.openid.description": "G\xF6r det m\xF6jligt f\xF6r applikationen att verifiera din identitet. Detta kr\xE4vs f\xF6r autentisering och en p\xE5litlig inloggningsupplevelse.",
|
|
4257
|
+
"consent.scope.offline_access.title": "Offline-\xE5tkomst",
|
|
4258
|
+
"consent.scope.offline_access.description": "G\xF6r det m\xF6jligt f\xF6r denna applikation att h\xE5lla dig inloggad \xE4ven n\xE4r du inte aktivt anv\xE4nder den.",
|
|
4259
|
+
"consent.scope.profile.title": "Profilinformation",
|
|
4260
|
+
"consent.scope.profile.description": "Ger tillg\xE5ng till dina grundl\xE4ggande profiluppgifter, inklusive ditt anv\xE4ndarnamn, f\xF6rnamn och efternamn.",
|
|
4261
|
+
"consent.scope.email.title": "E-postadress",
|
|
4262
|
+
"consent.scope.email.description": "H\xE4mta din e-postadress och dess verifieringsstatus.",
|
|
4263
|
+
"consent.scope.address.title": "Fysisk adress",
|
|
4264
|
+
"consent.scope.address.description": "F\xE5 \xE5tkomst till din postadress.",
|
|
4265
|
+
"consent.scope.phone.title": "Telefonnummer",
|
|
4266
|
+
"consent.scope.phone.description": "H\xE4mta ditt telefonnummer och dess verifieringsstatus.",
|
|
4267
|
+
"error.action.go-back": "",
|
|
4268
|
+
"error.footer.copy": "",
|
|
4269
|
+
"error.footer.text": "",
|
|
4270
|
+
"error.title.what-can-i-do": "",
|
|
4271
|
+
"error.title.what-happened": "",
|
|
4272
|
+
"error.instructions": ""
|
|
3705
4273
|
};
|
|
3706
4274
|
|
|
3707
4275
|
// src/locales/index.ts
|
|
@@ -3722,6 +4290,7 @@ exports.OryCardContent = OryCardContent;
|
|
|
3722
4290
|
exports.OryCardFooter = OryCardFooter;
|
|
3723
4291
|
exports.OryCardHeader = OryCardHeader;
|
|
3724
4292
|
exports.OryCardValidationMessages = OryCardValidationMessages;
|
|
4293
|
+
exports.OryConsentCard = OryConsentCard;
|
|
3725
4294
|
exports.OryForm = OryForm;
|
|
3726
4295
|
exports.OryFormGroupDivider = OryFormGroupDivider;
|
|
3727
4296
|
exports.OryFormGroups = OryFormGroups;
|