@faable/auth-sdk 2.8.10 → 2.8.11

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.
@@ -618,7 +618,7 @@ export declare class FaableAuthApi extends GeneratedFaableAuthApi {
618
618
  all: () => Promise<{
619
619
  id: string;
620
620
  connection_name: string;
621
- connection_type: "custom" | "database" | "github" | "figma" | "google_oauth2" | "microsoft" | "oidc" | "passwordless_email";
621
+ connection_type: "custom" | "database" | "github" | "figma" | "google_oauth2" | "microsoft" | "oidc" | "apple" | "facebook" | "linkedin" | "discord" | "gitlab" | "slack" | "x" | "twitch" | "bitbucket" | "spotify" | "passwordless_email";
622
622
  authorize_url: string;
623
623
  token_url: string;
624
624
  userinfo_url: string;
@@ -634,6 +634,10 @@ export declare class FaableAuthApi extends GeneratedFaableAuthApi {
634
634
  authorize_params: {
635
635
  [key: string]: string;
636
636
  };
637
+ provider_options?: {
638
+ team_id?: string | undefined;
639
+ key_id?: string | undefined;
640
+ } | undefined;
637
641
  claims_mapping?: {
638
642
  [key: string]: string;
639
643
  } | undefined;
@@ -659,7 +663,7 @@ export declare class FaableAuthApi extends GeneratedFaableAuthApi {
659
663
  first: () => Promise<import("@faable/sdk-base/dist/helpers/paginator.js").Page<{
660
664
  id: string;
661
665
  connection_name: string;
662
- connection_type: "custom" | "database" | "github" | "figma" | "google_oauth2" | "microsoft" | "oidc" | "passwordless_email";
666
+ connection_type: "custom" | "database" | "github" | "figma" | "google_oauth2" | "microsoft" | "oidc" | "apple" | "facebook" | "linkedin" | "discord" | "gitlab" | "slack" | "x" | "twitch" | "bitbucket" | "spotify" | "passwordless_email";
663
667
  authorize_url: string;
664
668
  token_url: string;
665
669
  userinfo_url: string;
@@ -675,6 +679,10 @@ export declare class FaableAuthApi extends GeneratedFaableAuthApi {
675
679
  authorize_params: {
676
680
  [key: string]: string;
677
681
  };
682
+ provider_options?: {
683
+ team_id?: string | undefined;
684
+ key_id?: string | undefined;
685
+ } | undefined;
678
686
  claims_mapping?: {
679
687
  [key: string]: string;
680
688
  } | undefined;
@@ -703,7 +711,7 @@ export declare class FaableAuthApi extends GeneratedFaableAuthApi {
703
711
  } | undefined) => Promise<import("@faable/sdk-base/dist/helpers/paginator.js").Page<{
704
712
  id: string;
705
713
  connection_name: string;
706
- connection_type: "custom" | "database" | "github" | "figma" | "google_oauth2" | "microsoft" | "oidc" | "passwordless_email";
714
+ connection_type: "custom" | "database" | "github" | "figma" | "google_oauth2" | "microsoft" | "oidc" | "apple" | "facebook" | "linkedin" | "discord" | "gitlab" | "slack" | "x" | "twitch" | "bitbucket" | "spotify" | "passwordless_email";
707
715
  authorize_url: string;
708
716
  token_url: string;
709
717
  userinfo_url: string;
@@ -719,6 +727,10 @@ export declare class FaableAuthApi extends GeneratedFaableAuthApi {
719
727
  authorize_params: {
720
728
  [key: string]: string;
721
729
  };
730
+ provider_options?: {
731
+ team_id?: string | undefined;
732
+ key_id?: string | undefined;
733
+ } | undefined;
722
734
  claims_mapping?: {
723
735
  [key: string]: string;
724
736
  } | undefined;
@@ -746,7 +758,7 @@ export declare class FaableAuthApi extends GeneratedFaableAuthApi {
746
758
  getConection(...args: Parameters<GeneratedFaableAuthApi["connectionGet"]>): Promise<{
747
759
  id: string;
748
760
  connection_name: string;
749
- connection_type: "custom" | "database" | "github" | "figma" | "google_oauth2" | "microsoft" | "oidc" | "passwordless_email";
761
+ connection_type: "custom" | "database" | "github" | "figma" | "google_oauth2" | "microsoft" | "oidc" | "apple" | "facebook" | "linkedin" | "discord" | "gitlab" | "slack" | "x" | "twitch" | "bitbucket" | "spotify" | "passwordless_email";
750
762
  authorize_url: string;
751
763
  token_url: string;
752
764
  userinfo_url: string;
@@ -762,6 +774,10 @@ export declare class FaableAuthApi extends GeneratedFaableAuthApi {
762
774
  authorize_params: {
763
775
  [key: string]: string;
764
776
  };
777
+ provider_options?: {
778
+ team_id?: string | undefined;
779
+ key_id?: string | undefined;
780
+ } | undefined;
765
781
  claims_mapping?: {
766
782
  [key: string]: string;
767
783
  } | undefined;
@@ -482,7 +482,23 @@ export declare abstract class GeneratedFaableAuthApi extends FaableApi {
482
482
  body?: string | null | undefined;
483
483
  social_links?: {
484
484
  label: string;
485
- url: string;
485
+ url: string; /**
486
+ * `GET /user` — operationId: `user/list`
487
+ *
488
+ * List Users
489
+ *
490
+ * @throws {FaableApiError} `invalid_query` (400) — The `?query=` FaableQL expression could not be parsed.
491
+ * @throws {FaableApiError} `invalid_expand` (400) — An `?expand=` path is not allowed on this resource.
492
+ * @throws {FaableApiError} `search_not_supported` (400) — This resource does not support `?search=`.
493
+ * @throws {FaableApiError} `validation_error` (400) — The body, query or path failed schema validation. `details.issues` lists each failing field.
494
+ * @throws {FaableApiError} `unauthorized` (401) — The request carries no valid credentials.
495
+ * @throws {FaableApiError} `forbidden` (403) — The credentials are valid but do not allow this operation.
496
+ * @throws {FaableApiError} `insufficient_scope` (403) — The token lacks a scope this operation requires. `message` names it.
497
+ * @throws {FaableApiError} `user_suspended` (403) — The user is suspended and cannot sign in or be modified.
498
+ * @throws {FaableApiError} `account_not_found` (404) — No Auth Account matches the request (domain, header or token).
499
+ * @throws {FaableApiError} `too_many_requests` (429) — Rate limit exceeded. Honour the `Retry-After` header.
500
+ * @throws {FaableApiError} `internal_error` (500) — Unexpected server error. Retry later; the request id is logged.
501
+ */
486
502
  }[] | null | undefined;
487
503
  } | null | undefined;
488
504
  email_change_verification_mode?: "new_only" | "old_and_new" | undefined;
@@ -552,7 +568,23 @@ export declare abstract class GeneratedFaableAuthApi extends FaableApi {
552
568
  body?: string | null | undefined;
553
569
  social_links?: {
554
570
  label: string;
555
- url: string;
571
+ url: string; /**
572
+ * `GET /user` — operationId: `user/list`
573
+ *
574
+ * List Users
575
+ *
576
+ * @throws {FaableApiError} `invalid_query` (400) — The `?query=` FaableQL expression could not be parsed.
577
+ * @throws {FaableApiError} `invalid_expand` (400) — An `?expand=` path is not allowed on this resource.
578
+ * @throws {FaableApiError} `search_not_supported` (400) — This resource does not support `?search=`.
579
+ * @throws {FaableApiError} `validation_error` (400) — The body, query or path failed schema validation. `details.issues` lists each failing field.
580
+ * @throws {FaableApiError} `unauthorized` (401) — The request carries no valid credentials.
581
+ * @throws {FaableApiError} `forbidden` (403) — The credentials are valid but do not allow this operation.
582
+ * @throws {FaableApiError} `insufficient_scope` (403) — The token lacks a scope this operation requires. `message` names it.
583
+ * @throws {FaableApiError} `user_suspended` (403) — The user is suspended and cannot sign in or be modified.
584
+ * @throws {FaableApiError} `account_not_found` (404) — No Auth Account matches the request (domain, header or token).
585
+ * @throws {FaableApiError} `too_many_requests` (429) — Rate limit exceeded. Honour the `Retry-After` header.
586
+ * @throws {FaableApiError} `internal_error` (500) — Unexpected server error. Retry later; the request id is logged.
587
+ */
556
588
  }[] | null | undefined;
557
589
  } | null | undefined;
558
590
  email_change_verification_mode?: "new_only" | "old_and_new" | undefined;
@@ -625,7 +657,23 @@ export declare abstract class GeneratedFaableAuthApi extends FaableApi {
625
657
  body?: string | null | undefined;
626
658
  social_links?: {
627
659
  label: string;
628
- url: string;
660
+ url: string; /**
661
+ * `GET /user` — operationId: `user/list`
662
+ *
663
+ * List Users
664
+ *
665
+ * @throws {FaableApiError} `invalid_query` (400) — The `?query=` FaableQL expression could not be parsed.
666
+ * @throws {FaableApiError} `invalid_expand` (400) — An `?expand=` path is not allowed on this resource.
667
+ * @throws {FaableApiError} `search_not_supported` (400) — This resource does not support `?search=`.
668
+ * @throws {FaableApiError} `validation_error` (400) — The body, query or path failed schema validation. `details.issues` lists each failing field.
669
+ * @throws {FaableApiError} `unauthorized` (401) — The request carries no valid credentials.
670
+ * @throws {FaableApiError} `forbidden` (403) — The credentials are valid but do not allow this operation.
671
+ * @throws {FaableApiError} `insufficient_scope` (403) — The token lacks a scope this operation requires. `message` names it.
672
+ * @throws {FaableApiError} `user_suspended` (403) — The user is suspended and cannot sign in or be modified.
673
+ * @throws {FaableApiError} `account_not_found` (404) — No Auth Account matches the request (domain, header or token).
674
+ * @throws {FaableApiError} `too_many_requests` (429) — Rate limit exceeded. Honour the `Retry-After` header.
675
+ * @throws {FaableApiError} `internal_error` (500) — Unexpected server error. Retry later; the request id is logged.
676
+ */
629
677
  }[] | null | undefined;
630
678
  } | null | undefined;
631
679
  email_change_verification_mode?: "new_only" | "old_and_new" | undefined;
@@ -2266,7 +2314,7 @@ export declare abstract class GeneratedFaableAuthApi extends FaableApi {
2266
2314
  connectionCreate(data: OpBody<"connection/create">): Promise<{
2267
2315
  id: string;
2268
2316
  connection_name: string;
2269
- connection_type: "custom" | "database" | "github" | "figma" | "google_oauth2" | "microsoft" | "oidc" | "passwordless_email";
2317
+ connection_type: "custom" | "database" | "github" | "figma" | "google_oauth2" | "microsoft" | "oidc" | "apple" | "facebook" | "linkedin" | "discord" | "gitlab" | "slack" | "x" | "twitch" | "bitbucket" | "spotify" | "passwordless_email";
2270
2318
  authorize_url: string;
2271
2319
  token_url: string;
2272
2320
  userinfo_url: string;
@@ -2282,6 +2330,10 @@ export declare abstract class GeneratedFaableAuthApi extends FaableApi {
2282
2330
  authorize_params: {
2283
2331
  [key: string]: string;
2284
2332
  };
2333
+ provider_options?: {
2334
+ team_id?: string | undefined;
2335
+ key_id?: string | undefined;
2336
+ } | undefined;
2285
2337
  claims_mapping?: {
2286
2338
  [key: string]: string;
2287
2339
  } | undefined;
@@ -2323,7 +2375,7 @@ export declare abstract class GeneratedFaableAuthApi extends FaableApi {
2323
2375
  connectionDelete(connection_id: string): Promise<{
2324
2376
  id: string;
2325
2377
  connection_name: string;
2326
- connection_type: "custom" | "database" | "github" | "figma" | "google_oauth2" | "microsoft" | "oidc" | "passwordless_email";
2378
+ connection_type: "custom" | "database" | "github" | "figma" | "google_oauth2" | "microsoft" | "oidc" | "apple" | "facebook" | "linkedin" | "discord" | "gitlab" | "slack" | "x" | "twitch" | "bitbucket" | "spotify" | "passwordless_email";
2327
2379
  authorize_url: string;
2328
2380
  token_url: string;
2329
2381
  userinfo_url: string;
@@ -2339,6 +2391,10 @@ export declare abstract class GeneratedFaableAuthApi extends FaableApi {
2339
2391
  authorize_params: {
2340
2392
  [key: string]: string;
2341
2393
  };
2394
+ provider_options?: {
2395
+ team_id?: string | undefined;
2396
+ key_id?: string | undefined;
2397
+ } | undefined;
2342
2398
  claims_mapping?: {
2343
2399
  [key: string]: string;
2344
2400
  } | undefined;
@@ -2381,7 +2437,7 @@ export declare abstract class GeneratedFaableAuthApi extends FaableApi {
2381
2437
  connectionGet(connection_id: string): Promise<{
2382
2438
  id: string;
2383
2439
  connection_name: string;
2384
- connection_type: "custom" | "database" | "github" | "figma" | "google_oauth2" | "microsoft" | "oidc" | "passwordless_email";
2440
+ connection_type: "custom" | "database" | "github" | "figma" | "google_oauth2" | "microsoft" | "oidc" | "apple" | "facebook" | "linkedin" | "discord" | "gitlab" | "slack" | "x" | "twitch" | "bitbucket" | "spotify" | "passwordless_email";
2385
2441
  authorize_url: string;
2386
2442
  token_url: string;
2387
2443
  userinfo_url: string;
@@ -2397,6 +2453,10 @@ export declare abstract class GeneratedFaableAuthApi extends FaableApi {
2397
2453
  authorize_params: {
2398
2454
  [key: string]: string;
2399
2455
  };
2456
+ provider_options?: {
2457
+ team_id?: string | undefined;
2458
+ key_id?: string | undefined;
2459
+ } | undefined;
2400
2460
  claims_mapping?: {
2401
2461
  [key: string]: string;
2402
2462
  } | undefined;
@@ -2440,7 +2500,7 @@ export declare abstract class GeneratedFaableAuthApi extends FaableApi {
2440
2500
  all: () => Promise<{
2441
2501
  id: string;
2442
2502
  connection_name: string;
2443
- connection_type: "custom" | "database" | "github" | "figma" | "google_oauth2" | "microsoft" | "oidc" | "passwordless_email";
2503
+ connection_type: "custom" | "database" | "github" | "figma" | "google_oauth2" | "microsoft" | "oidc" | "apple" | "facebook" | "linkedin" | "discord" | "gitlab" | "slack" | "x" | "twitch" | "bitbucket" | "spotify" | "passwordless_email";
2444
2504
  authorize_url: string;
2445
2505
  token_url: string;
2446
2506
  userinfo_url: string;
@@ -2456,6 +2516,10 @@ export declare abstract class GeneratedFaableAuthApi extends FaableApi {
2456
2516
  authorize_params: {
2457
2517
  [key: string]: string;
2458
2518
  };
2519
+ provider_options?: {
2520
+ team_id?: string | undefined;
2521
+ key_id?: string | undefined;
2522
+ } | undefined;
2459
2523
  claims_mapping?: {
2460
2524
  [key: string]: string;
2461
2525
  } | undefined;
@@ -2481,7 +2545,7 @@ export declare abstract class GeneratedFaableAuthApi extends FaableApi {
2481
2545
  first: () => Promise<import("@faable/sdk-base/dist/helpers/paginator.js").Page<{
2482
2546
  id: string;
2483
2547
  connection_name: string;
2484
- connection_type: "custom" | "database" | "github" | "figma" | "google_oauth2" | "microsoft" | "oidc" | "passwordless_email";
2548
+ connection_type: "custom" | "database" | "github" | "figma" | "google_oauth2" | "microsoft" | "oidc" | "apple" | "facebook" | "linkedin" | "discord" | "gitlab" | "slack" | "x" | "twitch" | "bitbucket" | "spotify" | "passwordless_email";
2485
2549
  authorize_url: string;
2486
2550
  token_url: string;
2487
2551
  userinfo_url: string;
@@ -2497,6 +2561,10 @@ export declare abstract class GeneratedFaableAuthApi extends FaableApi {
2497
2561
  authorize_params: {
2498
2562
  [key: string]: string;
2499
2563
  };
2564
+ provider_options?: {
2565
+ team_id?: string | undefined;
2566
+ key_id?: string | undefined;
2567
+ } | undefined;
2500
2568
  claims_mapping?: {
2501
2569
  [key: string]: string;
2502
2570
  } | undefined;
@@ -2525,7 +2593,7 @@ export declare abstract class GeneratedFaableAuthApi extends FaableApi {
2525
2593
  } | undefined) => Promise<import("@faable/sdk-base/dist/helpers/paginator.js").Page<{
2526
2594
  id: string;
2527
2595
  connection_name: string;
2528
- connection_type: "custom" | "database" | "github" | "figma" | "google_oauth2" | "microsoft" | "oidc" | "passwordless_email";
2596
+ connection_type: "custom" | "database" | "github" | "figma" | "google_oauth2" | "microsoft" | "oidc" | "apple" | "facebook" | "linkedin" | "discord" | "gitlab" | "slack" | "x" | "twitch" | "bitbucket" | "spotify" | "passwordless_email";
2529
2597
  authorize_url: string;
2530
2598
  token_url: string;
2531
2599
  userinfo_url: string;
@@ -2541,6 +2609,10 @@ export declare abstract class GeneratedFaableAuthApi extends FaableApi {
2541
2609
  authorize_params: {
2542
2610
  [key: string]: string;
2543
2611
  };
2612
+ provider_options?: {
2613
+ team_id?: string | undefined;
2614
+ key_id?: string | undefined;
2615
+ } | undefined;
2544
2616
  claims_mapping?: {
2545
2617
  [key: string]: string;
2546
2618
  } | undefined;
@@ -2584,7 +2656,7 @@ export declare abstract class GeneratedFaableAuthApi extends FaableApi {
2584
2656
  connectionUpdate(connection_id: string, data: OpBody<"connection/update">): Promise<{
2585
2657
  id: string;
2586
2658
  connection_name: string;
2587
- connection_type: "custom" | "database" | "github" | "figma" | "google_oauth2" | "microsoft" | "oidc" | "passwordless_email";
2659
+ connection_type: "custom" | "database" | "github" | "figma" | "google_oauth2" | "microsoft" | "oidc" | "apple" | "facebook" | "linkedin" | "discord" | "gitlab" | "slack" | "x" | "twitch" | "bitbucket" | "spotify" | "passwordless_email";
2588
2660
  authorize_url: string;
2589
2661
  token_url: string;
2590
2662
  userinfo_url: string;
@@ -2600,6 +2672,10 @@ export declare abstract class GeneratedFaableAuthApi extends FaableApi {
2600
2672
  authorize_params: {
2601
2673
  [key: string]: string;
2602
2674
  };
2675
+ provider_options?: {
2676
+ team_id?: string | undefined;
2677
+ key_id?: string | undefined;
2678
+ } | undefined;
2603
2679
  claims_mapping?: {
2604
2680
  [key: string]: string;
2605
2681
  } | undefined;
@@ -4874,7 +4874,11 @@ export interface paths {
4874
4874
  */
4875
4875
  get: operations["callback"];
4876
4876
  put?: never;
4877
- post?: never;
4877
+ /**
4878
+ * OAuth2 Callback URL (form_post)
4879
+ * @description Callback for providers that use `response_mode=form_post` (Sign in with Apple). Redirects (303) to `GET /callback` with the same `code` and `state`.
4880
+ */
4881
+ post: operations["callbackFormPost"];
4878
4882
  delete?: never;
4879
4883
  options?: never;
4880
4884
  head?: never;
@@ -5695,7 +5699,7 @@ export interface components {
5695
5699
  id: string;
5696
5700
  connection_name: string;
5697
5701
  /** @enum {unknown} */
5698
- connection_type: "database" | "custom" | "github" | "figma" | "google_oauth2" | "microsoft" | "oidc" | "passwordless_email";
5702
+ connection_type: "database" | "custom" | "github" | "figma" | "google_oauth2" | "microsoft" | "oidc" | "apple" | "facebook" | "linkedin" | "discord" | "gitlab" | "slack" | "x" | "twitch" | "bitbucket" | "spotify" | "passwordless_email";
5699
5703
  /** @default null */
5700
5704
  authorize_url: string;
5701
5705
  /** @default null */
@@ -5726,6 +5730,13 @@ export interface components {
5726
5730
  authorize_params: {
5727
5731
  [key: string]: string;
5728
5732
  };
5733
+ /** @description Provider-specific settings beyond client_id/client_secret. Only `apple` uses them. */
5734
+ provider_options?: {
5735
+ /** @description Apple: the Apple Developer Team ID (10 characters). */
5736
+ team_id?: string;
5737
+ /** @description Apple: the Key ID of the Sign in with Apple private key. */
5738
+ key_id?: string;
5739
+ };
5729
5740
  claims_mapping?: {
5730
5741
  [key: string]: string;
5731
5742
  };
@@ -5771,7 +5782,7 @@ export interface components {
5771
5782
  ConnectionCreate: {
5772
5783
  connection_name: string;
5773
5784
  /** @enum {unknown} */
5774
- connection_type: "database" | "custom" | "github" | "figma" | "google_oauth2" | "microsoft" | "oidc" | "passwordless_email";
5785
+ connection_type: "database" | "custom" | "github" | "figma" | "google_oauth2" | "microsoft" | "oidc" | "apple" | "facebook" | "linkedin" | "discord" | "gitlab" | "slack" | "x" | "twitch" | "bitbucket" | "spotify" | "passwordless_email";
5775
5786
  authorize_url?: string;
5776
5787
  client_id?: string;
5777
5788
  client_secret?: string;
@@ -5793,6 +5804,13 @@ export interface components {
5793
5804
  authorize_params: {
5794
5805
  [key: string]: string;
5795
5806
  };
5807
+ /** @description Provider-specific settings beyond client_id/client_secret. Only `apple` uses them. */
5808
+ provider_options?: {
5809
+ /** @description Apple: the Apple Developer Team ID (10 characters). */
5810
+ team_id?: string;
5811
+ /** @description Apple: the Key ID of the Sign in with Apple private key. */
5812
+ key_id?: string;
5813
+ };
5796
5814
  /**
5797
5815
  * @description Controls what happens to `user.email` on subsequent OAuth/federated logins when the user previously changed their email manually through this auth server (i.e. `user.email_change_locked_at` is set).
5798
5816
  *
@@ -5842,6 +5860,13 @@ export interface components {
5842
5860
  authorize_params: {
5843
5861
  [key: string]: string;
5844
5862
  };
5863
+ /** @description Provider-specific settings beyond client_id/client_secret. Only `apple` uses them. */
5864
+ provider_options?: {
5865
+ /** @description Apple: the Apple Developer Team ID (10 characters). */
5866
+ team_id?: string;
5867
+ /** @description Apple: the Key ID of the Sign in with Apple private key. */
5868
+ key_id?: string;
5869
+ };
5845
5870
  claims_mapping?: {
5846
5871
  [key: string]: string;
5847
5872
  };
@@ -5862,7 +5887,7 @@ export interface components {
5862
5887
  /** @description Presentation metadata for one connection type. Contains no endpoint URLs and no credentials. */
5863
5888
  ConnectionTypeInfo: {
5864
5889
  /** @enum {unknown} */
5865
- type: "database" | "custom" | "github" | "figma" | "google_oauth2" | "microsoft" | "oidc" | "passwordless_email";
5890
+ type: "database" | "custom" | "github" | "figma" | "google_oauth2" | "microsoft" | "oidc" | "apple" | "facebook" | "linkedin" | "discord" | "gitlab" | "slack" | "x" | "twitch" | "bitbucket" | "spotify" | "passwordless_email";
5866
5891
  /** @description Brand name for this provider. Not translatable — "GitHub" is "GitHub" in every locale. */
5867
5892
  label: string;
5868
5893
  /** @description Stable icon slug (e.g. `github`, `google`, `microsoft`). Clients map it to their own icon set; it is not a URL. */
@@ -5883,6 +5908,17 @@ export interface components {
5883
5908
  label: string;
5884
5909
  url: string;
5885
5910
  };
5911
+ /** @description The credentials a tenant fills in for its own app, when they are more than a client id and a secret (Apple). Absent means client id + secret. */
5912
+ credential_fields?: {
5913
+ /** @description Connection field this input writes, as a dotted path (`client_id`, `provider_options.team_id`). */
5914
+ key: string;
5915
+ label: string;
5916
+ description?: string;
5917
+ /** @description A credential: render it as a password input. */
5918
+ secret?: boolean;
5919
+ /** @description A PEM key, not a one-line value. */
5920
+ multiline?: boolean;
5921
+ }[];
5886
5922
  };
5887
5923
  /** @description One method the login screen should offer. Discriminated by `kind`. Connection methods carry only what a login screen needs — never credentials, endpoints or the rest of the Connection document. */
5888
5924
  LoginOptionMethod: {
@@ -11264,7 +11300,7 @@ export interface operations {
11264
11300
  "application/json": {
11265
11301
  connection_name: string;
11266
11302
  /** @enum {unknown} */
11267
- connection_type: "database" | "custom" | "github" | "figma" | "google_oauth2" | "microsoft" | "oidc" | "passwordless_email";
11303
+ connection_type: "database" | "custom" | "github" | "figma" | "google_oauth2" | "microsoft" | "oidc" | "apple" | "facebook" | "linkedin" | "discord" | "gitlab" | "slack" | "x" | "twitch" | "bitbucket" | "spotify" | "passwordless_email";
11268
11304
  authorize_url?: string;
11269
11305
  client_id?: string;
11270
11306
  client_secret?: string;
@@ -11286,6 +11322,13 @@ export interface operations {
11286
11322
  authorize_params?: {
11287
11323
  [key: string]: string;
11288
11324
  };
11325
+ /** @description Provider-specific settings beyond client_id/client_secret. Only `apple` uses them. */
11326
+ provider_options?: {
11327
+ /** @description Apple: the Apple Developer Team ID (10 characters). */
11328
+ team_id?: string;
11329
+ /** @description Apple: the Key ID of the Sign in with Apple private key. */
11330
+ key_id?: string;
11331
+ };
11289
11332
  /**
11290
11333
  * @description Controls what happens to `user.email` on subsequent OAuth/federated logins when the user previously changed their email manually through this auth server (i.e. `user.email_change_locked_at` is set).
11291
11334
  *
@@ -11324,7 +11367,7 @@ export interface operations {
11324
11367
  id: string;
11325
11368
  connection_name: string;
11326
11369
  /** @enum {unknown} */
11327
- connection_type: "database" | "custom" | "github" | "figma" | "google_oauth2" | "microsoft" | "oidc" | "passwordless_email";
11370
+ connection_type: "database" | "custom" | "github" | "figma" | "google_oauth2" | "microsoft" | "oidc" | "apple" | "facebook" | "linkedin" | "discord" | "gitlab" | "slack" | "x" | "twitch" | "bitbucket" | "spotify" | "passwordless_email";
11328
11371
  /** @default null */
11329
11372
  authorize_url: string;
11330
11373
  /** @default null */
@@ -11355,6 +11398,13 @@ export interface operations {
11355
11398
  authorize_params: {
11356
11399
  [key: string]: string;
11357
11400
  };
11401
+ /** @description Provider-specific settings beyond client_id/client_secret. Only `apple` uses them. */
11402
+ provider_options?: {
11403
+ /** @description Apple: the Apple Developer Team ID (10 characters). */
11404
+ team_id?: string;
11405
+ /** @description Apple: the Key ID of the Sign in with Apple private key. */
11406
+ key_id?: string;
11407
+ };
11358
11408
  claims_mapping?: {
11359
11409
  [key: string]: string;
11360
11410
  };
@@ -11497,7 +11547,7 @@ export interface operations {
11497
11547
  id: string;
11498
11548
  connection_name: string;
11499
11549
  /** @enum {unknown} */
11500
- connection_type: "database" | "custom" | "github" | "figma" | "google_oauth2" | "microsoft" | "oidc" | "passwordless_email";
11550
+ connection_type: "database" | "custom" | "github" | "figma" | "google_oauth2" | "microsoft" | "oidc" | "apple" | "facebook" | "linkedin" | "discord" | "gitlab" | "slack" | "x" | "twitch" | "bitbucket" | "spotify" | "passwordless_email";
11501
11551
  /** @default null */
11502
11552
  authorize_url: string;
11503
11553
  /** @default null */
@@ -11528,6 +11578,13 @@ export interface operations {
11528
11578
  authorize_params: {
11529
11579
  [key: string]: string;
11530
11580
  };
11581
+ /** @description Provider-specific settings beyond client_id/client_secret. Only `apple` uses them. */
11582
+ provider_options?: {
11583
+ /** @description Apple: the Apple Developer Team ID (10 characters). */
11584
+ team_id?: string;
11585
+ /** @description Apple: the Key ID of the Sign in with Apple private key. */
11586
+ key_id?: string;
11587
+ };
11531
11588
  claims_mapping?: {
11532
11589
  [key: string]: string;
11533
11590
  };
@@ -11686,6 +11743,13 @@ export interface operations {
11686
11743
  authorize_params?: {
11687
11744
  [key: string]: string;
11688
11745
  };
11746
+ /** @description Provider-specific settings beyond client_id/client_secret. Only `apple` uses them. */
11747
+ provider_options?: {
11748
+ /** @description Apple: the Apple Developer Team ID (10 characters). */
11749
+ team_id?: string;
11750
+ /** @description Apple: the Key ID of the Sign in with Apple private key. */
11751
+ key_id?: string;
11752
+ };
11689
11753
  claims_mapping?: {
11690
11754
  [key: string]: string;
11691
11755
  };
@@ -11717,7 +11781,7 @@ export interface operations {
11717
11781
  id: string;
11718
11782
  connection_name: string;
11719
11783
  /** @enum {unknown} */
11720
- connection_type: "database" | "custom" | "github" | "figma" | "google_oauth2" | "microsoft" | "oidc" | "passwordless_email";
11784
+ connection_type: "database" | "custom" | "github" | "figma" | "google_oauth2" | "microsoft" | "oidc" | "apple" | "facebook" | "linkedin" | "discord" | "gitlab" | "slack" | "x" | "twitch" | "bitbucket" | "spotify" | "passwordless_email";
11721
11785
  /** @default null */
11722
11786
  authorize_url: string;
11723
11787
  /** @default null */
@@ -11748,6 +11812,13 @@ export interface operations {
11748
11812
  authorize_params: {
11749
11813
  [key: string]: string;
11750
11814
  };
11815
+ /** @description Provider-specific settings beyond client_id/client_secret. Only `apple` uses them. */
11816
+ provider_options?: {
11817
+ /** @description Apple: the Apple Developer Team ID (10 characters). */
11818
+ team_id?: string;
11819
+ /** @description Apple: the Key ID of the Sign in with Apple private key. */
11820
+ key_id?: string;
11821
+ };
11751
11822
  claims_mapping?: {
11752
11823
  [key: string]: string;
11753
11824
  };
@@ -11896,7 +11967,7 @@ export interface operations {
11896
11967
  id: string;
11897
11968
  connection_name: string;
11898
11969
  /** @enum {unknown} */
11899
- connection_type: "database" | "custom" | "github" | "figma" | "google_oauth2" | "microsoft" | "oidc" | "passwordless_email";
11970
+ connection_type: "database" | "custom" | "github" | "figma" | "google_oauth2" | "microsoft" | "oidc" | "apple" | "facebook" | "linkedin" | "discord" | "gitlab" | "slack" | "x" | "twitch" | "bitbucket" | "spotify" | "passwordless_email";
11900
11971
  /** @default null */
11901
11972
  authorize_url: string;
11902
11973
  /** @default null */
@@ -11927,6 +11998,13 @@ export interface operations {
11927
11998
  authorize_params: {
11928
11999
  [key: string]: string;
11929
12000
  };
12001
+ /** @description Provider-specific settings beyond client_id/client_secret. Only `apple` uses them. */
12002
+ provider_options?: {
12003
+ /** @description Apple: the Apple Developer Team ID (10 characters). */
12004
+ team_id?: string;
12005
+ /** @description Apple: the Key ID of the Sign in with Apple private key. */
12006
+ key_id?: string;
12007
+ };
11930
12008
  claims_mapping?: {
11931
12009
  [key: string]: string;
11932
12010
  };
@@ -34255,6 +34333,83 @@ export interface operations {
34255
34333
  };
34256
34334
  };
34257
34335
  };
34336
+ callbackFormPost: {
34337
+ parameters: {
34338
+ query?: never;
34339
+ header?: never;
34340
+ path?: never;
34341
+ cookie?: never;
34342
+ };
34343
+ requestBody: {
34344
+ content: {
34345
+ "application/json": {
34346
+ code?: string;
34347
+ state?: string;
34348
+ error?: string;
34349
+ error_uri?: string;
34350
+ error_description?: string;
34351
+ user?: string;
34352
+ };
34353
+ };
34354
+ };
34355
+ responses: {
34356
+ /** @description Default Response */
34357
+ 200: {
34358
+ headers: {
34359
+ [name: string]: unknown;
34360
+ };
34361
+ content?: never;
34362
+ };
34363
+ /** @description `validation_error` — The body, query or path failed schema validation. `details.issues` lists each failing field. */
34364
+ 400: {
34365
+ headers: {
34366
+ [name: string]: unknown;
34367
+ };
34368
+ content: {
34369
+ "application/json": components["schemas"]["ErrorResponse"] & {
34370
+ /** @enum {string} */
34371
+ error_code?: "validation_error";
34372
+ };
34373
+ };
34374
+ };
34375
+ /** @description `account_not_found` — No Auth Account matches the request (domain, header or token). */
34376
+ 404: {
34377
+ headers: {
34378
+ [name: string]: unknown;
34379
+ };
34380
+ content: {
34381
+ "application/json": components["schemas"]["ErrorResponse"] & {
34382
+ /** @enum {string} */
34383
+ error_code?: "account_not_found";
34384
+ };
34385
+ };
34386
+ };
34387
+ /** @description `too_many_requests` — Rate limit exceeded. Honour the `Retry-After` header. */
34388
+ 429: {
34389
+ headers: {
34390
+ [name: string]: unknown;
34391
+ };
34392
+ content: {
34393
+ "application/json": components["schemas"]["ErrorResponse"] & {
34394
+ /** @enum {string} */
34395
+ error_code?: "too_many_requests";
34396
+ };
34397
+ };
34398
+ };
34399
+ /** @description `internal_error` — Unexpected server error. Retry later; the request id is logged. */
34400
+ 500: {
34401
+ headers: {
34402
+ [name: string]: unknown;
34403
+ };
34404
+ content: {
34405
+ "application/json": components["schemas"]["ErrorResponse"] & {
34406
+ /** @enum {string} */
34407
+ error_code?: "internal_error";
34408
+ };
34409
+ };
34410
+ };
34411
+ };
34412
+ };
34258
34413
  oauth_continue: {
34259
34414
  parameters: {
34260
34415
  query: {
package/dist/version.js CHANGED
@@ -9,13 +9,13 @@
9
9
  // login pages could not import the SDK at all. Same pattern as auth-js.
10
10
  //
11
11
  // The sentinels MUST stay byte-identical to the `from` values in `.releaserc`.
12
- export const version = "2.8.10";
12
+ export const version = "2.8.11";
13
13
  // Short git SHA of the released commit. The version dates a build; this names
14
14
  // the exact tree, so a canonical log line or an audit entry leads straight to
15
15
  // `git show <sha>`. Deliberately NOT hex: an unreleased build (dev, a local
16
16
  // link) cannot be mistaken for a real commit — auth only records values that
17
17
  // look like a SHA, and this one never will.
18
- export const commit = "5e45325";
18
+ export const commit = "3a3fd61";
19
19
  // What this SDK writes in `x-faable-client`. Exported for a consumer that
20
20
  // builds a strategy on its own (outside `FaableAuthApi`) and still wants the
21
21
  // token request attributed — a bare `authClientCredentials` stamps only what
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@faable/auth-sdk",
3
- "version": "2.8.10",
3
+ "version": "2.8.11",
4
4
  "author": "Marc Pomar <marc@faable.com>",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
package/spec/openapi.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "info": {
4
4
  "title": "@faablecloud/auth",
5
5
  "description": "Auth Platform made by Faable. Manage Users and Roles",
6
- "version": "2.82.1",
6
+ "version": "2.83.0",
7
7
  "license": {
8
8
  "name": "private",
9
9
  "url": "https://faable.com/docs/platform/privacy-policy"
@@ -698,6 +698,16 @@
698
698
  "google_oauth2",
699
699
  "microsoft",
700
700
  "oidc",
701
+ "apple",
702
+ "facebook",
703
+ "linkedin",
704
+ "discord",
705
+ "gitlab",
706
+ "slack",
707
+ "x",
708
+ "twitch",
709
+ "bitbucket",
710
+ "spotify",
701
711
  "passwordless_email"
702
712
  ]
703
713
  },
@@ -764,6 +774,21 @@
764
774
  "type": "string"
765
775
  }
766
776
  },
777
+ "provider_options": {
778
+ "type": "object",
779
+ "properties": {
780
+ "team_id": {
781
+ "type": "string",
782
+ "description": "Apple: the Apple Developer Team ID (10 characters)."
783
+ },
784
+ "key_id": {
785
+ "type": "string",
786
+ "description": "Apple: the Key ID of the Sign in with Apple private key."
787
+ }
788
+ },
789
+ "additionalProperties": false,
790
+ "description": "Provider-specific settings beyond client_id/client_secret. Only `apple` uses them."
791
+ },
767
792
  "claims_mapping": {
768
793
  "type": "object",
769
794
  "additionalProperties": {
@@ -927,6 +952,16 @@
927
952
  "google_oauth2",
928
953
  "microsoft",
929
954
  "oidc",
955
+ "apple",
956
+ "facebook",
957
+ "linkedin",
958
+ "discord",
959
+ "gitlab",
960
+ "slack",
961
+ "x",
962
+ "twitch",
963
+ "bitbucket",
964
+ "spotify",
930
965
  "passwordless_email"
931
966
  ]
932
967
  },
@@ -978,6 +1013,21 @@
978
1013
  "type": "string"
979
1014
  }
980
1015
  },
1016
+ "provider_options": {
1017
+ "type": "object",
1018
+ "properties": {
1019
+ "team_id": {
1020
+ "type": "string",
1021
+ "description": "Apple: the Apple Developer Team ID (10 characters)."
1022
+ },
1023
+ "key_id": {
1024
+ "type": "string",
1025
+ "description": "Apple: the Key ID of the Sign in with Apple private key."
1026
+ }
1027
+ },
1028
+ "additionalProperties": false,
1029
+ "description": "Provider-specific settings beyond client_id/client_secret. Only `apple` uses them."
1030
+ },
981
1031
  "email_oauth_sync_policy": {
982
1032
  "anyOf": [
983
1033
  {
@@ -1150,6 +1200,21 @@
1150
1200
  "type": "string"
1151
1201
  }
1152
1202
  },
1203
+ "provider_options": {
1204
+ "type": "object",
1205
+ "properties": {
1206
+ "team_id": {
1207
+ "type": "string",
1208
+ "description": "Apple: the Apple Developer Team ID (10 characters)."
1209
+ },
1210
+ "key_id": {
1211
+ "type": "string",
1212
+ "description": "Apple: the Key ID of the Sign in with Apple private key."
1213
+ }
1214
+ },
1215
+ "additionalProperties": false,
1216
+ "description": "Provider-specific settings beyond client_id/client_secret. Only `apple` uses them."
1217
+ },
1153
1218
  "claims_mapping": {
1154
1219
  "type": "object",
1155
1220
  "additionalProperties": {
@@ -1297,6 +1362,16 @@
1297
1362
  "google_oauth2",
1298
1363
  "microsoft",
1299
1364
  "oidc",
1365
+ "apple",
1366
+ "facebook",
1367
+ "linkedin",
1368
+ "discord",
1369
+ "gitlab",
1370
+ "slack",
1371
+ "x",
1372
+ "twitch",
1373
+ "bitbucket",
1374
+ "spotify",
1300
1375
  "passwordless_email"
1301
1376
  ]
1302
1377
  },
@@ -1348,6 +1423,38 @@
1348
1423
  }
1349
1424
  },
1350
1425
  "description": "Provider documentation for tenants registering their own OAuth app."
1426
+ },
1427
+ "credential_fields": {
1428
+ "type": "array",
1429
+ "items": {
1430
+ "type": "object",
1431
+ "required": [
1432
+ "key",
1433
+ "label"
1434
+ ],
1435
+ "properties": {
1436
+ "key": {
1437
+ "type": "string",
1438
+ "description": "Connection field this input writes, as a dotted path (`client_id`, `provider_options.team_id`)."
1439
+ },
1440
+ "label": {
1441
+ "type": "string"
1442
+ },
1443
+ "description": {
1444
+ "type": "string"
1445
+ },
1446
+ "secret": {
1447
+ "type": "boolean",
1448
+ "description": "A credential: render it as a password input."
1449
+ },
1450
+ "multiline": {
1451
+ "type": "boolean",
1452
+ "description": "A PEM key, not a one-line value."
1453
+ }
1454
+ },
1455
+ "additionalProperties": false
1456
+ },
1457
+ "description": "The credentials a tenant fills in for its own app, when they are more than a client id and a secret (Apple). Absent means client id + secret."
1351
1458
  }
1352
1459
  },
1353
1460
  "description": "Presentation metadata for one connection type. Contains no endpoint URLs and no credentials.",
@@ -17058,6 +17165,16 @@
17058
17165
  "google_oauth2",
17059
17166
  "microsoft",
17060
17167
  "oidc",
17168
+ "apple",
17169
+ "facebook",
17170
+ "linkedin",
17171
+ "discord",
17172
+ "gitlab",
17173
+ "slack",
17174
+ "x",
17175
+ "twitch",
17176
+ "bitbucket",
17177
+ "spotify",
17061
17178
  "passwordless_email"
17062
17179
  ]
17063
17180
  },
@@ -17109,6 +17226,21 @@
17109
17226
  "type": "string"
17110
17227
  }
17111
17228
  },
17229
+ "provider_options": {
17230
+ "type": "object",
17231
+ "properties": {
17232
+ "team_id": {
17233
+ "type": "string",
17234
+ "description": "Apple: the Apple Developer Team ID (10 characters)."
17235
+ },
17236
+ "key_id": {
17237
+ "type": "string",
17238
+ "description": "Apple: the Key ID of the Sign in with Apple private key."
17239
+ }
17240
+ },
17241
+ "additionalProperties": false,
17242
+ "description": "Provider-specific settings beyond client_id/client_secret. Only `apple` uses them."
17243
+ },
17112
17244
  "email_oauth_sync_policy": {
17113
17245
  "anyOf": [
17114
17246
  {
@@ -17275,6 +17407,16 @@
17275
17407
  "google_oauth2",
17276
17408
  "microsoft",
17277
17409
  "oidc",
17410
+ "apple",
17411
+ "facebook",
17412
+ "linkedin",
17413
+ "discord",
17414
+ "gitlab",
17415
+ "slack",
17416
+ "x",
17417
+ "twitch",
17418
+ "bitbucket",
17419
+ "spotify",
17278
17420
  "passwordless_email"
17279
17421
  ]
17280
17422
  },
@@ -17341,6 +17483,21 @@
17341
17483
  "type": "string"
17342
17484
  }
17343
17485
  },
17486
+ "provider_options": {
17487
+ "type": "object",
17488
+ "properties": {
17489
+ "team_id": {
17490
+ "type": "string",
17491
+ "description": "Apple: the Apple Developer Team ID (10 characters)."
17492
+ },
17493
+ "key_id": {
17494
+ "type": "string",
17495
+ "description": "Apple: the Key ID of the Sign in with Apple private key."
17496
+ }
17497
+ },
17498
+ "additionalProperties": false,
17499
+ "description": "Provider-specific settings beyond client_id/client_secret. Only `apple` uses them."
17500
+ },
17344
17501
  "claims_mapping": {
17345
17502
  "type": "object",
17346
17503
  "additionalProperties": {
@@ -17704,6 +17861,16 @@
17704
17861
  "google_oauth2",
17705
17862
  "microsoft",
17706
17863
  "oidc",
17864
+ "apple",
17865
+ "facebook",
17866
+ "linkedin",
17867
+ "discord",
17868
+ "gitlab",
17869
+ "slack",
17870
+ "x",
17871
+ "twitch",
17872
+ "bitbucket",
17873
+ "spotify",
17707
17874
  "passwordless_email"
17708
17875
  ]
17709
17876
  },
@@ -17770,6 +17937,21 @@
17770
17937
  "type": "string"
17771
17938
  }
17772
17939
  },
17940
+ "provider_options": {
17941
+ "type": "object",
17942
+ "properties": {
17943
+ "team_id": {
17944
+ "type": "string",
17945
+ "description": "Apple: the Apple Developer Team ID (10 characters)."
17946
+ },
17947
+ "key_id": {
17948
+ "type": "string",
17949
+ "description": "Apple: the Key ID of the Sign in with Apple private key."
17950
+ }
17951
+ },
17952
+ "additionalProperties": false,
17953
+ "description": "Provider-specific settings beyond client_id/client_secret. Only `apple` uses them."
17954
+ },
17773
17955
  "claims_mapping": {
17774
17956
  "type": "object",
17775
17957
  "additionalProperties": {
@@ -18131,6 +18313,21 @@
18131
18313
  "type": "string"
18132
18314
  }
18133
18315
  },
18316
+ "provider_options": {
18317
+ "type": "object",
18318
+ "properties": {
18319
+ "team_id": {
18320
+ "type": "string",
18321
+ "description": "Apple: the Apple Developer Team ID (10 characters)."
18322
+ },
18323
+ "key_id": {
18324
+ "type": "string",
18325
+ "description": "Apple: the Key ID of the Sign in with Apple private key."
18326
+ }
18327
+ },
18328
+ "additionalProperties": false,
18329
+ "description": "Provider-specific settings beyond client_id/client_secret. Only `apple` uses them."
18330
+ },
18134
18331
  "claims_mapping": {
18135
18332
  "type": "object",
18136
18333
  "additionalProperties": {
@@ -18320,6 +18517,16 @@
18320
18517
  "google_oauth2",
18321
18518
  "microsoft",
18322
18519
  "oidc",
18520
+ "apple",
18521
+ "facebook",
18522
+ "linkedin",
18523
+ "discord",
18524
+ "gitlab",
18525
+ "slack",
18526
+ "x",
18527
+ "twitch",
18528
+ "bitbucket",
18529
+ "spotify",
18323
18530
  "passwordless_email"
18324
18531
  ]
18325
18532
  },
@@ -18386,6 +18593,21 @@
18386
18593
  "type": "string"
18387
18594
  }
18388
18595
  },
18596
+ "provider_options": {
18597
+ "type": "object",
18598
+ "properties": {
18599
+ "team_id": {
18600
+ "type": "string",
18601
+ "description": "Apple: the Apple Developer Team ID (10 characters)."
18602
+ },
18603
+ "key_id": {
18604
+ "type": "string",
18605
+ "description": "Apple: the Key ID of the Sign in with Apple private key."
18606
+ }
18607
+ },
18608
+ "additionalProperties": false,
18609
+ "description": "Provider-specific settings beyond client_id/client_secret. Only `apple` uses them."
18610
+ },
18389
18611
  "claims_mapping": {
18390
18612
  "type": "object",
18391
18613
  "additionalProperties": {
@@ -18749,6 +18971,16 @@
18749
18971
  "google_oauth2",
18750
18972
  "microsoft",
18751
18973
  "oidc",
18974
+ "apple",
18975
+ "facebook",
18976
+ "linkedin",
18977
+ "discord",
18978
+ "gitlab",
18979
+ "slack",
18980
+ "x",
18981
+ "twitch",
18982
+ "bitbucket",
18983
+ "spotify",
18752
18984
  "passwordless_email"
18753
18985
  ]
18754
18986
  },
@@ -18815,6 +19047,21 @@
18815
19047
  "type": "string"
18816
19048
  }
18817
19049
  },
19050
+ "provider_options": {
19051
+ "type": "object",
19052
+ "properties": {
19053
+ "team_id": {
19054
+ "type": "string",
19055
+ "description": "Apple: the Apple Developer Team ID (10 characters)."
19056
+ },
19057
+ "key_id": {
19058
+ "type": "string",
19059
+ "description": "Apple: the Key ID of the Sign in with Apple private key."
19060
+ }
19061
+ },
19062
+ "additionalProperties": false,
19063
+ "description": "Provider-specific settings beyond client_id/client_secret. Only `apple` uses them."
19064
+ },
18818
19065
  "claims_mapping": {
18819
19066
  "type": "object",
18820
19067
  "additionalProperties": {
@@ -73914,6 +74161,150 @@
73914
74161
  }
73915
74162
  }
73916
74163
  }
74164
+ },
74165
+ "post": {
74166
+ "operationId": "callbackFormPost",
74167
+ "summary": "OAuth2 Callback URL (form_post)",
74168
+ "tags": [
74169
+ "oauth"
74170
+ ],
74171
+ "description": "Callback for providers that use `response_mode=form_post` (Sign in with Apple). Redirects (303) to `GET /callback` with the same `code` and `state`.",
74172
+ "requestBody": {
74173
+ "required": true,
74174
+ "content": {
74175
+ "application/json": {
74176
+ "schema": {
74177
+ "type": "object",
74178
+ "properties": {
74179
+ "code": {
74180
+ "type": "string"
74181
+ },
74182
+ "state": {
74183
+ "type": "string"
74184
+ },
74185
+ "error": {
74186
+ "type": "string"
74187
+ },
74188
+ "error_uri": {
74189
+ "type": "string"
74190
+ },
74191
+ "error_description": {
74192
+ "type": "string"
74193
+ },
74194
+ "user": {
74195
+ "type": "string",
74196
+ "maxLength": 4096
74197
+ }
74198
+ }
74199
+ }
74200
+ }
74201
+ }
74202
+ },
74203
+ "responses": {
74204
+ "200": {
74205
+ "description": "Default Response"
74206
+ },
74207
+ "400": {
74208
+ "description": "`validation_error` — The body, query or path failed schema validation. `details.issues` lists each failing field.",
74209
+ "content": {
74210
+ "application/json": {
74211
+ "schema": {
74212
+ "allOf": [
74213
+ {
74214
+ "$ref": "#/components/schemas/ErrorResponse"
74215
+ },
74216
+ {
74217
+ "type": "object",
74218
+ "properties": {
74219
+ "error_code": {
74220
+ "type": "string",
74221
+ "enum": [
74222
+ "validation_error"
74223
+ ]
74224
+ }
74225
+ }
74226
+ }
74227
+ ]
74228
+ }
74229
+ }
74230
+ }
74231
+ },
74232
+ "404": {
74233
+ "description": "`account_not_found` — No Auth Account matches the request (domain, header or token).",
74234
+ "content": {
74235
+ "application/json": {
74236
+ "schema": {
74237
+ "allOf": [
74238
+ {
74239
+ "$ref": "#/components/schemas/ErrorResponse"
74240
+ },
74241
+ {
74242
+ "type": "object",
74243
+ "properties": {
74244
+ "error_code": {
74245
+ "type": "string",
74246
+ "enum": [
74247
+ "account_not_found"
74248
+ ]
74249
+ }
74250
+ }
74251
+ }
74252
+ ]
74253
+ }
74254
+ }
74255
+ }
74256
+ },
74257
+ "429": {
74258
+ "description": "`too_many_requests` — Rate limit exceeded. Honour the `Retry-After` header.",
74259
+ "content": {
74260
+ "application/json": {
74261
+ "schema": {
74262
+ "allOf": [
74263
+ {
74264
+ "$ref": "#/components/schemas/ErrorResponse"
74265
+ },
74266
+ {
74267
+ "type": "object",
74268
+ "properties": {
74269
+ "error_code": {
74270
+ "type": "string",
74271
+ "enum": [
74272
+ "too_many_requests"
74273
+ ]
74274
+ }
74275
+ }
74276
+ }
74277
+ ]
74278
+ }
74279
+ }
74280
+ }
74281
+ },
74282
+ "500": {
74283
+ "description": "`internal_error` — Unexpected server error. Retry later; the request id is logged.",
74284
+ "content": {
74285
+ "application/json": {
74286
+ "schema": {
74287
+ "allOf": [
74288
+ {
74289
+ "$ref": "#/components/schemas/ErrorResponse"
74290
+ },
74291
+ {
74292
+ "type": "object",
74293
+ "properties": {
74294
+ "error_code": {
74295
+ "type": "string",
74296
+ "enum": [
74297
+ "internal_error"
74298
+ ]
74299
+ }
74300
+ }
74301
+ }
74302
+ ]
74303
+ }
74304
+ }
74305
+ }
74306
+ }
74307
+ }
73917
74308
  }
73918
74309
  },
73919
74310
  "/continue": {