@ory/elements-react 1.0.0-next.39 → 1.0.0-next.40

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 CHANGED
@@ -1,3 +1,13 @@
1
+ ## 1.0.0-next.40 (2025-04-02)
2
+
3
+ ### 🚀 Features
4
+
5
+ - support SAML-native ([#395](https://github.com/ory/elements/pull/395))
6
+
7
+ ### ❤️ Thank You
8
+
9
+ - hackerman @aeneasr
10
+
1
11
  ## 1.0.0-next.39 (2025-03-25)
2
12
 
3
13
  ### 🚀 Features
@@ -1,7 +1,10 @@
1
- import { ConfigurationParameters, FrontendApi } from '@ory/client-fetch';
1
+ import { ConfigurationParameters, FrontendApi, OAuth2Api } from '@ory/client-fetch';
2
2
 
3
3
  declare function frontendClient({ forceBaseUrl, ...opts }?: Partial<ConfigurationParameters & {
4
4
  forceBaseUrl?: string;
5
5
  }>): FrontendApi;
6
+ declare function oauth2Client({ forceBaseUrl, ...opts }?: Partial<ConfigurationParameters & {
7
+ forceBaseUrl?: string;
8
+ }>): OAuth2Api;
6
9
 
7
- export { frontendClient };
10
+ export { frontendClient, oauth2Client };
@@ -1,7 +1,10 @@
1
- import { ConfigurationParameters, FrontendApi } from '@ory/client-fetch';
1
+ import { ConfigurationParameters, FrontendApi, OAuth2Api } from '@ory/client-fetch';
2
2
 
3
3
  declare function frontendClient({ forceBaseUrl, ...opts }?: Partial<ConfigurationParameters & {
4
4
  forceBaseUrl?: string;
5
5
  }>): FrontendApi;
6
+ declare function oauth2Client({ forceBaseUrl, ...opts }?: Partial<ConfigurationParameters & {
7
+ forceBaseUrl?: string;
8
+ }>): OAuth2Api;
6
9
 
7
- export { frontendClient };
10
+ export { frontendClient, oauth2Client };
@@ -19,7 +19,8 @@ var __copyProps = (to, from, except, desc) => {
19
19
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
20
20
  var frontendClient_exports = {};
21
21
  __export(frontendClient_exports, {
22
- frontendClient: () => frontendClient
22
+ frontendClient: () => frontendClient,
23
+ oauth2Client: () => oauth2Client
23
24
  });
24
25
  module.exports = __toCommonJS(frontendClient_exports);
25
26
  var import_client_fetch = require("@ory/client-fetch");
@@ -45,8 +46,30 @@ function frontendClient({
45
46
  });
46
47
  return new import_client_fetch.FrontendApi(config);
47
48
  }
49
+ function oauth2Client({
50
+ forceBaseUrl,
51
+ ...opts
52
+ } = {
53
+ credentials: "include"
54
+ }) {
55
+ var _a;
56
+ const basePath = forceBaseUrl != null ? forceBaseUrl : (0, import_config.guessPotentiallyProxiedOrySdkUrl)({
57
+ knownProxiedUrl: window.location.origin
58
+ });
59
+ const config = new import_client_fetch.Configuration({
60
+ ...opts,
61
+ basePath: basePath == null ? void 0 : basePath.replace(/\/$/, ""),
62
+ credentials: (_a = opts.credentials) != null ? _a : "include",
63
+ headers: {
64
+ Accept: "application/json",
65
+ ...opts.headers
66
+ }
67
+ });
68
+ return new import_client_fetch.OAuth2Api(config);
69
+ }
48
70
  // Annotate the CommonJS export names for ESM import in node:
49
71
  0 && (module.exports = {
50
- frontendClient
72
+ frontendClient,
73
+ oauth2Client
51
74
  });
52
75
  //# sourceMappingURL=frontendClient.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/client/frontendClient.ts"],"sourcesContent":["// Copyright © 2024 Ory Corp\n// SPDX-License-Identifier: Apache-2.0\n\"use client\"\nimport {\n Configuration,\n ConfigurationParameters,\n FrontendApi,\n} from \"@ory/client-fetch\"\nimport { guessPotentiallyProxiedOrySdkUrl } from \"./config\"\n\nexport function frontendClient(\n {\n forceBaseUrl,\n ...opts\n }: Partial<ConfigurationParameters & { forceBaseUrl?: string }> = {\n credentials: \"include\",\n },\n) {\n const basePath =\n forceBaseUrl ??\n guessPotentiallyProxiedOrySdkUrl({\n knownProxiedUrl: window.location.origin,\n })\n\n const config = new Configuration({\n ...opts,\n basePath: basePath?.replace(/\\/$/, \"\"),\n credentials: opts.credentials ?? \"include\",\n headers: {\n Accept: \"application/json\",\n ...opts.headers,\n },\n })\n return new FrontendApi(config)\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,0BAIO;AACP,oBAAiD;AAE1C,SAAS,eACd;AAAA,EACE;AAAA,EACA,GAAG;AACL,IAAkE;AAAA,EAChE,aAAa;AACf,GACA;AAjBF;AAkBE,QAAM,WACJ,0CACA,gDAAiC;AAAA,IAC/B,iBAAiB,OAAO,SAAS;AAAA,EACnC,CAAC;AAEH,QAAM,SAAS,IAAI,kCAAc;AAAA,IAC/B,GAAG;AAAA,IACH,UAAU,qCAAU,QAAQ,OAAO;AAAA,IACnC,cAAa,UAAK,gBAAL,YAAoB;AAAA,IACjC,SAAS;AAAA,MACP,QAAQ;AAAA,MACR,GAAG,KAAK;AAAA,IACV;AAAA,EACF,CAAC;AACD,SAAO,IAAI,gCAAY,MAAM;AAC/B;","names":[]}
1
+ {"version":3,"sources":["../../src/client/frontendClient.ts"],"sourcesContent":["// Copyright © 2024 Ory Corp\n// SPDX-License-Identifier: Apache-2.0\n\"use client\"\nimport {\n Configuration,\n ConfigurationParameters,\n FrontendApi,\n OAuth2Api,\n} from \"@ory/client-fetch\"\nimport { guessPotentiallyProxiedOrySdkUrl } from \"./config\"\n\nexport function frontendClient(\n {\n forceBaseUrl,\n ...opts\n }: Partial<ConfigurationParameters & { forceBaseUrl?: string }> = {\n credentials: \"include\",\n },\n) {\n const basePath =\n forceBaseUrl ??\n guessPotentiallyProxiedOrySdkUrl({\n knownProxiedUrl: window.location.origin,\n })\n\n const config = new Configuration({\n ...opts,\n basePath: basePath?.replace(/\\/$/, \"\"),\n credentials: opts.credentials ?? \"include\",\n headers: {\n Accept: \"application/json\",\n ...opts.headers,\n },\n })\n return new FrontendApi(config)\n}\n\nexport function oauth2Client(\n {\n forceBaseUrl,\n ...opts\n }: Partial<ConfigurationParameters & { forceBaseUrl?: string }> = {\n credentials: \"include\",\n },\n) {\n const basePath =\n forceBaseUrl ??\n guessPotentiallyProxiedOrySdkUrl({\n knownProxiedUrl: window.location.origin,\n })\n\n const config = new Configuration({\n ...opts,\n basePath: basePath?.replace(/\\/$/, \"\"),\n credentials: opts.credentials ?? \"include\",\n headers: {\n Accept: \"application/json\",\n ...opts.headers,\n },\n })\n return new OAuth2Api(config)\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,0BAKO;AACP,oBAAiD;AAE1C,SAAS,eACd;AAAA,EACE;AAAA,EACA,GAAG;AACL,IAAkE;AAAA,EAChE,aAAa;AACf,GACA;AAlBF;AAmBE,QAAM,WACJ,0CACA,gDAAiC;AAAA,IAC/B,iBAAiB,OAAO,SAAS;AAAA,EACnC,CAAC;AAEH,QAAM,SAAS,IAAI,kCAAc;AAAA,IAC/B,GAAG;AAAA,IACH,UAAU,qCAAU,QAAQ,OAAO;AAAA,IACnC,cAAa,UAAK,gBAAL,YAAoB;AAAA,IACjC,SAAS;AAAA,MACP,QAAQ;AAAA,MACR,GAAG,KAAK;AAAA,IACV;AAAA,EACF,CAAC;AACD,SAAO,IAAI,gCAAY,MAAM;AAC/B;AAEO,SAAS,aACd;AAAA,EACE;AAAA,EACA,GAAG;AACL,IAAkE;AAAA,EAChE,aAAa;AACf,GACA;AA5CF;AA6CE,QAAM,WACJ,0CACA,gDAAiC;AAAA,IAC/B,iBAAiB,OAAO,SAAS;AAAA,EACnC,CAAC;AAEH,QAAM,SAAS,IAAI,kCAAc;AAAA,IAC/B,GAAG;AAAA,IACH,UAAU,qCAAU,QAAQ,OAAO;AAAA,IACnC,cAAa,UAAK,gBAAL,YAAoB;AAAA,IACjC,SAAS;AAAA,MACP,QAAQ;AAAA,MACR,GAAG,KAAK;AAAA,IACV;AAAA,EACF,CAAC;AACD,SAAO,IAAI,8BAAU,MAAM;AAC7B;","names":[]}
@@ -1,7 +1,8 @@
1
1
  "use client";
2
2
  import {
3
3
  Configuration,
4
- FrontendApi
4
+ FrontendApi,
5
+ OAuth2Api
5
6
  } from "@ory/client-fetch";
6
7
  import { guessPotentiallyProxiedOrySdkUrl } from "./config";
7
8
  function frontendClient({
@@ -25,7 +26,29 @@ function frontendClient({
25
26
  });
26
27
  return new FrontendApi(config);
27
28
  }
29
+ function oauth2Client({
30
+ forceBaseUrl,
31
+ ...opts
32
+ } = {
33
+ credentials: "include"
34
+ }) {
35
+ var _a;
36
+ const basePath = forceBaseUrl != null ? forceBaseUrl : guessPotentiallyProxiedOrySdkUrl({
37
+ knownProxiedUrl: window.location.origin
38
+ });
39
+ const config = new Configuration({
40
+ ...opts,
41
+ basePath: basePath == null ? void 0 : basePath.replace(/\/$/, ""),
42
+ credentials: (_a = opts.credentials) != null ? _a : "include",
43
+ headers: {
44
+ Accept: "application/json",
45
+ ...opts.headers
46
+ }
47
+ });
48
+ return new OAuth2Api(config);
49
+ }
28
50
  export {
29
- frontendClient
51
+ frontendClient,
52
+ oauth2Client
30
53
  };
31
54
  //# sourceMappingURL=frontendClient.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/client/frontendClient.ts"],"sourcesContent":["// Copyright © 2024 Ory Corp\n// SPDX-License-Identifier: Apache-2.0\n\"use client\"\nimport {\n Configuration,\n ConfigurationParameters,\n FrontendApi,\n} from \"@ory/client-fetch\"\nimport { guessPotentiallyProxiedOrySdkUrl } from \"./config\"\n\nexport function frontendClient(\n {\n forceBaseUrl,\n ...opts\n }: Partial<ConfigurationParameters & { forceBaseUrl?: string }> = {\n credentials: \"include\",\n },\n) {\n const basePath =\n forceBaseUrl ??\n guessPotentiallyProxiedOrySdkUrl({\n knownProxiedUrl: window.location.origin,\n })\n\n const config = new Configuration({\n ...opts,\n basePath: basePath?.replace(/\\/$/, \"\"),\n credentials: opts.credentials ?? \"include\",\n headers: {\n Accept: \"application/json\",\n ...opts.headers,\n },\n })\n return new FrontendApi(config)\n}\n"],"mappings":";AAGA;AAAA,EACE;AAAA,EAEA;AAAA,OACK;AACP,SAAS,wCAAwC;AAE1C,SAAS,eACd;AAAA,EACE;AAAA,EACA,GAAG;AACL,IAAkE;AAAA,EAChE,aAAa;AACf,GACA;AAjBF;AAkBE,QAAM,WACJ,sCACA,iCAAiC;AAAA,IAC/B,iBAAiB,OAAO,SAAS;AAAA,EACnC,CAAC;AAEH,QAAM,SAAS,IAAI,cAAc;AAAA,IAC/B,GAAG;AAAA,IACH,UAAU,qCAAU,QAAQ,OAAO;AAAA,IACnC,cAAa,UAAK,gBAAL,YAAoB;AAAA,IACjC,SAAS;AAAA,MACP,QAAQ;AAAA,MACR,GAAG,KAAK;AAAA,IACV;AAAA,EACF,CAAC;AACD,SAAO,IAAI,YAAY,MAAM;AAC/B;","names":[]}
1
+ {"version":3,"sources":["../../src/client/frontendClient.ts"],"sourcesContent":["// Copyright © 2024 Ory Corp\n// SPDX-License-Identifier: Apache-2.0\n\"use client\"\nimport {\n Configuration,\n ConfigurationParameters,\n FrontendApi,\n OAuth2Api,\n} from \"@ory/client-fetch\"\nimport { guessPotentiallyProxiedOrySdkUrl } from \"./config\"\n\nexport function frontendClient(\n {\n forceBaseUrl,\n ...opts\n }: Partial<ConfigurationParameters & { forceBaseUrl?: string }> = {\n credentials: \"include\",\n },\n) {\n const basePath =\n forceBaseUrl ??\n guessPotentiallyProxiedOrySdkUrl({\n knownProxiedUrl: window.location.origin,\n })\n\n const config = new Configuration({\n ...opts,\n basePath: basePath?.replace(/\\/$/, \"\"),\n credentials: opts.credentials ?? \"include\",\n headers: {\n Accept: \"application/json\",\n ...opts.headers,\n },\n })\n return new FrontendApi(config)\n}\n\nexport function oauth2Client(\n {\n forceBaseUrl,\n ...opts\n }: Partial<ConfigurationParameters & { forceBaseUrl?: string }> = {\n credentials: \"include\",\n },\n) {\n const basePath =\n forceBaseUrl ??\n guessPotentiallyProxiedOrySdkUrl({\n knownProxiedUrl: window.location.origin,\n })\n\n const config = new Configuration({\n ...opts,\n basePath: basePath?.replace(/\\/$/, \"\"),\n credentials: opts.credentials ?? \"include\",\n headers: {\n Accept: \"application/json\",\n ...opts.headers,\n },\n })\n return new OAuth2Api(config)\n}\n"],"mappings":";AAGA;AAAA,EACE;AAAA,EAEA;AAAA,EACA;AAAA,OACK;AACP,SAAS,wCAAwC;AAE1C,SAAS,eACd;AAAA,EACE;AAAA,EACA,GAAG;AACL,IAAkE;AAAA,EAChE,aAAa;AACf,GACA;AAlBF;AAmBE,QAAM,WACJ,sCACA,iCAAiC;AAAA,IAC/B,iBAAiB,OAAO,SAAS;AAAA,EACnC,CAAC;AAEH,QAAM,SAAS,IAAI,cAAc;AAAA,IAC/B,GAAG;AAAA,IACH,UAAU,qCAAU,QAAQ,OAAO;AAAA,IACnC,cAAa,UAAK,gBAAL,YAAoB;AAAA,IACjC,SAAS;AAAA,MACP,QAAQ;AAAA,MACR,GAAG,KAAK;AAAA,IACV;AAAA,EACF,CAAC;AACD,SAAO,IAAI,YAAY,MAAM;AAC/B;AAEO,SAAS,aACd;AAAA,EACE;AAAA,EACA,GAAG;AACL,IAAkE;AAAA,EAChE,aAAa;AACf,GACA;AA5CF;AA6CE,QAAM,WACJ,sCACA,iCAAiC;AAAA,IAC/B,iBAAiB,OAAO,SAAS;AAAA,EACnC,CAAC;AAEH,QAAM,SAAS,IAAI,cAAc;AAAA,IAC/B,GAAG;AAAA,IACH,UAAU,qCAAU,QAAQ,OAAO;AAAA,IACnC,cAAa,UAAK,gBAAL,YAAoB;AAAA,IACjC,SAAS;AAAA,MACP,QAAQ;AAAA,MACR,GAAG,KAAK;AAAA,IACV;AAAA,EACF,CAAC;AACD,SAAO,IAAI,UAAU,MAAM;AAC7B;","names":[]}
package/dist/index.d.mts CHANGED
@@ -1,4 +1,4 @@
1
- import { UiNodeInputAttributes, UiNode, UiNodeAnchorAttributes, UiNodeTextAttributes, UiNodeImageAttributes, UiNodeGroupEnum, UiText, ConfigurationParameters, FlowType, LoginFlow, RegistrationFlow, RecoveryFlow, VerificationFlow, SettingsFlow, FlowError, UpdateLoginFlowBody, UpdateRegistrationFlowBody, UpdateVerificationFlowBody, UpdateRecoveryFlowBody, UpdateSettingsFlowBody, OnRedirectHandler } from '@ory/client-fetch';
1
+ import { UiNodeInputAttributes, UiNode, UiNodeAnchorAttributes, UiNodeTextAttributes, UiNodeImageAttributes, UiNodeGroupEnum, UiText, ConfigurationParameters, FlowType, LoginFlow, RegistrationFlow, RecoveryFlow, VerificationFlow, SettingsFlow, UiContainer, OAuth2ConsentRequest, Session, FlowError, UpdateLoginFlowBody, UpdateRegistrationFlowBody, UpdateVerificationFlowBody, UpdateRecoveryFlowBody, UpdateSettingsFlowBody, OnRedirectHandler } from '@ory/client-fetch';
2
2
  import { ComponentPropsWithoutRef, FormEventHandler, MouseEventHandler, PropsWithChildren, DetailedHTMLProps, HTMLAttributes, ComponentType, Dispatch } from 'react';
3
3
  import * as class_variance_authority_types from 'class-variance-authority/types';
4
4
  import { VariantProps } from 'class-variance-authority';
@@ -59,6 +59,11 @@ type OryNodeInputProps = {
59
59
  node: UiNode;
60
60
  onClick?: MouseEventHandler;
61
61
  };
62
+ type OryNodeConsentScopeCheckboxProps = {
63
+ attributes: UiNodeInputAttributes;
64
+ node: UiNode;
65
+ onCheckedChange: (checked: boolean) => void;
66
+ };
62
67
  type OryFormSectionContentProps = PropsWithChildren<{
63
68
  title?: string;
64
69
  description?: string;
@@ -105,6 +110,8 @@ declare function OryCardContent({ children }: OryCardContentProps): react_jsx_ru
105
110
 
106
111
  declare function OryTwoStepCard(): react_jsx_runtime.JSX.Element;
107
112
 
113
+ declare function OryConsentCard(): react_jsx_runtime.JSX.Element;
114
+
108
115
  /**
109
116
  * Props type for the Form Group Divider component.
110
117
  */
@@ -248,6 +255,10 @@ type OryFlowComponents = {
248
255
  * The Captcha component is rendered whenever a "captcha" group is encountered.
249
256
  */
250
257
  Captcha: ComponentType<OryNodeCaptchaProps>;
258
+ /**
259
+ * Special version of the Input component for scopes in OAuth2 flows.
260
+ */
261
+ ConsentScopeCheckbox: ComponentType<OryNodeConsentScopeCheckboxProps>;
251
262
  };
252
263
  Card: {
253
264
  /**
@@ -414,7 +425,7 @@ type OryClientConfiguration = {
414
425
  *
415
426
  * @see OryClientConfiguration
416
427
  */
417
- type OryFlow<TFlowType, TFlow> = {
428
+ type OryFlow<TFlowType extends FlowType, TFlow> = {
418
429
  flowType: TFlowType;
419
430
  flow: TFlow;
420
431
  config: OryClientConfiguration;
@@ -463,10 +474,22 @@ type SettingsFlowContainer = OryFlow<FlowType.Settings, SettingsFlow>;
463
474
  *
464
475
  */
465
476
  type ErrorFlowContainer = OryFlow<FlowType.Error, FlowError>;
477
+ type ConsentFlow = {
478
+ created_at: Date;
479
+ expires_at: Date;
480
+ id: string;
481
+ issued_at: Date;
482
+ state: "show_form" | "rejected" | "accepted";
483
+ active: string;
484
+ ui: UiContainer;
485
+ consent_request: OAuth2ConsentRequest;
486
+ session: Session;
487
+ };
488
+ type ConsentFlowContainer = OryFlow<FlowType.OAuth2Consent, ConsentFlow>;
466
489
  /**
467
490
  * A union type of all flow containers
468
491
  */
469
- type OryFlowContainer = LoginFlowContainer | RegistrationFlowContainer | RecoveryFlowContainer | VerificationFlowContainer | SettingsFlowContainer;
492
+ type OryFlowContainer = LoginFlowContainer | RegistrationFlowContainer | RecoveryFlowContainer | VerificationFlowContainer | SettingsFlowContainer | ConsentFlowContainer;
470
493
 
471
494
  /**
472
495
  * Converts a UiText to a FormattedMessage.
@@ -594,4 +617,4 @@ type OryProviderProps = {
594
617
  } & OryFlowContainer & PropsWithChildren;
595
618
  declare function OryProvider({ children, components: Components, ...oryFlowProps }: OryProviderProps): react_jsx_runtime.JSX.Element;
596
619
 
597
- export { type ErrorFlowContainer, type FlowContainerSetter, type FlowContextValue, type FormState, type FormStateAction, type FormValues, HeadlessPageHeader, type IntlConfig, type LoginFlowContainer, type OnSubmitHandlerProps, OryCard, type OryCardAuthMethodListItemProps, OryCardContent, type OryCardContentProps, type OryCardDividerProps, OryCardFooter, type OryCardFooterProps, OryCardHeader, type OryCardHeaderProps, type OryCardLogoProps, type OryCardRootProps as OryCardProps, type OryCardSettingsSectionProps, OryCardValidationMessages, type OryClientConfiguration, type OryFlowComponentOverrides, type OryFlowComponents, type OryFlowContainer, OryForm, OryFormGroupDivider, type OryFormGroupProps, OryFormGroups, type OryFormGroupsProps, OryFormOidcButtons, type OryFormOidcRootProps, type OryFormProps, type OryFormRootProps, OryFormSection, type OryFormSectionContentProps, type OryFormSectionFooterProps, type OryFormSectionProps, OryFormSocialButtonsForm, OryLocales, type OryMessageContentProps, type OryMessageRootProps, type OryNodeAnchorProps, type OryNodeButtonProps, type OryNodeCaptchaProps, type OryNodeImageProps, type OryNodeInputProps, type OryNodeLabelProps, type OryNodeOidcButtonProps, type OryNodeTextProps, type OryPageHeaderProps, OryProvider, type OryProviderProps, OrySettingsCard, type OrySettingsOidcProps, type OrySettingsPasskeyProps, type OrySettingsRecoveryCodesProps, type OrySettingsTotpProps, type OrySettingsWebauthnProps, OryTwoStepCard, type RecoveryFlowContainer, type RegistrationFlowContainer, type SettingsFlowContainer, type VerificationFlowContainer, messageTestId, uiTextToFormattedMessage, useComponents, useNodeSorter, useOryFlow };
620
+ export { type ConsentFlow, type ConsentFlowContainer, type ErrorFlowContainer, type FlowContainerSetter, type FlowContextValue, type FormState, type FormStateAction, type FormValues, HeadlessPageHeader, type IntlConfig, type LoginFlowContainer, type OnSubmitHandlerProps, OryCard, type OryCardAuthMethodListItemProps, OryCardContent, type OryCardContentProps, type OryCardDividerProps, OryCardFooter, type OryCardFooterProps, OryCardHeader, type OryCardHeaderProps, type OryCardLogoProps, type OryCardRootProps as OryCardProps, type OryCardSettingsSectionProps, OryCardValidationMessages, type OryClientConfiguration, OryConsentCard, type OryFlowComponentOverrides, type OryFlowComponents, type OryFlowContainer, OryForm, OryFormGroupDivider, type OryFormGroupProps, OryFormGroups, type OryFormGroupsProps, OryFormOidcButtons, type OryFormOidcRootProps, type OryFormProps, type OryFormRootProps, OryFormSection, type OryFormSectionContentProps, type OryFormSectionFooterProps, type OryFormSectionProps, OryFormSocialButtonsForm, OryLocales, type OryMessageContentProps, type OryMessageRootProps, type OryNodeAnchorProps, type OryNodeButtonProps, type OryNodeCaptchaProps, type OryNodeConsentScopeCheckboxProps, type OryNodeImageProps, type OryNodeInputProps, type OryNodeLabelProps, type OryNodeOidcButtonProps, type OryNodeTextProps, type OryPageHeaderProps, OryProvider, type OryProviderProps, OrySettingsCard, type OrySettingsOidcProps, type OrySettingsPasskeyProps, type OrySettingsRecoveryCodesProps, type OrySettingsTotpProps, type OrySettingsWebauthnProps, OryTwoStepCard, type RecoveryFlowContainer, type RegistrationFlowContainer, type SettingsFlowContainer, type VerificationFlowContainer, messageTestId, uiTextToFormattedMessage, useComponents, useNodeSorter, useOryFlow };
package/dist/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { UiNodeInputAttributes, UiNode, UiNodeAnchorAttributes, UiNodeTextAttributes, UiNodeImageAttributes, UiNodeGroupEnum, UiText, ConfigurationParameters, FlowType, LoginFlow, RegistrationFlow, RecoveryFlow, VerificationFlow, SettingsFlow, FlowError, UpdateLoginFlowBody, UpdateRegistrationFlowBody, UpdateVerificationFlowBody, UpdateRecoveryFlowBody, UpdateSettingsFlowBody, OnRedirectHandler } from '@ory/client-fetch';
1
+ import { UiNodeInputAttributes, UiNode, UiNodeAnchorAttributes, UiNodeTextAttributes, UiNodeImageAttributes, UiNodeGroupEnum, UiText, ConfigurationParameters, FlowType, LoginFlow, RegistrationFlow, RecoveryFlow, VerificationFlow, SettingsFlow, UiContainer, OAuth2ConsentRequest, Session, FlowError, UpdateLoginFlowBody, UpdateRegistrationFlowBody, UpdateVerificationFlowBody, UpdateRecoveryFlowBody, UpdateSettingsFlowBody, OnRedirectHandler } from '@ory/client-fetch';
2
2
  import { ComponentPropsWithoutRef, FormEventHandler, MouseEventHandler, PropsWithChildren, DetailedHTMLProps, HTMLAttributes, ComponentType, Dispatch } from 'react';
3
3
  import * as class_variance_authority_types from 'class-variance-authority/types';
4
4
  import { VariantProps } from 'class-variance-authority';
@@ -59,6 +59,11 @@ type OryNodeInputProps = {
59
59
  node: UiNode;
60
60
  onClick?: MouseEventHandler;
61
61
  };
62
+ type OryNodeConsentScopeCheckboxProps = {
63
+ attributes: UiNodeInputAttributes;
64
+ node: UiNode;
65
+ onCheckedChange: (checked: boolean) => void;
66
+ };
62
67
  type OryFormSectionContentProps = PropsWithChildren<{
63
68
  title?: string;
64
69
  description?: string;
@@ -105,6 +110,8 @@ declare function OryCardContent({ children }: OryCardContentProps): react_jsx_ru
105
110
 
106
111
  declare function OryTwoStepCard(): react_jsx_runtime.JSX.Element;
107
112
 
113
+ declare function OryConsentCard(): react_jsx_runtime.JSX.Element;
114
+
108
115
  /**
109
116
  * Props type for the Form Group Divider component.
110
117
  */
@@ -248,6 +255,10 @@ type OryFlowComponents = {
248
255
  * The Captcha component is rendered whenever a "captcha" group is encountered.
249
256
  */
250
257
  Captcha: ComponentType<OryNodeCaptchaProps>;
258
+ /**
259
+ * Special version of the Input component for scopes in OAuth2 flows.
260
+ */
261
+ ConsentScopeCheckbox: ComponentType<OryNodeConsentScopeCheckboxProps>;
251
262
  };
252
263
  Card: {
253
264
  /**
@@ -414,7 +425,7 @@ type OryClientConfiguration = {
414
425
  *
415
426
  * @see OryClientConfiguration
416
427
  */
417
- type OryFlow<TFlowType, TFlow> = {
428
+ type OryFlow<TFlowType extends FlowType, TFlow> = {
418
429
  flowType: TFlowType;
419
430
  flow: TFlow;
420
431
  config: OryClientConfiguration;
@@ -463,10 +474,22 @@ type SettingsFlowContainer = OryFlow<FlowType.Settings, SettingsFlow>;
463
474
  *
464
475
  */
465
476
  type ErrorFlowContainer = OryFlow<FlowType.Error, FlowError>;
477
+ type ConsentFlow = {
478
+ created_at: Date;
479
+ expires_at: Date;
480
+ id: string;
481
+ issued_at: Date;
482
+ state: "show_form" | "rejected" | "accepted";
483
+ active: string;
484
+ ui: UiContainer;
485
+ consent_request: OAuth2ConsentRequest;
486
+ session: Session;
487
+ };
488
+ type ConsentFlowContainer = OryFlow<FlowType.OAuth2Consent, ConsentFlow>;
466
489
  /**
467
490
  * A union type of all flow containers
468
491
  */
469
- type OryFlowContainer = LoginFlowContainer | RegistrationFlowContainer | RecoveryFlowContainer | VerificationFlowContainer | SettingsFlowContainer;
492
+ type OryFlowContainer = LoginFlowContainer | RegistrationFlowContainer | RecoveryFlowContainer | VerificationFlowContainer | SettingsFlowContainer | ConsentFlowContainer;
470
493
 
471
494
  /**
472
495
  * Converts a UiText to a FormattedMessage.
@@ -594,4 +617,4 @@ type OryProviderProps = {
594
617
  } & OryFlowContainer & PropsWithChildren;
595
618
  declare function OryProvider({ children, components: Components, ...oryFlowProps }: OryProviderProps): react_jsx_runtime.JSX.Element;
596
619
 
597
- export { type ErrorFlowContainer, type FlowContainerSetter, type FlowContextValue, type FormState, type FormStateAction, type FormValues, HeadlessPageHeader, type IntlConfig, type LoginFlowContainer, type OnSubmitHandlerProps, OryCard, type OryCardAuthMethodListItemProps, OryCardContent, type OryCardContentProps, type OryCardDividerProps, OryCardFooter, type OryCardFooterProps, OryCardHeader, type OryCardHeaderProps, type OryCardLogoProps, type OryCardRootProps as OryCardProps, type OryCardSettingsSectionProps, OryCardValidationMessages, type OryClientConfiguration, type OryFlowComponentOverrides, type OryFlowComponents, type OryFlowContainer, OryForm, OryFormGroupDivider, type OryFormGroupProps, OryFormGroups, type OryFormGroupsProps, OryFormOidcButtons, type OryFormOidcRootProps, type OryFormProps, type OryFormRootProps, OryFormSection, type OryFormSectionContentProps, type OryFormSectionFooterProps, type OryFormSectionProps, OryFormSocialButtonsForm, OryLocales, type OryMessageContentProps, type OryMessageRootProps, type OryNodeAnchorProps, type OryNodeButtonProps, type OryNodeCaptchaProps, type OryNodeImageProps, type OryNodeInputProps, type OryNodeLabelProps, type OryNodeOidcButtonProps, type OryNodeTextProps, type OryPageHeaderProps, OryProvider, type OryProviderProps, OrySettingsCard, type OrySettingsOidcProps, type OrySettingsPasskeyProps, type OrySettingsRecoveryCodesProps, type OrySettingsTotpProps, type OrySettingsWebauthnProps, OryTwoStepCard, type RecoveryFlowContainer, type RegistrationFlowContainer, type SettingsFlowContainer, type VerificationFlowContainer, messageTestId, uiTextToFormattedMessage, useComponents, useNodeSorter, useOryFlow };
620
+ export { type ConsentFlow, type ConsentFlowContainer, type ErrorFlowContainer, type FlowContainerSetter, type FlowContextValue, type FormState, type FormStateAction, type FormValues, HeadlessPageHeader, type IntlConfig, type LoginFlowContainer, type OnSubmitHandlerProps, OryCard, type OryCardAuthMethodListItemProps, OryCardContent, type OryCardContentProps, type OryCardDividerProps, OryCardFooter, type OryCardFooterProps, OryCardHeader, type OryCardHeaderProps, type OryCardLogoProps, type OryCardRootProps as OryCardProps, type OryCardSettingsSectionProps, OryCardValidationMessages, type OryClientConfiguration, OryConsentCard, type OryFlowComponentOverrides, type OryFlowComponents, type OryFlowContainer, OryForm, OryFormGroupDivider, type OryFormGroupProps, OryFormGroups, type OryFormGroupsProps, OryFormOidcButtons, type OryFormOidcRootProps, type OryFormProps, type OryFormRootProps, OryFormSection, type OryFormSectionContentProps, type OryFormSectionFooterProps, type OryFormSectionProps, OryFormSocialButtonsForm, OryLocales, type OryMessageContentProps, type OryMessageRootProps, type OryNodeAnchorProps, type OryNodeButtonProps, type OryNodeCaptchaProps, type OryNodeConsentScopeCheckboxProps, type OryNodeImageProps, type OryNodeInputProps, type OryNodeLabelProps, type OryNodeOidcButtonProps, type OryNodeTextProps, type OryPageHeaderProps, OryProvider, type OryProviderProps, OrySettingsCard, type OrySettingsOidcProps, type OrySettingsPasskeyProps, type OrySettingsRecoveryCodesProps, type OrySettingsTotpProps, type OrySettingsWebauthnProps, OryTwoStepCard, type RecoveryFlowContainer, type RegistrationFlowContainer, type SettingsFlowContainer, type VerificationFlowContainer, messageTestId, uiTextToFormattedMessage, useComponents, useNodeSorter, useOryFlow };
package/dist/index.js CHANGED
@@ -263,6 +263,8 @@ function parseStateFromFlow(flow) {
263
263
  break;
264
264
  case clientFetch.FlowType.Settings:
265
265
  return { current: "settings" };
266
+ case clientFetch.FlowType.OAuth2Consent:
267
+ return { current: "method_active", method: "oauth2_consent" };
266
268
  }
267
269
  console.warn(
268
270
  `[Ory/Elements React] Encountered an unknown form state on ${flow.flowType} flow with ID ${flow.flow.id}`
@@ -376,6 +378,22 @@ function computeDefaultValues(nodes) {
376
378
  if (attrs.name === "method" || attrs.type === "submit" || typeof attrs.value === "undefined") {
377
379
  return acc;
378
380
  }
381
+ if (attrs.name.startsWith("grant_scope")) {
382
+ const scope = attrs.value;
383
+ if (Array.isArray(acc.grant_scope)) {
384
+ return {
385
+ ...acc,
386
+ // We want to have all scopes accepted by default, so that the user has to actively uncheck them.
387
+ grant_scope: [...acc.grant_scope, scope]
388
+ };
389
+ } else if (!acc.grant_scope) {
390
+ return {
391
+ ...acc,
392
+ grant_scope: [scope]
393
+ };
394
+ }
395
+ return acc;
396
+ }
379
397
  return unrollTrait(
380
398
  {
381
399
  name: attrs.name,
@@ -825,6 +843,19 @@ function useOryFormSubmit(onAfterSubmit) {
825
843
  });
826
844
  break;
827
845
  }
846
+ case clientFetch.FlowType.OAuth2Consent: {
847
+ const response = await fetch(flowContainer.flow.ui.action, {
848
+ method: "POST",
849
+ body: JSON.stringify(data),
850
+ headers: {
851
+ "Content-Type": "application/json"
852
+ }
853
+ });
854
+ const oauth2Success = await response.json();
855
+ if (oauth2Success.redirect_to && typeof oauth2Success.redirect_to === "string") {
856
+ onRedirect(oauth2Success.redirect_to);
857
+ }
858
+ }
828
859
  }
829
860
  if ("password" in data) {
830
861
  methods.setValue("password", "");
@@ -912,7 +943,7 @@ var NodeInput = ({
912
943
  }) => {
913
944
  var _a;
914
945
  const { Node: Node2 } = useComponents();
915
- const { setValue } = reactHookForm.useFormContext();
946
+ const { setValue, watch } = reactHookForm.useFormContext();
916
947
  const {
917
948
  onloadTrigger,
918
949
  onclickTrigger,
@@ -925,7 +956,10 @@ var NodeInput = ({
925
956
  const isResendNode = ((_a = node.meta.label) == null ? void 0 : _a.id) === 1070008;
926
957
  const isScreenSelectionNode = "name" in node.attributes && node.attributes.name === "screen";
927
958
  const setFormValue = () => {
928
- if (attrs.value && !(isResendNode || isScreenSelectionNode)) {
959
+ if (isResendNode || isScreenSelectionNode || node.group === clientFetch.UiNodeGroupEnum.Oauth2Consent) {
960
+ return;
961
+ }
962
+ if (attrs.value !== void 0) {
929
963
  setValue(attrs.name, attrs.value);
930
964
  }
931
965
  };
@@ -950,6 +984,19 @@ var NodeInput = ({
950
984
  };
951
985
  const isSocial = (attrs.name === "provider" || attrs.name === "link") && (node.group === clientFetch.UiNodeGroupEnum.Oidc || node.group === clientFetch.UiNodeGroupEnum.Saml);
952
986
  const isPinCodeInput = attrs.name === "code" && node.group === "code" || attrs.name === "totp_code" && node.group === "totp";
987
+ const handleScopeChange = (checked) => {
988
+ const scopes = watch("grant_scope");
989
+ if (Array.isArray(scopes)) {
990
+ if (checked) {
991
+ setValue("grant_scope", Array.from(/* @__PURE__ */ new Set([...scopes, attrs.value])));
992
+ } else {
993
+ setValue(
994
+ "grant_scope",
995
+ scopes.filter((scope) => scope !== attrs.value)
996
+ );
997
+ }
998
+ }
999
+ };
953
1000
  switch (attributes.type) {
954
1001
  case clientFetch.UiNodeInputAttributesTypeEnum.Submit:
955
1002
  case clientFetch.UiNodeInputAttributesTypeEnum.Button:
@@ -959,6 +1006,9 @@ var NodeInput = ({
959
1006
  if (isResendNode || isScreenSelectionNode) {
960
1007
  return null;
961
1008
  }
1009
+ if (node.group === "oauth2_consent") {
1010
+ return null;
1011
+ }
962
1012
  return /* @__PURE__ */ jsxRuntime.jsx(
963
1013
  Node2.Label,
964
1014
  {
@@ -970,6 +1020,21 @@ var NodeInput = ({
970
1020
  case clientFetch.UiNodeInputAttributesTypeEnum.DatetimeLocal:
971
1021
  throw new Error("Not implemented");
972
1022
  case clientFetch.UiNodeInputAttributesTypeEnum.Checkbox:
1023
+ if (node.group === "oauth2_consent" && node.attributes.node_type === "input") {
1024
+ switch (node.attributes.name) {
1025
+ case "grant_scope":
1026
+ return /* @__PURE__ */ jsxRuntime.jsx(
1027
+ Node2.ConsentScopeCheckbox,
1028
+ {
1029
+ attributes: attrs,
1030
+ node,
1031
+ onCheckedChange: handleScopeChange
1032
+ }
1033
+ );
1034
+ default:
1035
+ return null;
1036
+ }
1037
+ }
973
1038
  return /* @__PURE__ */ jsxRuntime.jsx(
974
1039
  Node2.Label,
975
1040
  {
@@ -1058,7 +1123,9 @@ function OryFormSocialButtonsForm() {
1058
1123
  const {
1059
1124
  flow: { ui }
1060
1125
  } = useOryFlow();
1061
- const filteredNodes = ui.nodes.filter((node) => node.group === "oidc");
1126
+ const filteredNodes = ui.nodes.filter(
1127
+ (node) => node.group === clientFetch.UiNodeGroupEnum.Saml || node.group === clientFetch.UiNodeGroupEnum.Oidc
1128
+ );
1062
1129
  if (filteredNodes.length === 0) {
1063
1130
  return null;
1064
1131
  }
@@ -1232,6 +1299,19 @@ function OryFormSectionInner({
1232
1299
  }
1233
1300
  );
1234
1301
  }
1302
+ function OryConsentCard() {
1303
+ const { Form, Card } = useComponents();
1304
+ const flow = useOryFlow();
1305
+ return /* @__PURE__ */ jsxRuntime.jsxs(OryCard, { children: [
1306
+ /* @__PURE__ */ jsxRuntime.jsx(OryCardHeader, {}),
1307
+ /* @__PURE__ */ jsxRuntime.jsx(OryCardContent, { children: /* @__PURE__ */ jsxRuntime.jsxs(OryForm, { children: [
1308
+ /* @__PURE__ */ jsxRuntime.jsx(Card.Divider, {}),
1309
+ /* @__PURE__ */ jsxRuntime.jsx(Form.Group, { children: flow.flow.ui.nodes.map((node, k) => /* @__PURE__ */ jsxRuntime.jsx(Node, { node }, k)) }),
1310
+ /* @__PURE__ */ jsxRuntime.jsx(Card.Divider, {}),
1311
+ /* @__PURE__ */ jsxRuntime.jsx(OryCardFooter, {})
1312
+ ] }) })
1313
+ ] });
1314
+ }
1235
1315
  function OryFormGroupDivider() {
1236
1316
  const { Card } = useComponents();
1237
1317
  const {
@@ -2031,6 +2111,20 @@ var en_default = {
2031
2111
  "property.username": "username",
2032
2112
  "property.identifier": "identifier",
2033
2113
  "property.code": "code",
2114
+ "consent.title": "Authorize {party}",
2115
+ "consent.subtitle": "A third party application wants to access information associated with your account {identifier}.",
2116
+ "consent.scope.openid.title": "Identity",
2117
+ "consent.scope.openid.description": "Allows the application to verify your identity. This is required for authentication and a trusted login experience.",
2118
+ "consent.scope.offline_access.title": "Offline Access",
2119
+ "consent.scope.offline_access.description": "Allows this application to keep you signed in even when you're not actively using it.",
2120
+ "consent.scope.profile.title": "Profile Information",
2121
+ "consent.scope.profile.description": "Allows access to your basic profile details, including your username, first name, and last name.",
2122
+ "consent.scope.email.title": "Email Address",
2123
+ "consent.scope.email.description": "Retrieve your email address and its verification status.",
2124
+ "consent.scope.address.title": "Physical Address",
2125
+ "consent.scope.address.description": "Access your postal address.",
2126
+ "consent.scope.phone.title": "Phone Number",
2127
+ "consent.scope.phone.description": "Retrieve your phone number and its verification status.",
2034
2128
  "error.title.what-happened": "What happened?",
2035
2129
  "error.title.what-can-i-do": "What can I do?",
2036
2130
  "error.instructions": "Please try again in a few minutes or contact the website operator.",
@@ -2302,6 +2396,20 @@ var de_default = {
2302
2396
  "property.phone": "Telefon",
2303
2397
  "property.code": "Code",
2304
2398
  "property.username": "Benutzername",
2399
+ "consent.title": "Autorisieren {party}",
2400
+ "consent.subtitle": "Eine Drittanbieteranwendung m\xF6chte auf Informationen zugreifen, die mit Ihrem Konto {identifier} verkn\xFCpft sind.",
2401
+ "consent.scope.openid.title": "Identit\xE4t",
2402
+ "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.",
2403
+ "consent.scope.offline_access.title": "Offline-Zugriff",
2404
+ "consent.scope.offline_access.description": "Erm\xF6glicht dieser Anwendung, Sie angemeldet zu lassen, auch wenn Sie sie nicht aktiv nutzen.",
2405
+ "consent.scope.profile.title": "Profilinformationen",
2406
+ "consent.scope.profile.description": "Erm\xF6glicht den Zugriff auf Ihre grundlegenden Profildetails, einschlie\xDFlich Ihres Benutzernamens, Vornamens und Nachnamens.",
2407
+ "consent.scope.email.title": "E-Mail-Adresse",
2408
+ "consent.scope.email.description": "Erm\xF6glicht den Abruf Ihrer E-Mail-Adresse und deren \xDCberpr\xFCfungsstatus.",
2409
+ "consent.scope.address.title": "Physische Adresse",
2410
+ "consent.scope.address.description": "Erm\xF6glicht den Zugriff auf Ihre Postanschrift.",
2411
+ "consent.scope.phone.title": "Telefonnummer",
2412
+ "consent.scope.phone.description": "Erm\xF6glicht den Abruf Ihrer Telefonnummer und deren \xDCberpr\xFCfungsstatus.",
2305
2413
  "error.title.what-happened": "Was ist passiert?",
2306
2414
  "error.footer.copy": "Kopieren",
2307
2415
  "error.footer.text": "Bitte f\xFCgen Sie bei der Meldung dieses Fehlers die folgenden Informationen hinzu:",
@@ -2573,6 +2681,20 @@ var es_default = {
2573
2681
  "property.password": "",
2574
2682
  "property.phone": "",
2575
2683
  "property.username": "",
2684
+ "consent.title": "Autorizar {party}",
2685
+ "consent.subtitle": "Una aplicaci\xF3n de terceros quiere acceder a la informaci\xF3n asociada a su cuenta {identifier}.",
2686
+ "consent.scope.openid.title": "Identidad",
2687
+ "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.",
2688
+ "consent.scope.offline_access.title": "Acceso sin conexi\xF3n",
2689
+ "consent.scope.offline_access.description": "Permite que esta aplicaci\xF3n le mantenga conectado incluso cuando no la est\xE9 utilizando activamente.",
2690
+ "consent.scope.profile.title": "Informaci\xF3n del perfil",
2691
+ "consent.scope.profile.description": "Permite el acceso a los detalles b\xE1sicos de su perfil, incluyendo su nombre de usuario, nombre y apellido.",
2692
+ "consent.scope.email.title": "Direcci\xF3n de correo electr\xF3nico",
2693
+ "consent.scope.email.description": "Recupere su direcci\xF3n de correo electr\xF3nico y su estado de verificaci\xF3n.",
2694
+ "consent.scope.address.title": "Direcci\xF3n f\xEDsica",
2695
+ "consent.scope.address.description": "Acceda a su direcci\xF3n postal.",
2696
+ "consent.scope.phone.title": "N\xFAmero de tel\xE9fono",
2697
+ "consent.scope.phone.description": "Recupere su n\xFAmero de tel\xE9fono y su estado de verificaci\xF3n.",
2576
2698
  "error.action.go-back": "",
2577
2699
  "error.footer.copy": "",
2578
2700
  "error.footer.text": "",
@@ -2844,6 +2966,20 @@ var fr_default = {
2844
2966
  "property.password": "",
2845
2967
  "property.phone": "",
2846
2968
  "property.username": "",
2969
+ "consent.title": "Autoriser {party}",
2970
+ "consent.subtitle": "Une application tierce souhaite acc\xE9der aux informations associ\xE9es \xE0 votre compte {identifier}.",
2971
+ "consent.scope.openid.title": "Identit\xE9",
2972
+ "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.",
2973
+ "consent.scope.offline_access.title": "Acc\xE8s hors ligne",
2974
+ "consent.scope.offline_access.description": "Permet \xE0 cette application de vous maintenir connect\xE9 m\xEAme lorsque vous ne l'utilisez pas activement.",
2975
+ "consent.scope.profile.title": "Informations de profil",
2976
+ "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.",
2977
+ "consent.scope.email.title": "Adresse e-mail",
2978
+ "consent.scope.email.description": "R\xE9cup\xE8re votre adresse e-mail et son statut de v\xE9rification.",
2979
+ "consent.scope.address.title": "Adresse physique",
2980
+ "consent.scope.address.description": "Acc\xE8de \xE0 votre adresse postale.",
2981
+ "consent.scope.phone.title": "Num\xE9ro de t\xE9l\xE9phone",
2982
+ "consent.scope.phone.description": "R\xE9cup\xE8re votre num\xE9ro de t\xE9l\xE9phone et son statut de v\xE9rification.",
2847
2983
  "error.action.go-back": "",
2848
2984
  "error.footer.copy": "",
2849
2985
  "error.footer.text": "",
@@ -3115,6 +3251,20 @@ var nl_default = {
3115
3251
  "property.password": "",
3116
3252
  "property.phone": "",
3117
3253
  "property.username": "",
3254
+ "consent.title": "Autoriseren {party}",
3255
+ "consent.subtitle": "Een derde partij applicatie wil toegang tot informatie die aan uw account {identifier} is gekoppeld.",
3256
+ "consent.scope.openid.title": "Identiteit",
3257
+ "consent.scope.openid.description": "Stelt de applicatie in staat uw identiteit te verifi\xEBren. Dit is vereist voor authenticatie en een betrouwbare inlogervaring.",
3258
+ "consent.scope.offline_access.title": "Offline toegang",
3259
+ "consent.scope.offline_access.description": "Stelt deze applicatie in staat u ingelogd te houden, zelfs wanneer u deze niet actief gebruikt.",
3260
+ "consent.scope.profile.title": "Profielinformatie",
3261
+ "consent.scope.profile.description": "Geeft toegang tot uw basisprofielgegevens, inclusief uw gebruikersnaam, voornaam en achternaam.",
3262
+ "consent.scope.email.title": "E-mailadres",
3263
+ "consent.scope.email.description": "Haal uw e-mailadres en de verificatiestatus ervan op.",
3264
+ "consent.scope.address.title": "Fysiek adres",
3265
+ "consent.scope.address.description": "Toegang tot uw postadres.",
3266
+ "consent.scope.phone.title": "Telefoonnummer",
3267
+ "consent.scope.phone.description": "Haal uw telefoonnummer en de verificatiestatus ervan op.",
3118
3268
  "error.action.go-back": "",
3119
3269
  "error.footer.copy": "",
3120
3270
  "error.footer.text": "",
@@ -3386,6 +3536,20 @@ var pl_default = {
3386
3536
  "property.phone": "",
3387
3537
  "property.username": "",
3388
3538
  "property.identifier": "",
3539
+ "consent.title": "Autoryzuj {party}",
3540
+ "consent.subtitle": "Aplikacja trzeciej strony chce uzyska\u0107 dost\u0119p do informacji powi\u0105zanych z Twoim kontem {identifier}.",
3541
+ "consent.scope.openid.title": "To\u017Csamo\u015B\u0107",
3542
+ "consent.scope.openid.description": "Pozwala aplikacji zweryfikowa\u0107 Twoj\u0105 to\u017Csamo\u015B\u0107. Jest to wymagane do uwierzytelniania i zapewnienia zaufanej sesji logowania.",
3543
+ "consent.scope.offline_access.title": "Dost\u0119p offline",
3544
+ "consent.scope.offline_access.description": "Pozwala aplikacji utrzyma\u0107 Twoje logowanie, nawet gdy nie korzystasz z niej aktywnie.",
3545
+ "consent.scope.profile.title": "Informacje profilowe",
3546
+ "consent.scope.profile.description": "Pozwala na dost\u0119p do podstawowych danych profilowych, w tym nazwy u\u017Cytkownika, imienia i nazwiska.",
3547
+ "consent.scope.email.title": "Adres e-mail",
3548
+ "consent.scope.email.description": "Pobierz sw\xF3j adres e-mail oraz status jego weryfikacji.",
3549
+ "consent.scope.address.title": "Adres fizyczny",
3550
+ "consent.scope.address.description": "Dost\u0119p do Twojego adresu pocztowego.",
3551
+ "consent.scope.phone.title": "Numer telefonu",
3552
+ "consent.scope.phone.description": "Pobierz sw\xF3j numer telefonu oraz status jego weryfikacji.",
3389
3553
  "error.action.go-back": "",
3390
3554
  "error.footer.copy": "",
3391
3555
  "error.footer.text": "",
@@ -3657,6 +3821,20 @@ var pt_default = {
3657
3821
  "property.password": "",
3658
3822
  "property.phone": "",
3659
3823
  "property.username": "",
3824
+ "consent.title": "Autorizar {party}",
3825
+ "consent.subtitle": "Um aplicativo de terceiros deseja acessar as informa\xE7\xF5es associadas \xE0 sua conta {identifier}.",
3826
+ "consent.scope.openid.title": "Identidade",
3827
+ "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.",
3828
+ "consent.scope.offline_access.title": "Acesso Offline",
3829
+ "consent.scope.offline_access.description": "Permite que este aplicativo mantenha voc\xEA conectado mesmo quando n\xE3o estiver usando-o ativamente.",
3830
+ "consent.scope.profile.title": "Informa\xE7\xF5es do Perfil",
3831
+ "consent.scope.profile.description": "Permite o acesso aos detalhes b\xE1sicos do seu perfil, incluindo seu nome de usu\xE1rio, primeiro nome e sobrenome.",
3832
+ "consent.scope.email.title": "Endere\xE7o de E-mail",
3833
+ "consent.scope.email.description": "Recupere seu endere\xE7o de e-mail e seu status de verifica\xE7\xE3o.",
3834
+ "consent.scope.address.title": "Endere\xE7o F\xEDsico",
3835
+ "consent.scope.address.description": "Acesse seu endere\xE7o postal.",
3836
+ "consent.scope.phone.title": "N\xFAmero de Telefone",
3837
+ "consent.scope.phone.description": "Recupere seu n\xFAmero de telefone e seu status de verifica\xE7\xE3o.",
3660
3838
  "error.action.go-back": "",
3661
3839
  "error.footer.copy": "",
3662
3840
  "error.footer.text": "",
@@ -3928,6 +4106,20 @@ var sv_default = {
3928
4106
  "property.username": "anv\xE4ndarnamn",
3929
4107
  "property.identifier": "identifier",
3930
4108
  "property.code": "kod",
4109
+ "consent.title": "Auktorisera {party}",
4110
+ "consent.subtitle": "En tredjepartsapplikation vill f\xE5 tillg\xE5ng till information kopplad till ditt konto {identifier}.",
4111
+ "consent.scope.openid.title": "Identitet",
4112
+ "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.",
4113
+ "consent.scope.offline_access.title": "Offline-\xE5tkomst",
4114
+ "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.",
4115
+ "consent.scope.profile.title": "Profilinformation",
4116
+ "consent.scope.profile.description": "Ger tillg\xE5ng till dina grundl\xE4ggande profiluppgifter, inklusive ditt anv\xE4ndarnamn, f\xF6rnamn och efternamn.",
4117
+ "consent.scope.email.title": "E-postadress",
4118
+ "consent.scope.email.description": "H\xE4mta din e-postadress och dess verifieringsstatus.",
4119
+ "consent.scope.address.title": "Fysisk adress",
4120
+ "consent.scope.address.description": "F\xE5 \xE5tkomst till din postadress.",
4121
+ "consent.scope.phone.title": "Telefonnummer",
4122
+ "consent.scope.phone.description": "H\xE4mta ditt telefonnummer och dess verifieringsstatus.",
3931
4123
  "error.action.go-back": "",
3932
4124
  "error.footer.copy": "",
3933
4125
  "error.footer.text": "",
@@ -3954,6 +4146,7 @@ exports.OryCardContent = OryCardContent;
3954
4146
  exports.OryCardFooter = OryCardFooter;
3955
4147
  exports.OryCardHeader = OryCardHeader;
3956
4148
  exports.OryCardValidationMessages = OryCardValidationMessages;
4149
+ exports.OryConsentCard = OryConsentCard;
3957
4150
  exports.OryForm = OryForm;
3958
4151
  exports.OryFormGroupDivider = OryFormGroupDivider;
3959
4152
  exports.OryFormGroups = OryFormGroups;