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