@ory/elements-react 1.0.0-next.30 → 1.0.0-next.32

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/dist/index.mjs CHANGED
@@ -38,6 +38,9 @@ var defaultNodeOrder = [
38
38
  "default",
39
39
  "profile",
40
40
  "password",
41
+ // CAPTCHA is below password because otherwise the password input field
42
+ // would be above the captcha. Somehow, we sort the password sign up button somewhere else to be always at the bottom.
43
+ "captcha",
41
44
  "passkey",
42
45
  "code",
43
46
  "webauthn"
@@ -46,6 +49,11 @@ function defaultNodeSorter(a, b) {
46
49
  var _a, _b;
47
50
  const aGroupWeight = (_a = defaultNodeOrder.indexOf(a.group)) != null ? _a : 999;
48
51
  const bGroupWeight = (_b = defaultNodeOrder.indexOf(b.group)) != null ? _b : 999;
52
+ if (b.group === "captcha" && isUiNodeInputAttributes(a.attributes) && a.attributes.type === "submit") {
53
+ return aGroupWeight - (bGroupWeight - 2);
54
+ } else if (a.group === "captcha" && isUiNodeInputAttributes(b.attributes) && b.attributes.type === "submit") {
55
+ return aGroupWeight - 2 - bGroupWeight;
56
+ }
49
57
  return aGroupWeight - bGroupWeight;
50
58
  }
51
59
  var defaultGroupOrder = [
@@ -83,22 +91,23 @@ function OryComponentProvider({
83
91
  }
84
92
  );
85
93
  }
86
- function isChoosingMethod(uiNodes) {
87
- return uiNodes.some(
94
+ function isChoosingMethod(flow) {
95
+ return flow.flow.ui.nodes.some(
88
96
  (node) => "name" in node.attributes && node.attributes.name === "screen" && "value" in node.attributes && node.attributes.value === "previous"
89
- ) || uiNodes.some(
97
+ ) || flow.flow.ui.nodes.some(
90
98
  (node) => node.group === UiNodeGroupEnum.IdentifierFirst && "name" in node.attributes && node.attributes.name === "identifier" && node.attributes.type === "hidden"
91
- );
99
+ ) || flow.flowType === FlowType.Login && flow.flow.requested_aal === "aal2";
92
100
  }
93
101
  function filterOidcOut(nodes) {
94
102
  return nodes.filter((node) => node.group !== UiNodeGroupEnum.Oidc);
95
103
  }
96
104
  function getFinalNodes(uniqueGroups, selectedGroup) {
97
- var _a, _b, _c;
105
+ var _a, _b, _c, _d;
98
106
  const selectedNodes = selectedGroup ? (_a = uniqueGroups[selectedGroup]) != null ? _a : [] : [];
99
107
  return [
100
108
  ...(_b = uniqueGroups == null ? void 0 : uniqueGroups.identifier_first) != null ? _b : [],
101
- ...(_c = uniqueGroups == null ? void 0 : uniqueGroups.default) != null ? _c : []
109
+ ...(_c = uniqueGroups == null ? void 0 : uniqueGroups.default) != null ? _c : [],
110
+ ...(_d = uniqueGroups == null ? void 0 : uniqueGroups.captcha) != null ? _d : []
102
111
  ].flat().filter(
103
112
  (node) => "type" in node.attributes && node.attributes.type === "hidden"
104
113
  ).concat(selectedNodes);
@@ -170,6 +179,7 @@ function nodesToAuthMethodGroups(nodes, excludeAuthMethods = []) {
170
179
  UiNodeGroupEnum.Default,
171
180
  UiNodeGroupEnum.IdentifierFirst,
172
181
  UiNodeGroupEnum.Profile,
182
+ UiNodeGroupEnum.Captcha,
173
183
  ...excludeAuthMethods
174
184
  ].includes(group)
175
185
  );
@@ -198,6 +208,9 @@ function useNodesGroups(nodes) {
198
208
  entries
199
209
  };
200
210
  }
211
+ var findNode = (nodes, opt) => nodes.find((n) => {
212
+ 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);
213
+ });
201
214
 
202
215
  // src/context/form-state.ts
203
216
  function findMethodWithMessage(nodes) {
@@ -221,7 +234,7 @@ function parseStateFromFlow(flow) {
221
234
  return { current: "method_active", method: methodWithMessage.group };
222
235
  } else if (flow.flow.active && !["default", "identifier_first", "oidc"].includes(flow.flow.active)) {
223
236
  return { current: "method_active", method: flow.flow.active };
224
- } else if (isChoosingMethod(flow.flow.ui.nodes)) {
237
+ } else if (isChoosingMethod(flow)) {
225
238
  const authMethods = nodesToAuthMethodGroups(flow.flow.ui.nodes);
226
239
  if (authMethods.length === 1 && authMethods[0] !== "code") {
227
240
  return { current: "method_active", method: authMethods[0] };
@@ -813,10 +826,10 @@ function useOryFormSubmit(onAfterSubmit) {
813
826
  return onSubmit;
814
827
  }
815
828
  function OryForm({ children, onAfterSubmit }) {
816
- var _a;
817
829
  const { Form } = useComponents();
818
830
  const flowContainer = useOryFlow();
819
831
  const methods = useFormContext();
832
+ const { Message } = useComponents();
820
833
  const intl = useIntl();
821
834
  const onSubmit = useOryFormSubmit(onAfterSubmit);
822
835
  const hasMethods = flowContainer.flow.ui.nodes.some((node) => {
@@ -831,11 +844,22 @@ function OryForm({ children, onAfterSubmit }) {
831
844
  }
832
845
  return false;
833
846
  });
834
- if (!hasMethods && ((_a = flowContainer.flow.ui.messages) != null ? _a : []).length === 0) {
835
- return intl.formatMessage({
836
- id: `identities.messages.${5000002}`,
837
- defaultMessage: "No authentication methods are available for this request. Please contact the site or app owner."
838
- });
847
+ if (!hasMethods) {
848
+ const m = {
849
+ id: 5000002,
850
+ text: intl.formatMessage({
851
+ id: `identities.messages.${5000002}`,
852
+ defaultMessage: "No authentication methods are available for this request. Please contact the site or app owner."
853
+ }),
854
+ type: "error"
855
+ };
856
+ return /* @__PURE__ */ jsxs(Fragment, { children: [
857
+ /* @__PURE__ */ jsx(Message.Root, { children: /* @__PURE__ */ jsx(Message.Content, { message: m }, m.id) }),
858
+ /* @__PURE__ */ jsx(OryCardFooter, {})
859
+ ] });
860
+ }
861
+ if (flowContainer.flowType === FlowType.Login && flowContainer.formState.current === "method_active" && flowContainer.formState.method === "code") {
862
+ methods.setValue("method", "code");
839
863
  }
840
864
  return /* @__PURE__ */ jsx(
841
865
  Form.Root,
@@ -950,6 +974,9 @@ var NodeInput = ({
950
974
  };
951
975
  var Node = ({ node, onClick }) => {
952
976
  const { Node: Node2 } = useComponents();
977
+ if (node.group === UiNodeGroupEnum.Captcha) {
978
+ return /* @__PURE__ */ jsx(Node2.Captcha, { node });
979
+ }
953
980
  if (isUiNodeImageAttributes(node.attributes)) {
954
981
  return /* @__PURE__ */ jsx(Node2.Image, { node, attributes: node.attributes });
955
982
  } else if (isUiNodeTextAttributes(node.attributes)) {
@@ -1017,27 +1044,48 @@ function isUINodeGroupEnum(method) {
1017
1044
  return Object.values(UiNodeGroupEnum).includes(method);
1018
1045
  }
1019
1046
  function OryTwoStepCard() {
1020
- const {
1021
- flow: { ui },
1022
- flowType,
1023
- formState,
1024
- dispatchFormState
1025
- } = useOryFlow();
1047
+ var _a, _b, _c, _d, _e;
1026
1048
  const { Form, Card } = useComponents();
1049
+ const { flow, flowType, formState, dispatchFormState } = useOryFlow();
1050
+ const { ui } = flow;
1027
1051
  const nodeSorter = useNodeSorter();
1028
1052
  const sortNodes = (a, b) => nodeSorter(a, b, { flowType });
1029
1053
  const uniqueGroups = useNodesGroups(ui.nodes);
1030
- const options = Object.values(UiNodeGroupEnum).filter((group) => {
1031
- var _a;
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)
1054
+ const options = Object.fromEntries(
1055
+ Object.values(UiNodeGroupEnum).filter((group) => {
1056
+ var _a2;
1057
+ return (_a2 = uniqueGroups.groups[group]) == null ? void 0 : _a2.length;
1058
+ }).filter(
1059
+ (group) => ![
1060
+ UiNodeGroupEnum.Oidc,
1061
+ UiNodeGroupEnum.Default,
1062
+ UiNodeGroupEnum.IdentifierFirst,
1063
+ UiNodeGroupEnum.Profile,
1064
+ UiNodeGroupEnum.Captcha
1065
+ ].includes(group)
1066
+ ).map((g) => [g, {}])
1040
1067
  );
1068
+ if (UiNodeGroupEnum.Code in options) {
1069
+ let identifier = (_b = (_a = findNode(ui.nodes, {
1070
+ group: "identifier_first",
1071
+ node_type: "input",
1072
+ name: "identifier"
1073
+ })) == null ? void 0 : _a.attributes) == null ? void 0 : _b.value;
1074
+ identifier || (identifier = (_d = (_c = findNode(ui.nodes, {
1075
+ group: "code",
1076
+ node_type: "input",
1077
+ name: "address"
1078
+ })) == null ? void 0 : _c.attributes) == null ? void 0 : _d.value);
1079
+ if (identifier) {
1080
+ options[UiNodeGroupEnum.Code] = {
1081
+ title: {
1082
+ id: "identities.messages.1010023",
1083
+ values: { address: identifier }
1084
+ }
1085
+ };
1086
+ }
1087
+ }
1088
+ const hasError = Boolean((_e = ui.messages) == null ? void 0 : _e.some((m) => m.type === "error"));
1041
1089
  const nonOidcNodes = filterOidcOut(ui.nodes);
1042
1090
  const finalNodes = formState.current === "method_active" ? getFinalNodes(uniqueGroups.groups, formState.method) : [];
1043
1091
  const handleAfterFormSubmit = (method) => {
@@ -1056,7 +1104,7 @@ function OryTwoStepCard() {
1056
1104
  return /* @__PURE__ */ jsxs(OryCard, { children: [
1057
1105
  /* @__PURE__ */ jsx(OryCardHeader, {}),
1058
1106
  /* @__PURE__ */ jsxs(OryCardContent, { children: [
1059
- /* @__PURE__ */ jsx(OryCardValidationMessages, {}),
1107
+ hasError ? /* @__PURE__ */ jsx(OryCardValidationMessages, {}) : void 0,
1060
1108
  showOidc && /* @__PURE__ */ jsx(OryFormSocialButtonsForm, {}),
1061
1109
  /* @__PURE__ */ jsxs(OryForm, { onAfterSubmit: handleAfterFormSubmit, children: [
1062
1110
  /* @__PURE__ */ jsxs(Form.Group, { children: [
@@ -1075,7 +1123,8 @@ function OryTwoStepCard() {
1075
1123
  method: group
1076
1124
  })
1077
1125
  }
1078
- )
1126
+ ),
1127
+ ui.nodes.filter((n) => n.group === UiNodeGroupEnum.Captcha).map((node, k) => /* @__PURE__ */ jsx(Node, { node }, k))
1079
1128
  ] }),
1080
1129
  formState.current === "method_active" && /* @__PURE__ */ jsxs(Fragment, { children: [
1081
1130
  ui.nodes.filter((n) => n.type === "script").map((node, k) => /* @__PURE__ */ jsx(Node, { node }, k)),
@@ -1089,21 +1138,26 @@ function OryTwoStepCard() {
1089
1138
  }
1090
1139
  function AuthMethodList({ options, setSelectedGroup }) {
1091
1140
  const { Card } = useComponents();
1092
- const { setValue } = useFormContext();
1093
- const handleClick = (group) => {
1141
+ const { setValue, getValues } = useFormContext();
1142
+ const handleClick = (group, options2) => {
1143
+ var _a, _b, _c, _d;
1094
1144
  if (isGroupImmediateSubmit(group)) {
1145
+ if (group === "code" && !getValues("identifier") && ((_b = (_a = options2 == null ? void 0 : options2.title) == null ? void 0 : _a.values) == null ? void 0 : _b.address)) {
1146
+ setValue("identifier", (_d = (_c = options2 == null ? void 0 : options2.title) == null ? void 0 : _c.values) == null ? void 0 : _d.address);
1147
+ }
1095
1148
  setValue("method", group);
1096
1149
  } else {
1097
1150
  setSelectedGroup(group);
1098
1151
  }
1099
1152
  };
1100
- return /* @__PURE__ */ jsx(Card.AuthMethodListContainer, { children: options.map((option) => /* @__PURE__ */ jsx(
1153
+ return /* @__PURE__ */ jsx(Card.AuthMethodListContainer, { children: Object.entries(options).map(([group, options2]) => /* @__PURE__ */ jsx(
1101
1154
  Card.AuthMethodListItem,
1102
1155
  {
1103
- group: option,
1104
- onClick: () => handleClick(option)
1156
+ group,
1157
+ title: options2.title,
1158
+ onClick: () => handleClick(group, options2)
1105
1159
  },
1106
- option
1160
+ group
1107
1161
  )) });
1108
1162
  }
1109
1163
  function OryFormGroups({ groups }) {
@@ -1701,9 +1755,9 @@ var en_default = {
1701
1755
  "identities.messages.1010005": "Verify",
1702
1756
  "identities.messages.1010006": "Authentication code",
1703
1757
  "identities.messages.1010007": "Backup recovery code",
1704
- "identities.messages.1010008": "Sign in with hardware key",
1705
- "identities.messages.1010009": "Use Authenticator",
1706
- "identities.messages.1010010": "Use backup recovery code",
1758
+ "identities.messages.1010008": "Continue with hardware key",
1759
+ "identities.messages.1010009": "Continue",
1760
+ "identities.messages.1010010": "Continue",
1707
1761
  "identities.messages.1010011": "Sign in with hardware key",
1708
1762
  "identities.messages.1010012": "Prepare your WebAuthn device (e.g. security key, biometrics scanner, ...) and press continue.",
1709
1763
  "identities.messages.1010013": "Continue",
@@ -1840,9 +1894,17 @@ var en_default = {
1840
1894
  "login.subtitle-oauth2": "To authenticate {clientName}",
1841
1895
  "login.title": "Sign in",
1842
1896
  "login.subtitle": "Sign in with {parts}",
1843
- "login.title-aal2": "Two-Factor Authentication",
1897
+ "login.title-aal2": "Second factor authentication",
1898
+ "login.subtitle-aal2": "Choose a way to complete your second factor authentication",
1899
+ "login.code.subtitle": "A verification code will be sent by email",
1900
+ "login.webauthn.subtitle": "Please prepare your WebAuthN device",
1901
+ "login.totp.subtitle": "Please enter the code generated by your Authenticator App",
1902
+ "login.lookup_secret.subtitle": "Please enter one of your 8-digit backup recovery codes",
1844
1903
  "login.title-refresh": "Reauthenticate",
1845
1904
  "login.subtitle-refresh": "Confirm your identity with {parts}",
1905
+ "login.2fa.go-back": "Something isn't working?",
1906
+ "login.2fa.go-back.link": "Go back",
1907
+ "login.2fa.method.go-back": "Choose another method",
1846
1908
  "logout.accept-button": "Yes",
1847
1909
  "logout.reject-button": "No",
1848
1910
  "logout.title": "Do you wish to log out?",
@@ -1891,10 +1953,14 @@ var en_default = {
1891
1953
  "two-step.password.description": "Enter your password associated with your account",
1892
1954
  "two-step.code.title": "Email code",
1893
1955
  "two-step.code.description": "A verification code will be sent to your email",
1894
- "two-step.webauthn.title": "Security Key",
1956
+ "two-step.webauthn.title": "Security key",
1895
1957
  "two-step.webauthn.description": "Use your security key to authenticate",
1896
1958
  "two-step.passkey.title": "Passkey (recommended)",
1897
1959
  "two-step.passkey.description": "Use your device's for fingerprint or face recognition",
1960
+ "two-step.totp.title": "Use your Authenticator App (TOTP)",
1961
+ "two-step.totp.description": "Use a 6-digit one-time code from your authenticator app",
1962
+ "two-step.lookup_secret.title": "Backup recovery code",
1963
+ "two-step.lookup_secret.description": "Use up one of your 8-digit backup codes to authenticate",
1898
1964
  "identities.messages.1010020": "",
1899
1965
  "input.placeholder": "Enter your {placeholder}",
1900
1966
  "card.header.parts.oidc": "a social provider",
@@ -1954,9 +2020,9 @@ var de_default = {
1954
2020
  "identities.messages.1010005": "Verifizieren",
1955
2021
  "identities.messages.1010006": "Authentifizierungscode",
1956
2022
  "identities.messages.1010007": "Backup-Wiederherstellungscode",
1957
- "identities.messages.1010008": "Sicherheitsschl\xFCssel verwenden",
1958
- "identities.messages.1010009": "Authentifizierungs-App verwenden",
1959
- "identities.messages.1010010": "Backup-Wiederherstellungscode verwenden",
2023
+ "identities.messages.1010008": "Mit Sicherheitsschl\xFCssel fortfahren",
2024
+ "identities.messages.1010009": "Weiter",
2025
+ "identities.messages.1010010": "Weiter",
1960
2026
  "identities.messages.1010011": "Mit Sicherheitsschl\xFCssel fortfahren",
1961
2027
  "identities.messages.1010012": "Bereiten Sie Ihr WebAuthn-Ger\xE4t vor (z. B. Sicherheitsschl\xFCssel, biometrischer Scanner, ...) und dr\xFCcken Sie auf Weiter.",
1962
2028
  "identities.messages.1010013": "Weiter",
@@ -2072,8 +2138,16 @@ var de_default = {
2072
2138
  "login.registration-label": "Sie haben noch kein Konto?",
2073
2139
  "login.subtitle-oauth2": "Zur Authentifizierung bei {clientName}",
2074
2140
  "login.title": "Anmelden",
2075
- "login.title-aal2": "Zwei-Faktor-Authentifizierung",
2141
+ "login.title-aal2": "Zweitfaktor-Authentifizierung",
2142
+ "login.subtitle-aal2": "W\xE4hlen Sie eine Methode zur Best\xE4tigung Ihrer Zwei-Faktor-Authentifizierung",
2143
+ "login.code.subtitle": "Ein Best\xE4tigungscode wird per E-Mail gesendet",
2144
+ "login.webauthn.subtitle": "Bitte bereiten Sie Ihr WebAuthN-Ger\xE4t vor",
2145
+ "login.totp.subtitle": "Bitte geben Sie den Code aus Ihrer Authenticator-App ein",
2146
+ "login.lookup_secret.subtitle": "Bitte geben Sie einen Ihrer 8-stelligen Backup-Wiederherstellungscodes ein",
2076
2147
  "login.title-refresh": "Best\xE4tigen Sie, dass Sie es sind",
2148
+ "login.2fa.go-back": "Funktioniert etwas nicht?",
2149
+ "login.2fa.go-back.link": "Zur\xFCck",
2150
+ "login.2fa.method.go-back": "Eine andere Methode w\xE4hlen",
2077
2151
  "logout.accept-button": "Ja",
2078
2152
  "logout.reject-button": "Nein",
2079
2153
  "logout.title": "M\xF6chten Sie sich abmelden?",
@@ -2094,8 +2168,12 @@ var de_default = {
2094
2168
  "two-step.passkey.title": "Passwort (empfohlen)",
2095
2169
  "two-step.password.description": "Geben Sie Ihr Passwort ein, das mit Ihrem Konto verkn\xFCpft ist",
2096
2170
  "two-step.password.title": "Passwort",
2097
- "two-step.webauthn.description": "Verwenden Sie Ihren Sicherheitsschl\xFCssel zur Authentifizierung",
2098
2171
  "two-step.webauthn.title": "Sicherheitsschl\xFCssel",
2172
+ "two-step.webauthn.description": "Verwenden Sie Ihren Sicherheitsschl\xFCssel zur Authentifizierung",
2173
+ "two-step.totp.title": "Verwenden Sie Ihre Authenticator-App (TOTP)",
2174
+ "two-step.totp.description": "Verwenden Sie einen 6-stelligen Einmal-Code aus Ihrer Authenticator-App",
2175
+ "two-step.lookup_secret.title": "Backup-Wiederherstellungscode",
2176
+ "two-step.lookup_secret.description": "Verwenden Sie einen Ihrer 8-stelligen Backup-Codes, um sich zu authentifizieren",
2099
2177
  "identities.messages.1070014": "Login- und Link-Zugangsdaten",
2100
2178
  "identities.messages.1070015": "Bitte schlie\xDFen Sie die Captcha-Challenge ab, um fortzufahren.",
2101
2179
  "identities.messages.4000038": "Die Captcha-\xDCberpr\xFCfung ist fehlgeschlagen. Bitte versuchen Sie es erneut.",
@@ -2207,9 +2285,9 @@ var es_default = {
2207
2285
  "identities.messages.1010005": "Verificar",
2208
2286
  "identities.messages.1010006": "C\xF3digo de autenticaci\xF3n",
2209
2287
  "identities.messages.1010007": "C\xF3digo de recuperaci\xF3n de respaldo",
2210
- "identities.messages.1010008": "Usar llave de seguridad",
2211
- "identities.messages.1010009": "Usar Autenticador",
2212
- "identities.messages.1010010": "Usar c\xF3digo de recuperaci\xF3n de respaldo",
2288
+ "identities.messages.1010008": "Continuar con la llave de hardware",
2289
+ "identities.messages.1010009": "Continuar",
2290
+ "identities.messages.1010010": "Continuar",
2213
2291
  "identities.messages.1010011": "Continuar con llave de seguridad",
2214
2292
  "identities.messages.1010012": "Prepare su dispositivo WebAuthn (por ejemplo, llave de seguridad, esc\xE1ner biom\xE9trico, ...) y presione continuar.",
2215
2293
  "identities.messages.1010013": "Continuar",
@@ -2325,8 +2403,16 @@ var es_default = {
2325
2403
  "login.registration-label": "\xBFNo tiene una cuenta?",
2326
2404
  "login.subtitle-oauth2": "Para autenticar a {clientName}",
2327
2405
  "login.title": "Iniciar sesi\xF3n",
2328
- "login.title-aal2": "Autenticaci\xF3n de Dos Factores",
2406
+ "login.title-aal2": "Autenticaci\xF3n de dos factores",
2407
+ "login.subtitle-aal2": "Elija una forma de completar su autenticaci\xF3n de segundo factor",
2408
+ "login.code.subtitle": "Se enviar\xE1 un c\xF3digo de verificaci\xF3n por correo electr\xF3nico",
2409
+ "login.webauthn.subtitle": "Por favor, prepare su dispositivo WebAuthN",
2410
+ "login.totp.subtitle": "Ingrese el c\xF3digo generado por su aplicaci\xF3n de autenticaci\xF3n",
2411
+ "login.lookup_secret.subtitle": "Ingrese uno de sus c\xF3digos de recuperaci\xF3n de respaldo de 8 d\xEDgitos",
2329
2412
  "login.title-refresh": "Confirme que es usted",
2413
+ "login.2fa.go-back": "\xBFAlgo no funciona?",
2414
+ "login.2fa.go-back.link": "Volver",
2415
+ "login.2fa.method.go-back": "Elegir otro m\xE9todo",
2330
2416
  "logout.accept-button": "S\xED",
2331
2417
  "logout.reject-button": "No",
2332
2418
  "logout.title": "\xBFDesea cerrar sesi\xF3n?",
@@ -2358,8 +2444,12 @@ var es_default = {
2358
2444
  "two-step.passkey.title": "Clave de acceso (recomendada)",
2359
2445
  "two-step.password.description": "Ingrese la contrase\xF1a asociada con su cuenta",
2360
2446
  "two-step.password.title": "Contrase\xF1a",
2361
- "two-step.webauthn.description": "Utiliza tu llave de seguridad para autenticarte",
2362
2447
  "two-step.webauthn.title": "Clave de Seguridad",
2448
+ "two-step.webauthn.description": "Utilice su llave de seguridad para autenticase",
2449
+ "two-step.totp.title": "Utilice su aplicaci\xF3n de autenticaci\xF3n (TOTP)",
2450
+ "two-step.totp.description": "Utilice un c\xF3digo de un solo uso de 6 d\xEDgitos de su aplicaci\xF3n de autenticaci\xF3n",
2451
+ "two-step.lookup_secret.title": "C\xF3digo de recuperaci\xF3n de respaldo",
2452
+ "two-step.lookup_secret.description": "Utilice uno de sus c\xF3digos de respaldo de 8 d\xEDgitos para autenticarse",
2363
2453
  "identities.messages.1010016": "",
2364
2454
  "identities.messages.1010017": "",
2365
2455
  "identities.messages.1010018": "",
@@ -2460,9 +2550,9 @@ var fr_default = {
2460
2550
  "identities.messages.1010005": "V\xE9rifier",
2461
2551
  "identities.messages.1010006": "Code d'authentification",
2462
2552
  "identities.messages.1010007": "Code de r\xE9cup\xE9ration de secours",
2463
- "identities.messages.1010008": "Utiliser une cl\xE9 de s\xE9curit\xE9",
2464
- "identities.messages.1010009": "Utiliser un authentificateur",
2465
- "identities.messages.1010010": "Utiliser un code de r\xE9cup\xE9ration de secours",
2553
+ "identities.messages.1010008": "Continuer avec la cl\xE9 mat\xE9rielle",
2554
+ "identities.messages.1010009": "Continuer",
2555
+ "identities.messages.1010010": "Continuer",
2466
2556
  "identities.messages.1010011": "Continuer avec la cl\xE9 de s\xE9curit\xE9",
2467
2557
  "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
2558
  "identities.messages.1010013": "Continuer",
@@ -2579,7 +2669,15 @@ var fr_default = {
2579
2669
  "login.subtitle-oauth2": "Pour vous authentifier sur {clientName}",
2580
2670
  "login.title": "Se connecter",
2581
2671
  "login.title-aal2": "Authentification \xE0 deux facteurs",
2672
+ "login.subtitle-aal2": "Choisissez une m\xE9thode pour compl\xE9ter votre authentification \xE0 deux facteurs",
2673
+ "login.code.subtitle": "Un code de v\xE9rification sera envoy\xE9 par e-mail",
2674
+ "login.webauthn.subtitle": "Veuillez pr\xE9parer votre dispositif WebAuthN",
2675
+ "login.totp.subtitle": "Veuillez saisir le code g\xE9n\xE9r\xE9 par votre application d'authentification",
2676
+ "login.lookup_secret.subtitle": "Veuillez saisir l'un de vos codes de r\xE9cup\xE9ration de secours \xE0 8 chiffres",
2582
2677
  "login.title-refresh": "Confirmez que c'est bien vous",
2678
+ "login.2fa.go-back": "Quelque chose ne fonctionne pas ?",
2679
+ "login.2fa.go-back.link": "Retour",
2680
+ "login.2fa.method.go-back": "Choisir une autre m\xE9thode",
2583
2681
  "logout.accept-button": "Oui",
2584
2682
  "logout.reject-button": "Non",
2585
2683
  "logout.title": "Souhaitez-vous vous d\xE9connecter ?",
@@ -2611,8 +2709,12 @@ var fr_default = {
2611
2709
  "two-step.passkey.title": "Cl\xE9 de passe (recommand\xE9e)",
2612
2710
  "two-step.password.description": "Entrez votre mot de passe associ\xE9 \xE0 votre compte",
2613
2711
  "two-step.password.title": "Mot de passe",
2614
- "two-step.webauthn.description": "Utilisez votre cl\xE9 de s\xE9curit\xE9 pour vous authentifier",
2615
2712
  "two-step.webauthn.title": "Cl\xE9 de S\xE9curit\xE9",
2713
+ "two-step.webauthn.description": "Utilisez votre cl\xE9 de s\xE9curit\xE9 pour vous authentifier",
2714
+ "two-step.totp.title": "Utilisez votre application d'authentification (TOTP)",
2715
+ "two-step.totp.description": "Utilisez un code \xE0 usage unique \xE0 6 chiffres provenant de votre application d'authentification",
2716
+ "two-step.lookup_secret.title": "Code de r\xE9cup\xE9ration de secours",
2717
+ "two-step.lookup_secret.description": "Utilisez l'un de vos codes de secours \xE0 8 chiffres pour vous authentifier",
2616
2718
  "identities.messages.1010023": "",
2617
2719
  "identities.messages.1070015": "",
2618
2720
  "identities.messages.4000038": "",
@@ -2713,9 +2815,9 @@ var nl_default = {
2713
2815
  "identities.messages.1010005": "Verifi\xEBren",
2714
2816
  "identities.messages.1010006": "Verificatiecode",
2715
2817
  "identities.messages.1010007": "Back-up herstelcode",
2716
- "identities.messages.1010008": "Beveiligingssleutel gebruiken",
2717
- "identities.messages.1010009": "Authenticator gebruiken",
2718
- "identities.messages.1010010": "Back-up herstelcode gebruiken",
2818
+ "identities.messages.1010008": "Ga verder met hardware-sleutel",
2819
+ "identities.messages.1010009": "Doorgaan",
2820
+ "identities.messages.1010010": "Doorgaan",
2719
2821
  "identities.messages.1010011": "Doorgaan met beveiligingssleutel",
2720
2822
  "identities.messages.1010012": "Bereid uw WebAuthn-apparaat voor (bijv. beveiligingssleutel, biometrische scanner, ...) en druk op doorgaan.",
2721
2823
  "identities.messages.1010013": "Doorgaan",
@@ -2831,8 +2933,16 @@ var nl_default = {
2831
2933
  "login.registration-label": "Heb je nog geen account?",
2832
2934
  "login.subtitle-oauth2": "Om te authenticeren bij {clientName}",
2833
2935
  "login.title": "Inloggen",
2834
- "login.title-aal2": "Twee-Factor Authenticatie",
2936
+ "login.title-aal2": "Tweefactorauthenticatie",
2937
+ "login.subtitle-aal2": "Kies een manier om uw tweefactorauthenticatie te voltooien",
2938
+ "login.code.subtitle": "Er wordt een verificatiecode per e-mail verzonden",
2939
+ "login.webauthn.subtitle": "Bereid uw WebAuthN-apparaat voor",
2940
+ "login.totp.subtitle": "Voer de code in die door uw Authenticator-app is gegenereerd",
2941
+ "login.lookup_secret.subtitle": "Voer een van uw 8-cijferige back-up herstelcodes in",
2835
2942
  "login.title-refresh": "Bevestig dat jij het bent",
2943
+ "login.2fa.go-back": "Werkt er iets niet?",
2944
+ "login.2fa.go-back.link": "Ga terug",
2945
+ "login.2fa.method.go-back": "Kies een andere methode",
2836
2946
  "logout.accept-button": "Ja",
2837
2947
  "logout.reject-button": "Nee",
2838
2948
  "logout.title": "Wil je uitloggen?",
@@ -2864,8 +2974,12 @@ var nl_default = {
2864
2974
  "two-step.passkey.title": "Toegangscode (aanbevolen)",
2865
2975
  "two-step.password.description": "Voer uw wachtwoord in dat is gekoppeld aan uw account",
2866
2976
  "two-step.password.title": "Wachtwoord",
2867
- "two-step.webauthn.description": "Gebruik uw beveiligingssleutel om te verifi\xEBren",
2868
2977
  "two-step.webauthn.title": "Beveiligingssleutel",
2978
+ "two-step.webauthn.description": "Gebruik uw beveiligingssleutel om te verifi\xEBren",
2979
+ "two-step.totp.title": "Gebruik uw Authenticator-app (TOTP)",
2980
+ "two-step.totp.description": "Gebruik een 6-cijferige eenmalige code van uw authenticator-app",
2981
+ "two-step.lookup_secret.title": "Herstelcode",
2982
+ "two-step.lookup_secret.description": "Gebruik een van uw 8-cijferige back-upcodes om te authenticeren",
2869
2983
  "identities.messages.1010023": "",
2870
2984
  "identities.messages.1070014": "",
2871
2985
  "identities.messages.1070015": "",
@@ -2966,9 +3080,9 @@ var pl_default = {
2966
3080
  "identities.messages.1010005": "Zweryifkuj",
2967
3081
  "identities.messages.1010006": "Kod autentykacyjny",
2968
3082
  "identities.messages.1010007": "Zapasowe kody odzyskiwania",
2969
- "identities.messages.1010008": "U\u017Cyj klucza bezpiecze\u0144stwa",
2970
- "identities.messages.1010009": "U\u017Cyj Autentykatora",
2971
- "identities.messages.1010010": "U\u017Cyj zapasowych kod\xF3w odzyskiwania",
3083
+ "identities.messages.1010008": "Kontynuuj z kluczem sprz\u0119towym",
3084
+ "identities.messages.1010009": "Kontynuuj",
3085
+ "identities.messages.1010010": "Kontynuuj",
2972
3086
  "identities.messages.1010011": "Kontynuuj za pomoc\u0105 klucza bezpiecze\u0144stwa",
2973
3087
  "identities.messages.1010012": "Przygotuj swoje urz\u0105dzenie WebAuthn (np. klucz bezpiecze\u0144stwa, czytnik biometryczny, ...) a nast\u0119pnie kliknij kontynuuj.",
2974
3088
  "identities.messages.1010013": "Kontynuuj",
@@ -3084,8 +3198,16 @@ var pl_default = {
3084
3198
  "login.registration-label": "Nie posiadasz konta?",
3085
3199
  "login.subtitle-oauth2": "Do autentykacji {clientName}",
3086
3200
  "login.title": "Zaloguj si\u0119",
3087
- "login.title-aal2": "Autentykacja Dwu-Etapowa",
3201
+ "login.title-aal2": "Uwierzytelnianie dwusk\u0142adnikowe",
3202
+ "login.subtitle-aal2": "Wybierz spos\xF3b, aby zako\u0144czy\u0107 uwierzytelnianie dwusk\u0142adnikowe",
3203
+ "login.code.subtitle": "Kod weryfikacyjny zostanie wys\u0142any e-mailem",
3204
+ "login.webauthn.subtitle": "Prosz\u0119 przygotowa\u0107 urz\u0105dzenie WebAuthN",
3205
+ "login.totp.subtitle": "Prosz\u0119 wprowadzi\u0107 kod wygenerowany przez Twoj\u0105 aplikacj\u0119 uwierzytelniaj\u0105c\u0105",
3206
+ "login.lookup_secret.subtitle": "Prosz\u0119 wprowadzi\u0107 jeden z Twoich 8-cyfrowych kod\xF3w odzyskiwania zapasowego",
3088
3207
  "login.title-refresh": "Potwierd\u017A \u017Ce to Ty",
3208
+ "login.2fa.go-back": "Co\u015B nie dzia\u0142a?",
3209
+ "login.2fa.go-back.link": "Wr\xF3\u0107",
3210
+ "login.2fa.method.go-back": "Wybierz inn\u0105 metod\u0119",
3089
3211
  "logout.accept-button": "Tak",
3090
3212
  "logout.reject-button": "Nie",
3091
3213
  "logout.title": "Czy chcesz si\u0119 wylogowa\u0107?",
@@ -3117,8 +3239,12 @@ var pl_default = {
3117
3239
  "two-step.passkey.title": "Klucz dost\u0119pu (zalecany)",
3118
3240
  "two-step.password.description": "Wprowad\u017A has\u0142o powi\u0105zane z twoim kontem",
3119
3241
  "two-step.password.title": "Has\u0142o",
3120
- "two-step.webauthn.description": "U\u017Cyj swojego klucza bezpiecze\u0144stwa do uwierzytelnienia",
3121
3242
  "two-step.webauthn.title": "Klucz bezpiecze\u0144stwa",
3243
+ "two-step.webauthn.description": "U\u017Cyj swojego klucza bezpiecze\u0144stwa do uwierzytelnienia",
3244
+ "two-step.totp.title": "U\u017Cyj swojej aplikacji uwierzytelniaj\u0105cej (TOTP)",
3245
+ "two-step.totp.description": "U\u017Cyj 6-cyfrowego jednorazowego kodu z Twojej aplikacji uwierzytelniaj\u0105cej",
3246
+ "two-step.lookup_secret.title": "Kod odzyskiwania zapasowego",
3247
+ "two-step.lookup_secret.description": "U\u017Cyj jednego z Twoich 8-cyfrowych kod\xF3w zapasowych, aby si\u0119 uwierzytelni\u0107",
3122
3248
  "identities.messages.1010016": "",
3123
3249
  "identities.messages.1010017": "",
3124
3250
  "identities.messages.1010018": "",
@@ -3219,9 +3345,9 @@ var pt_default = {
3219
3345
  "identities.messages.1010005": "Verificar",
3220
3346
  "identities.messages.1010006": "C\xF3digo de Autentica\xE7\xE3o",
3221
3347
  "identities.messages.1010007": "C\xF3digo de Recupera\xE7\xE3o de Backup",
3222
- "identities.messages.1010008": "Usar chave de seguran\xE7a",
3223
- "identities.messages.1010009": "Usar o Autenticador",
3224
- "identities.messages.1010010": "Usar c\xF3digo de recupera\xE7\xE3o de backup",
3348
+ "identities.messages.1010008": "Continuar com chave de hardware",
3349
+ "identities.messages.1010009": "Continuar",
3350
+ "identities.messages.1010010": "Continuar",
3225
3351
  "identities.messages.1010011": "Continuar com a chave de seguran\xE7a",
3226
3352
  "identities.messages.1010012": "Prepare o seu dispositivo WebAuthn (por exemplo, chave de seguran\xE7a, scanner biom\xE9trico, ...) e pressione continuar.",
3227
3353
  "identities.messages.1010013": "Continuar",
@@ -3337,8 +3463,16 @@ var pt_default = {
3337
3463
  "login.registration-label": "N\xE3o tem uma conta?",
3338
3464
  "login.subtitle-oauth2": "Para autenticar {clientName}",
3339
3465
  "login.title": "Entrar",
3340
- "login.title-aal2": "Autentica\xE7\xE3o de Dois Fatores",
3466
+ "login.title-aal2": "Autentica\xE7\xE3o de dois fatores",
3467
+ "login.subtitle-aal2": "Escolha uma forma de completar sua autentica\xE7\xE3o de segundo fator",
3468
+ "login.code.subtitle": "Um c\xF3digo de verifica\xE7\xE3o ser\xE1 enviado por e-mail",
3469
+ "login.webauthn.subtitle": "Por favor, prepare seu dispositivo WebAuthN",
3470
+ "login.totp.subtitle": "Digite o c\xF3digo gerado pelo seu aplicativo autenticador",
3471
+ "login.lookup_secret.subtitle": "Digite um dos seus c\xF3digos de recupera\xE7\xE3o de 8 d\xEDgitos",
3341
3472
  "login.title-refresh": "Confirme que \xE9 voc\xEA",
3473
+ "login.2fa.go-back": "Algo n\xE3o est\xE1 funcionando?",
3474
+ "login.2fa.go-back.link": "Voltar",
3475
+ "login.2fa.method.go-back": "Escolher outro m\xE9todo",
3342
3476
  "logout.accept-button": "Sim",
3343
3477
  "logout.reject-button": "N\xE3o",
3344
3478
  "logout.title": "Deseja sair?",
@@ -3370,8 +3504,12 @@ var pt_default = {
3370
3504
  "two-step.passkey.title": "Chave de acesso (recomendado)",
3371
3505
  "two-step.password.description": "Insira a sua senha associada \xE0 sua conta",
3372
3506
  "two-step.password.title": "Senha",
3373
- "two-step.webauthn.description": "Use sua chave de seguran\xE7a para autenticar",
3374
3507
  "two-step.webauthn.title": "Chave de Seguran\xE7a",
3508
+ "two-step.webauthn.description": "Use sua chave de seguran\xE7a para autenticar",
3509
+ "two-step.totp.title": "Use seu aplicativo autenticador (TOTP)",
3510
+ "two-step.totp.description": "Use um c\xF3digo \xFAnico de 6 d\xEDgitos do seu aplicativo autenticador",
3511
+ "two-step.lookup_secret.title": "C\xF3digo de recupera\xE7\xE3o de backup",
3512
+ "two-step.lookup_secret.description": "Use um dos seus c\xF3digos de backup de 8 d\xEDgitos para autenticar",
3375
3513
  "identities.messages.1010016": "",
3376
3514
  "identities.messages.1010017": "",
3377
3515
  "identities.messages.1010018": "",
@@ -3472,9 +3610,9 @@ var sv_default = {
3472
3610
  "identities.messages.1010005": "Verifiera",
3473
3611
  "identities.messages.1010006": "Autentiseringskod",
3474
3612
  "identities.messages.1010007": "\xC5terst\xE4llningskod f\xF6r backup",
3475
- "identities.messages.1010008": "Anv\xE4nd s\xE4kerhetsnyckel",
3476
- "identities.messages.1010009": "Anv\xE4nd autentiserings-app",
3477
- "identities.messages.1010010": "Anv\xE4nd reserv\xE5terst\xE4llningskod",
3613
+ "identities.messages.1010008": "Forts\xE4tt med s\xE4kerhetsnyckel",
3614
+ "identities.messages.1010009": "Forts\xE4tt",
3615
+ "identities.messages.1010010": "Forts\xE4tt",
3478
3616
  "identities.messages.1010011": "Forts\xE4tt med s\xE4kerhetsnyckel",
3479
3617
  "identities.messages.1010012": "F\xF6rbered din WebAuthn-enhet (t.ex. s\xE4kerhetsnyckel, biometriska skanner, ...) och tryck p\xE5 forts\xE4tt.",
3480
3618
  "identities.messages.1010013": "Forts\xE4tt",
@@ -3609,7 +3747,15 @@ var sv_default = {
3609
3747
  "login.subtitle-oauth2": "Att autentisera {clientName}",
3610
3748
  "login.title": "Logga in",
3611
3749
  "login.title-aal2": "Tv\xE5faktorsautentisering",
3750
+ "login.subtitle-aal2": "V\xE4lj ett s\xE4tt att slutf\xF6ra din tv\xE5faktorsautentisering",
3751
+ "login.code.subtitle": "En verifieringskod kommer att skickas via e-post",
3752
+ "login.webauthn.subtitle": "F\xF6rbered din WebAuthN-enhet",
3753
+ "login.totp.subtitle": "Ange koden som genererats av din autentiseringsapp",
3754
+ "login.lookup_secret.subtitle": "Ange en av dina 8-siffriga \xE5terst\xE4llningskoder",
3612
3755
  "login.title-refresh": "Bekr\xE4fta att det \xE4r du",
3756
+ "login.2fa.go-back": "N\xE5got fungerar inte?",
3757
+ "login.2fa.go-back.link": "G\xE5 tillbaka",
3758
+ "login.2fa.method.go-back": "V\xE4lj en annan metod",
3613
3759
  "logout.accept-button": "Ja",
3614
3760
  "logout.reject-button": "Nej",
3615
3761
  "logout.title": "Vill du logga ut?",
@@ -3641,8 +3787,12 @@ var sv_default = {
3641
3787
  "two-step.passkey.title": "Passerkod (rekommenderad)",
3642
3788
  "two-step.password.description": "Ange ditt l\xF6senord kopplat till ditt konto",
3643
3789
  "two-step.password.title": "L\xF6senord",
3644
- "two-step.webauthn.description": "Anv\xE4nd din s\xE4kerhetsnyckel f\xF6r att autentisera",
3645
3790
  "two-step.webauthn.title": "S\xE4kerhetsnyckel",
3791
+ "two-step.webauthn.description": "Anv\xE4nd din s\xE4kerhetsnyckel f\xF6r att autentisera",
3792
+ "two-step.totp.title": "Anv\xE4nd din autentiseringsapp (TOTP)",
3793
+ "two-step.totp.description": "Anv\xE4nd en 6-siffrig eng\xE5ngskod fr\xE5n din autentiseringsapp",
3794
+ "two-step.lookup_secret.title": "Reserv\xE5terst\xE4llningskod",
3795
+ "two-step.lookup_secret.description": "Anv\xE4nd en av dina 8-siffriga reservkoder f\xF6r att autentisera",
3646
3796
  "identities.messages.4000037": "Detta konto finns inte eller har ingen inloggningsmetod konfigurerad.",
3647
3797
  "identities.messages.4000038": "Captcha-verifiering misslyckades, f\xF6rs\xF6k igen.",
3648
3798
  "identities.messages.1010020": "",