authhero 9.2.0 → 9.3.0

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.
Files changed (42) hide show
  1. package/dist/assets/u/widget/index.esm.js +1 -1
  2. package/dist/authhero.cjs +143 -143
  3. package/dist/authhero.d.ts +305 -231
  4. package/dist/authhero.mjs +13637 -14012
  5. package/dist/tsconfig.types.tsbuildinfo +1 -1
  6. package/dist/types/authentication-flows/passwordless.d.ts +6 -6
  7. package/dist/types/helpers/dcr/metadata-mapping.d.ts +2 -2
  8. package/dist/types/index.d.ts +305 -231
  9. package/dist/types/oauth2-client/client.d.ts +50 -0
  10. package/dist/types/oauth2-client/index.d.ts +3 -0
  11. package/dist/types/oauth2-client/providers.d.ts +49 -0
  12. package/dist/types/routes/auth-api/index.d.ts +29 -29
  13. package/dist/types/routes/auth-api/oidc-logout.d.ts +3 -3
  14. package/dist/types/routes/auth-api/passwordless.d.ts +14 -14
  15. package/dist/types/routes/auth-api/register/index.d.ts +2 -2
  16. package/dist/types/routes/auth-api/token.d.ts +10 -10
  17. package/dist/types/routes/management-api/action-executions.d.ts +1 -1
  18. package/dist/types/routes/management-api/actions.d.ts +1 -1
  19. package/dist/types/routes/management-api/authentication-methods.d.ts +1 -1
  20. package/dist/types/routes/management-api/branding.d.ts +3 -3
  21. package/dist/types/routes/management-api/client-grants.d.ts +9 -9
  22. package/dist/types/routes/management-api/clients.d.ts +14 -14
  23. package/dist/types/routes/management-api/connections.d.ts +16 -16
  24. package/dist/types/routes/management-api/custom-domains.d.ts +6 -6
  25. package/dist/types/routes/management-api/failed-events.d.ts +1 -1
  26. package/dist/types/routes/management-api/forms.d.ts +126 -126
  27. package/dist/types/routes/management-api/guardian.d.ts +5 -5
  28. package/dist/types/routes/management-api/helpers.d.ts +1 -1
  29. package/dist/types/routes/management-api/hooks.d.ts +74 -0
  30. package/dist/types/routes/management-api/index.d.ts +261 -187
  31. package/dist/types/routes/management-api/prompts.d.ts +4 -4
  32. package/dist/types/routes/management-api/tenants.d.ts +28 -28
  33. package/dist/types/routes/universal-login/common.d.ts +8 -8
  34. package/dist/types/routes/universal-login/continue.d.ts +2 -2
  35. package/dist/types/routes/universal-login/flow-api.d.ts +8 -8
  36. package/dist/types/routes/universal-login/identifier.d.ts +4 -4
  37. package/dist/types/routes/universal-login/impersonate.d.ts +2 -2
  38. package/dist/types/routes/universal-login/index.d.ts +8 -8
  39. package/dist/types/routes/universal-login/u2-index.d.ts +7 -7
  40. package/dist/types/routes/universal-login/u2-routes.d.ts +7 -7
  41. package/dist/types/strategies/internal-oauth2.d.ts +5 -5
  42. package/package.json +6 -7
@@ -52,7 +52,7 @@ export declare const promptsRoutes: OpenAPIHono<{
52
52
  };
53
53
  };
54
54
  output: {
55
- prompt: "signup" | "status" | "login-id" | "login" | "mfa" | "organizations" | "common" | "consent" | "device-flow" | "email-otp-challenge" | "email-verification" | "invitation" | "login-password" | "login-passwordless" | "mfa-email" | "mfa-otp" | "mfa-phone" | "mfa-login-options" | "mfa-push" | "mfa-recovery-code" | "mfa-voice" | "mfa-webauthn" | "passkeys" | "reset-password" | "signup-id" | "signup-password" | "captcha" | "custom-form";
55
+ prompt: "mfa" | "status" | "organizations" | "signup" | "common" | "consent" | "device-flow" | "email-otp-challenge" | "email-verification" | "invitation" | "login" | "login-id" | "login-password" | "login-passwordless" | "mfa-email" | "mfa-otp" | "mfa-phone" | "mfa-login-options" | "mfa-push" | "mfa-recovery-code" | "mfa-voice" | "mfa-webauthn" | "passkeys" | "reset-password" | "signup-id" | "signup-password" | "captcha" | "custom-form";
56
56
  language: string;
57
57
  }[];
58
58
  outputFormat: "json";
@@ -90,7 +90,7 @@ export declare const promptsRoutes: OpenAPIHono<{
90
90
  $get: {
91
91
  input: {
92
92
  param: {
93
- prompt: "signup" | "status" | "login-id" | "login" | "mfa" | "organizations" | "common" | "consent" | "device-flow" | "email-otp-challenge" | "email-verification" | "invitation" | "login-password" | "login-passwordless" | "mfa-email" | "mfa-otp" | "mfa-phone" | "mfa-login-options" | "mfa-push" | "mfa-recovery-code" | "mfa-voice" | "mfa-webauthn" | "passkeys" | "reset-password" | "signup-id" | "signup-password" | "captcha" | "custom-form";
93
+ prompt: "mfa" | "status" | "organizations" | "signup" | "common" | "consent" | "device-flow" | "email-otp-challenge" | "email-verification" | "invitation" | "login" | "login-id" | "login-password" | "login-passwordless" | "mfa-email" | "mfa-otp" | "mfa-phone" | "mfa-login-options" | "mfa-push" | "mfa-recovery-code" | "mfa-voice" | "mfa-webauthn" | "passkeys" | "reset-password" | "signup-id" | "signup-password" | "captcha" | "custom-form";
94
94
  language: string;
95
95
  };
96
96
  } & {
@@ -112,7 +112,7 @@ export declare const promptsRoutes: OpenAPIHono<{
112
112
  $put: {
113
113
  input: {
114
114
  param: {
115
- prompt: "signup" | "status" | "login-id" | "login" | "mfa" | "organizations" | "common" | "consent" | "device-flow" | "email-otp-challenge" | "email-verification" | "invitation" | "login-password" | "login-passwordless" | "mfa-email" | "mfa-otp" | "mfa-phone" | "mfa-login-options" | "mfa-push" | "mfa-recovery-code" | "mfa-voice" | "mfa-webauthn" | "passkeys" | "reset-password" | "signup-id" | "signup-password" | "captcha" | "custom-form";
115
+ prompt: "mfa" | "status" | "organizations" | "signup" | "common" | "consent" | "device-flow" | "email-otp-challenge" | "email-verification" | "invitation" | "login" | "login-id" | "login-password" | "login-passwordless" | "mfa-email" | "mfa-otp" | "mfa-phone" | "mfa-login-options" | "mfa-push" | "mfa-recovery-code" | "mfa-voice" | "mfa-webauthn" | "passkeys" | "reset-password" | "signup-id" | "signup-password" | "captcha" | "custom-form";
116
116
  language: string;
117
117
  };
118
118
  } & {
@@ -136,7 +136,7 @@ export declare const promptsRoutes: OpenAPIHono<{
136
136
  $delete: {
137
137
  input: {
138
138
  param: {
139
- prompt: "signup" | "status" | "login-id" | "login" | "mfa" | "organizations" | "common" | "consent" | "device-flow" | "email-otp-challenge" | "email-verification" | "invitation" | "login-password" | "login-passwordless" | "mfa-email" | "mfa-otp" | "mfa-phone" | "mfa-login-options" | "mfa-push" | "mfa-recovery-code" | "mfa-voice" | "mfa-webauthn" | "passkeys" | "reset-password" | "signup-id" | "signup-password" | "captcha" | "custom-form";
139
+ prompt: "mfa" | "status" | "organizations" | "signup" | "common" | "consent" | "device-flow" | "email-otp-challenge" | "email-verification" | "invitation" | "login" | "login-id" | "login-password" | "login-passwordless" | "mfa-email" | "mfa-otp" | "mfa-phone" | "mfa-login-options" | "mfa-push" | "mfa-recovery-code" | "mfa-voice" | "mfa-webauthn" | "passkeys" | "reset-password" | "signup-id" | "signup-password" | "captcha" | "custom-form";
140
140
  language: string;
141
141
  };
142
142
  } & {
@@ -210,6 +210,34 @@ export declare const tenantRoutes: OpenAPIHono<{
210
210
  };
211
211
  } & {
212
212
  json: {
213
+ sessions?: {
214
+ oidc_logout_prompt_enabled?: boolean | undefined;
215
+ } | undefined;
216
+ mfa?: {
217
+ policy?: "never" | "always" | undefined;
218
+ factors?: {
219
+ sms?: boolean | undefined;
220
+ otp?: boolean | undefined;
221
+ email?: boolean | undefined;
222
+ push_notification?: boolean | undefined;
223
+ webauthn_roaming?: boolean | undefined;
224
+ webauthn_platform?: boolean | undefined;
225
+ recovery_code?: boolean | undefined;
226
+ duo?: boolean | undefined;
227
+ } | undefined;
228
+ sms_provider?: {
229
+ provider?: "twilio" | "vonage" | "aws_sns" | "phone_message_hook" | undefined;
230
+ } | undefined;
231
+ twilio?: {
232
+ sid?: string | undefined;
233
+ auth_token?: string | undefined;
234
+ from?: string | undefined;
235
+ messaging_service_sid?: string | undefined;
236
+ } | undefined;
237
+ phone_message?: {
238
+ message?: string | undefined;
239
+ } | undefined;
240
+ } | undefined;
213
241
  id?: string | undefined;
214
242
  allowed_logout_urls?: string[] | undefined;
215
243
  oidc_logout?: {
@@ -303,9 +331,6 @@ export declare const tenantRoutes: OpenAPIHono<{
303
331
  } | undefined;
304
332
  } | null | undefined;
305
333
  default_audience?: string | undefined;
306
- sessions?: {
307
- oidc_logout_prompt_enabled?: boolean | undefined;
308
- } | undefined;
309
334
  allow_organization_name_in_authentication_api?: boolean | undefined;
310
335
  customize_mfa_in_postlogin_action?: boolean | undefined;
311
336
  acr_values_supported?: string[] | undefined;
@@ -361,31 +386,6 @@ export declare const tenantRoutes: OpenAPIHono<{
361
386
  } | undefined;
362
387
  } | undefined;
363
388
  } | undefined;
364
- mfa?: {
365
- policy?: "never" | "always" | undefined;
366
- factors?: {
367
- sms?: boolean | undefined;
368
- otp?: boolean | undefined;
369
- email?: boolean | undefined;
370
- push_notification?: boolean | undefined;
371
- webauthn_roaming?: boolean | undefined;
372
- webauthn_platform?: boolean | undefined;
373
- recovery_code?: boolean | undefined;
374
- duo?: boolean | undefined;
375
- } | undefined;
376
- sms_provider?: {
377
- provider?: "twilio" | "vonage" | "aws_sns" | "phone_message_hook" | undefined;
378
- } | undefined;
379
- twilio?: {
380
- sid?: string | undefined;
381
- auth_token?: string | undefined;
382
- from?: string | undefined;
383
- messaging_service_sid?: string | undefined;
384
- } | undefined;
385
- phone_message?: {
386
- message?: string | undefined;
387
- } | undefined;
388
- } | undefined;
389
389
  };
390
390
  };
391
391
  output: {
@@ -357,7 +357,7 @@ export declare function initJSXRoute(ctx: Context<{
357
357
  active?: boolean | undefined;
358
358
  } | undefined;
359
359
  signup?: {
360
- status?: "optional" | "required" | "disabled" | undefined;
360
+ status?: "required" | "optional" | "disabled" | undefined;
361
361
  verification?: {
362
362
  active?: boolean | undefined;
363
363
  } | undefined;
@@ -374,7 +374,7 @@ export declare function initJSXRoute(ctx: Context<{
374
374
  active?: boolean | undefined;
375
375
  } | undefined;
376
376
  signup?: {
377
- status?: "optional" | "required" | "disabled" | undefined;
377
+ status?: "required" | "optional" | "disabled" | undefined;
378
378
  } | undefined;
379
379
  validation?: {
380
380
  max_length?: number | undefined;
@@ -391,7 +391,7 @@ export declare function initJSXRoute(ctx: Context<{
391
391
  active?: boolean | undefined;
392
392
  } | undefined;
393
393
  signup?: {
394
- status?: "optional" | "required" | "disabled" | undefined;
394
+ status?: "required" | "optional" | "disabled" | undefined;
395
395
  } | undefined;
396
396
  } | undefined;
397
397
  } | undefined;
@@ -456,7 +456,7 @@ export declare function initJSXRoute(ctx: Context<{
456
456
  custom_login_page_preview?: string | undefined;
457
457
  form_template?: string | undefined;
458
458
  addons?: Record<string, any> | undefined;
459
- token_endpoint_auth_method?: "client_secret_post" | "client_secret_basic" | "none" | "client_secret_jwt" | "private_key_jwt" | undefined;
459
+ token_endpoint_auth_method?: "none" | "private_key_jwt" | "client_secret_post" | "client_secret_basic" | "client_secret_jwt" | undefined;
460
460
  client_metadata?: Record<string, string> | undefined;
461
461
  hide_sign_up_disabled_error?: boolean | undefined;
462
462
  mobile?: Record<string, any> | undefined;
@@ -1086,7 +1086,7 @@ export declare function initJSXRouteWithSession(ctx: Context<{
1086
1086
  active?: boolean | undefined;
1087
1087
  } | undefined;
1088
1088
  signup?: {
1089
- status?: "optional" | "required" | "disabled" | undefined;
1089
+ status?: "required" | "optional" | "disabled" | undefined;
1090
1090
  verification?: {
1091
1091
  active?: boolean | undefined;
1092
1092
  } | undefined;
@@ -1103,7 +1103,7 @@ export declare function initJSXRouteWithSession(ctx: Context<{
1103
1103
  active?: boolean | undefined;
1104
1104
  } | undefined;
1105
1105
  signup?: {
1106
- status?: "optional" | "required" | "disabled" | undefined;
1106
+ status?: "required" | "optional" | "disabled" | undefined;
1107
1107
  } | undefined;
1108
1108
  validation?: {
1109
1109
  max_length?: number | undefined;
@@ -1120,7 +1120,7 @@ export declare function initJSXRouteWithSession(ctx: Context<{
1120
1120
  active?: boolean | undefined;
1121
1121
  } | undefined;
1122
1122
  signup?: {
1123
- status?: "optional" | "required" | "disabled" | undefined;
1123
+ status?: "required" | "optional" | "disabled" | undefined;
1124
1124
  } | undefined;
1125
1125
  } | undefined;
1126
1126
  } | undefined;
@@ -1185,7 +1185,7 @@ export declare function initJSXRouteWithSession(ctx: Context<{
1185
1185
  custom_login_page_preview?: string | undefined;
1186
1186
  form_template?: string | undefined;
1187
1187
  addons?: Record<string, any> | undefined;
1188
- token_endpoint_auth_method?: "client_secret_post" | "client_secret_basic" | "none" | "client_secret_jwt" | "private_key_jwt" | undefined;
1188
+ token_endpoint_auth_method?: "none" | "private_key_jwt" | "client_secret_post" | "client_secret_basic" | "client_secret_jwt" | undefined;
1189
1189
  client_metadata?: Record<string, string> | undefined;
1190
1190
  hide_sign_up_disabled_error?: boolean | undefined;
1191
1191
  mobile?: Record<string, any> | undefined;
@@ -13,7 +13,7 @@ export declare const continueRoutes: OpenAPIHono<{
13
13
  };
14
14
  output: {};
15
15
  outputFormat: string;
16
- status: 302;
16
+ status: 400;
17
17
  } | {
18
18
  input: {
19
19
  query: {
@@ -22,7 +22,7 @@ export declare const continueRoutes: OpenAPIHono<{
22
22
  };
23
23
  output: {};
24
24
  outputFormat: string;
25
- status: 400;
25
+ status: 302;
26
26
  } | {
27
27
  input: {
28
28
  query: {
@@ -43,7 +43,7 @@ export declare const flowApiRoutes: OpenAPIHono<{
43
43
  hint?: string | undefined;
44
44
  messages?: {
45
45
  text: string;
46
- type: "error" | "success" | "info" | "warning";
46
+ type: "success" | "error" | "info" | "warning";
47
47
  id?: number | undefined;
48
48
  }[] | undefined;
49
49
  }[];
@@ -51,7 +51,7 @@ export declare const flowApiRoutes: OpenAPIHono<{
51
51
  description?: string | undefined;
52
52
  messages?: {
53
53
  text: string;
54
- type: "error" | "success" | "info" | "warning";
54
+ type: "success" | "error" | "info" | "warning";
55
55
  id?: number | undefined;
56
56
  }[] | undefined;
57
57
  links?: {
@@ -123,7 +123,7 @@ export declare const flowApiRoutes: OpenAPIHono<{
123
123
  hint?: string | undefined;
124
124
  messages?: {
125
125
  text: string;
126
- type: "error" | "success" | "info" | "warning";
126
+ type: "success" | "error" | "info" | "warning";
127
127
  id?: number | undefined;
128
128
  }[] | undefined;
129
129
  }[];
@@ -131,7 +131,7 @@ export declare const flowApiRoutes: OpenAPIHono<{
131
131
  description?: string | undefined;
132
132
  messages?: {
133
133
  text: string;
134
- type: "error" | "success" | "info" | "warning";
134
+ type: "success" | "error" | "info" | "warning";
135
135
  id?: number | undefined;
136
136
  }[] | undefined;
137
137
  links?: {
@@ -220,7 +220,7 @@ export declare const flowApiRoutes: OpenAPIHono<{
220
220
  hint?: string | undefined;
221
221
  messages?: {
222
222
  text: string;
223
- type: "error" | "success" | "info" | "warning";
223
+ type: "success" | "error" | "info" | "warning";
224
224
  id?: number | undefined;
225
225
  }[] | undefined;
226
226
  }[];
@@ -228,7 +228,7 @@ export declare const flowApiRoutes: OpenAPIHono<{
228
228
  description?: string | undefined;
229
229
  messages?: {
230
230
  text: string;
231
- type: "error" | "success" | "info" | "warning";
231
+ type: "success" | "error" | "info" | "warning";
232
232
  id?: number | undefined;
233
233
  }[] | undefined;
234
234
  links?: {
@@ -335,7 +335,7 @@ export declare const flowApiRoutes: OpenAPIHono<{
335
335
  hint?: string | undefined;
336
336
  messages?: {
337
337
  text: string;
338
- type: "error" | "success" | "info" | "warning";
338
+ type: "success" | "error" | "info" | "warning";
339
339
  id?: number | undefined;
340
340
  }[] | undefined;
341
341
  }[];
@@ -343,7 +343,7 @@ export declare const flowApiRoutes: OpenAPIHono<{
343
343
  description?: string | undefined;
344
344
  messages?: {
345
345
  text: string;
346
- type: "error" | "success" | "info" | "warning";
346
+ type: "success" | "error" | "info" | "warning";
347
347
  id?: number | undefined;
348
348
  }[] | undefined;
349
349
  links?: {
@@ -30,12 +30,12 @@ export declare const identifierRoutes: OpenAPIHono<{
30
30
  } & {
31
31
  form: {
32
32
  username: string;
33
- login_selection?: "code" | "password" | undefined;
33
+ login_selection?: "password" | "code" | undefined;
34
34
  };
35
35
  };
36
36
  output: {};
37
37
  outputFormat: string;
38
- status: 302;
38
+ status: 400;
39
39
  } | {
40
40
  input: {
41
41
  query: {
@@ -44,12 +44,12 @@ export declare const identifierRoutes: OpenAPIHono<{
44
44
  } & {
45
45
  form: {
46
46
  username: string;
47
- login_selection?: "code" | "password" | undefined;
47
+ login_selection?: "password" | "code" | undefined;
48
48
  };
49
49
  };
50
50
  output: {};
51
51
  outputFormat: string;
52
- status: 400;
52
+ status: 302;
53
53
  };
54
54
  };
55
55
  }, "/">;
@@ -52,7 +52,7 @@ export declare const impersonateRoutes: OpenAPIHono<{
52
52
  };
53
53
  output: {};
54
54
  outputFormat: string;
55
- status: 302;
55
+ status: 400;
56
56
  } | {
57
57
  input: {
58
58
  query: {
@@ -65,7 +65,7 @@ export declare const impersonateRoutes: OpenAPIHono<{
65
65
  };
66
66
  output: {};
67
67
  outputFormat: string;
68
- status: 400;
68
+ status: 302;
69
69
  };
70
70
  };
71
71
  }, "/">;
@@ -27,7 +27,7 @@ export default function create(config: AuthHeroConfig): OpenAPIHono<{
27
27
  };
28
28
  output: {};
29
29
  outputFormat: string;
30
- status: 302;
30
+ status: 400;
31
31
  } | {
32
32
  input: {
33
33
  query: {
@@ -36,7 +36,7 @@ export default function create(config: AuthHeroConfig): OpenAPIHono<{
36
36
  };
37
37
  output: {};
38
38
  outputFormat: string;
39
- status: 400;
39
+ status: 302;
40
40
  } | {
41
41
  input: {
42
42
  query: {
@@ -165,7 +165,7 @@ export default function create(config: AuthHeroConfig): OpenAPIHono<{
165
165
  };
166
166
  output: {};
167
167
  outputFormat: string;
168
- status: 302;
168
+ status: 400;
169
169
  } | {
170
170
  input: {
171
171
  query: {
@@ -178,7 +178,7 @@ export default function create(config: AuthHeroConfig): OpenAPIHono<{
178
178
  };
179
179
  output: {};
180
180
  outputFormat: string;
181
- status: 400;
181
+ status: 302;
182
182
  };
183
183
  };
184
184
  }, "/impersonate"> & import("hono/types").MergeSchemaPath<{
@@ -515,12 +515,12 @@ export default function create(config: AuthHeroConfig): OpenAPIHono<{
515
515
  } & {
516
516
  form: {
517
517
  username: string;
518
- login_selection?: "code" | "password" | undefined;
518
+ login_selection?: "password" | "code" | undefined;
519
519
  };
520
520
  };
521
521
  output: {};
522
522
  outputFormat: string;
523
- status: 302;
523
+ status: 400;
524
524
  } | {
525
525
  input: {
526
526
  query: {
@@ -529,12 +529,12 @@ export default function create(config: AuthHeroConfig): OpenAPIHono<{
529
529
  } & {
530
530
  form: {
531
531
  username: string;
532
- login_selection?: "code" | "password" | undefined;
532
+ login_selection?: "password" | "code" | undefined;
533
533
  };
534
534
  };
535
535
  output: {};
536
536
  outputFormat: string;
537
- status: 400;
537
+ status: 302;
538
538
  };
539
539
  };
540
540
  }, "/login/identifier"> & import("hono/types").MergeSchemaPath<{
@@ -165,7 +165,7 @@ export default function createU2App(config: AuthHeroConfig): OpenAPIHono<{
165
165
  $get: {
166
166
  input: {
167
167
  param: {
168
- screen: "signup" | "login" | "consent" | "reset-password" | "account" | "enter-password" | "impersonate" | "try-connection-result" | "reset-password/request" | "reset-password/code" | "login/identifier" | "login/email-otp-challenge" | "login/sms-otp-challenge" | "login/login-passwordless-identifier" | "mfa/login-options" | "mfa/totp-challenge" | "mfa/totp-enrollment" | "mfa/phone-challenge" | "mfa/phone-enrollment" | "passkey/challenge" | "passkey/enrollment" | "passkey/enrollment-nudge" | "account/profile" | "account/security" | "account/security/totp-enrollment" | "account/security/phone-enrollment" | "account/linked" | "account/delete" | "account/passkeys" | "connect/start" | "connect/select-tenant";
168
+ screen: "signup" | "impersonate" | "consent" | "login" | "reset-password" | "account" | "enter-password" | "try-connection-result" | "reset-password/request" | "reset-password/code" | "login/identifier" | "login/email-otp-challenge" | "login/sms-otp-challenge" | "login/login-passwordless-identifier" | "mfa/login-options" | "mfa/totp-challenge" | "mfa/totp-enrollment" | "mfa/phone-challenge" | "mfa/phone-enrollment" | "passkey/challenge" | "passkey/enrollment" | "passkey/enrollment-nudge" | "account/profile" | "account/security" | "account/security/totp-enrollment" | "account/security/phone-enrollment" | "account/linked" | "account/delete" | "account/passkeys" | "connect/start" | "connect/select-tenant";
169
169
  };
170
170
  } & {
171
171
  query: {
@@ -181,7 +181,7 @@ export default function createU2App(config: AuthHeroConfig): OpenAPIHono<{
181
181
  } | {
182
182
  input: {
183
183
  param: {
184
- screen: "signup" | "login" | "consent" | "reset-password" | "account" | "enter-password" | "impersonate" | "try-connection-result" | "reset-password/request" | "reset-password/code" | "login/identifier" | "login/email-otp-challenge" | "login/sms-otp-challenge" | "login/login-passwordless-identifier" | "mfa/login-options" | "mfa/totp-challenge" | "mfa/totp-enrollment" | "mfa/phone-challenge" | "mfa/phone-enrollment" | "passkey/challenge" | "passkey/enrollment" | "passkey/enrollment-nudge" | "account/profile" | "account/security" | "account/security/totp-enrollment" | "account/security/phone-enrollment" | "account/linked" | "account/delete" | "account/passkeys" | "connect/start" | "connect/select-tenant";
184
+ screen: "signup" | "impersonate" | "consent" | "login" | "reset-password" | "account" | "enter-password" | "try-connection-result" | "reset-password/request" | "reset-password/code" | "login/identifier" | "login/email-otp-challenge" | "login/sms-otp-challenge" | "login/login-passwordless-identifier" | "mfa/login-options" | "mfa/totp-challenge" | "mfa/totp-enrollment" | "mfa/phone-challenge" | "mfa/phone-enrollment" | "passkey/challenge" | "passkey/enrollment" | "passkey/enrollment-nudge" | "account/profile" | "account/security" | "account/security/totp-enrollment" | "account/security/phone-enrollment" | "account/linked" | "account/delete" | "account/passkeys" | "connect/start" | "connect/select-tenant";
185
185
  };
186
186
  } & {
187
187
  query: {
@@ -193,11 +193,11 @@ export default function createU2App(config: AuthHeroConfig): OpenAPIHono<{
193
193
  };
194
194
  output: {};
195
195
  outputFormat: string;
196
- status: 302;
196
+ status: 400;
197
197
  } | {
198
198
  input: {
199
199
  param: {
200
- screen: "signup" | "login" | "consent" | "reset-password" | "account" | "enter-password" | "impersonate" | "try-connection-result" | "reset-password/request" | "reset-password/code" | "login/identifier" | "login/email-otp-challenge" | "login/sms-otp-challenge" | "login/login-passwordless-identifier" | "mfa/login-options" | "mfa/totp-challenge" | "mfa/totp-enrollment" | "mfa/phone-challenge" | "mfa/phone-enrollment" | "passkey/challenge" | "passkey/enrollment" | "passkey/enrollment-nudge" | "account/profile" | "account/security" | "account/security/totp-enrollment" | "account/security/phone-enrollment" | "account/linked" | "account/delete" | "account/passkeys" | "connect/start" | "connect/select-tenant";
200
+ screen: "signup" | "impersonate" | "consent" | "login" | "reset-password" | "account" | "enter-password" | "try-connection-result" | "reset-password/request" | "reset-password/code" | "login/identifier" | "login/email-otp-challenge" | "login/sms-otp-challenge" | "login/login-passwordless-identifier" | "mfa/login-options" | "mfa/totp-challenge" | "mfa/totp-enrollment" | "mfa/phone-challenge" | "mfa/phone-enrollment" | "passkey/challenge" | "passkey/enrollment" | "passkey/enrollment-nudge" | "account/profile" | "account/security" | "account/security/totp-enrollment" | "account/security/phone-enrollment" | "account/linked" | "account/delete" | "account/passkeys" | "connect/start" | "connect/select-tenant";
201
201
  };
202
202
  } & {
203
203
  query: {
@@ -209,7 +209,7 @@ export default function createU2App(config: AuthHeroConfig): OpenAPIHono<{
209
209
  };
210
210
  output: {};
211
211
  outputFormat: string;
212
- status: 400;
212
+ status: 302;
213
213
  };
214
214
  };
215
215
  } & {
@@ -217,7 +217,7 @@ export default function createU2App(config: AuthHeroConfig): OpenAPIHono<{
217
217
  $post: {
218
218
  input: {
219
219
  param: {
220
- screen: "signup" | "login" | "consent" | "reset-password" | "enter-password" | "impersonate" | "reset-password/request" | "reset-password/code" | "login/identifier" | "login/email-otp-challenge" | "login/sms-otp-challenge" | "login/login-passwordless-identifier" | "mfa/login-options" | "mfa/totp-challenge" | "mfa/totp-enrollment" | "mfa/phone-challenge" | "mfa/phone-enrollment" | "passkey/challenge" | "passkey/enrollment" | "passkey/enrollment-nudge" | "account/profile" | "account/security" | "account/security/totp-enrollment" | "account/security/phone-enrollment" | "account/linked" | "account/delete" | "account/passkeys" | "connect/start" | "connect/select-tenant";
220
+ screen: "signup" | "impersonate" | "consent" | "login" | "reset-password" | "enter-password" | "reset-password/request" | "reset-password/code" | "login/identifier" | "login/email-otp-challenge" | "login/sms-otp-challenge" | "login/login-passwordless-identifier" | "mfa/login-options" | "mfa/totp-challenge" | "mfa/totp-enrollment" | "mfa/phone-challenge" | "mfa/phone-enrollment" | "passkey/challenge" | "passkey/enrollment" | "passkey/enrollment-nudge" | "account/profile" | "account/security" | "account/security/totp-enrollment" | "account/security/phone-enrollment" | "account/linked" | "account/delete" | "account/passkeys" | "connect/start" | "connect/select-tenant";
221
221
  };
222
222
  } & {
223
223
  query: {
@@ -235,7 +235,7 @@ export default function createU2App(config: AuthHeroConfig): OpenAPIHono<{
235
235
  } | {
236
236
  input: {
237
237
  param: {
238
- screen: "signup" | "login" | "consent" | "reset-password" | "enter-password" | "impersonate" | "reset-password/request" | "reset-password/code" | "login/identifier" | "login/email-otp-challenge" | "login/sms-otp-challenge" | "login/login-passwordless-identifier" | "mfa/login-options" | "mfa/totp-challenge" | "mfa/totp-enrollment" | "mfa/phone-challenge" | "mfa/phone-enrollment" | "passkey/challenge" | "passkey/enrollment" | "passkey/enrollment-nudge" | "account/profile" | "account/security" | "account/security/totp-enrollment" | "account/security/phone-enrollment" | "account/linked" | "account/delete" | "account/passkeys" | "connect/start" | "connect/select-tenant";
238
+ screen: "signup" | "impersonate" | "consent" | "login" | "reset-password" | "enter-password" | "reset-password/request" | "reset-password/code" | "login/identifier" | "login/email-otp-challenge" | "login/sms-otp-challenge" | "login/login-passwordless-identifier" | "mfa/login-options" | "mfa/totp-challenge" | "mfa/totp-enrollment" | "mfa/phone-challenge" | "mfa/phone-enrollment" | "passkey/challenge" | "passkey/enrollment" | "passkey/enrollment-nudge" | "account/profile" | "account/security" | "account/security/totp-enrollment" | "account/security/phone-enrollment" | "account/linked" | "account/delete" | "account/passkeys" | "connect/start" | "connect/select-tenant";
239
239
  };
240
240
  } & {
241
241
  query: {
@@ -170,7 +170,7 @@ export declare const u2Routes: OpenAPIHono<{
170
170
  $get: {
171
171
  input: {
172
172
  param: {
173
- screen: "signup" | "login" | "consent" | "reset-password" | "account" | "enter-password" | "impersonate" | "try-connection-result" | "reset-password/request" | "reset-password/code" | "login/identifier" | "login/email-otp-challenge" | "login/sms-otp-challenge" | "login/login-passwordless-identifier" | "mfa/login-options" | "mfa/totp-challenge" | "mfa/totp-enrollment" | "mfa/phone-challenge" | "mfa/phone-enrollment" | "passkey/challenge" | "passkey/enrollment" | "passkey/enrollment-nudge" | "account/profile" | "account/security" | "account/security/totp-enrollment" | "account/security/phone-enrollment" | "account/linked" | "account/delete" | "account/passkeys" | "connect/start" | "connect/select-tenant";
173
+ screen: "signup" | "impersonate" | "consent" | "login" | "reset-password" | "account" | "enter-password" | "try-connection-result" | "reset-password/request" | "reset-password/code" | "login/identifier" | "login/email-otp-challenge" | "login/sms-otp-challenge" | "login/login-passwordless-identifier" | "mfa/login-options" | "mfa/totp-challenge" | "mfa/totp-enrollment" | "mfa/phone-challenge" | "mfa/phone-enrollment" | "passkey/challenge" | "passkey/enrollment" | "passkey/enrollment-nudge" | "account/profile" | "account/security" | "account/security/totp-enrollment" | "account/security/phone-enrollment" | "account/linked" | "account/delete" | "account/passkeys" | "connect/start" | "connect/select-tenant";
174
174
  };
175
175
  } & {
176
176
  query: {
@@ -186,7 +186,7 @@ export declare const u2Routes: OpenAPIHono<{
186
186
  } | {
187
187
  input: {
188
188
  param: {
189
- screen: "signup" | "login" | "consent" | "reset-password" | "account" | "enter-password" | "impersonate" | "try-connection-result" | "reset-password/request" | "reset-password/code" | "login/identifier" | "login/email-otp-challenge" | "login/sms-otp-challenge" | "login/login-passwordless-identifier" | "mfa/login-options" | "mfa/totp-challenge" | "mfa/totp-enrollment" | "mfa/phone-challenge" | "mfa/phone-enrollment" | "passkey/challenge" | "passkey/enrollment" | "passkey/enrollment-nudge" | "account/profile" | "account/security" | "account/security/totp-enrollment" | "account/security/phone-enrollment" | "account/linked" | "account/delete" | "account/passkeys" | "connect/start" | "connect/select-tenant";
189
+ screen: "signup" | "impersonate" | "consent" | "login" | "reset-password" | "account" | "enter-password" | "try-connection-result" | "reset-password/request" | "reset-password/code" | "login/identifier" | "login/email-otp-challenge" | "login/sms-otp-challenge" | "login/login-passwordless-identifier" | "mfa/login-options" | "mfa/totp-challenge" | "mfa/totp-enrollment" | "mfa/phone-challenge" | "mfa/phone-enrollment" | "passkey/challenge" | "passkey/enrollment" | "passkey/enrollment-nudge" | "account/profile" | "account/security" | "account/security/totp-enrollment" | "account/security/phone-enrollment" | "account/linked" | "account/delete" | "account/passkeys" | "connect/start" | "connect/select-tenant";
190
190
  };
191
191
  } & {
192
192
  query: {
@@ -198,11 +198,11 @@ export declare const u2Routes: OpenAPIHono<{
198
198
  };
199
199
  output: {};
200
200
  outputFormat: string;
201
- status: 302;
201
+ status: 400;
202
202
  } | {
203
203
  input: {
204
204
  param: {
205
- screen: "signup" | "login" | "consent" | "reset-password" | "account" | "enter-password" | "impersonate" | "try-connection-result" | "reset-password/request" | "reset-password/code" | "login/identifier" | "login/email-otp-challenge" | "login/sms-otp-challenge" | "login/login-passwordless-identifier" | "mfa/login-options" | "mfa/totp-challenge" | "mfa/totp-enrollment" | "mfa/phone-challenge" | "mfa/phone-enrollment" | "passkey/challenge" | "passkey/enrollment" | "passkey/enrollment-nudge" | "account/profile" | "account/security" | "account/security/totp-enrollment" | "account/security/phone-enrollment" | "account/linked" | "account/delete" | "account/passkeys" | "connect/start" | "connect/select-tenant";
205
+ screen: "signup" | "impersonate" | "consent" | "login" | "reset-password" | "account" | "enter-password" | "try-connection-result" | "reset-password/request" | "reset-password/code" | "login/identifier" | "login/email-otp-challenge" | "login/sms-otp-challenge" | "login/login-passwordless-identifier" | "mfa/login-options" | "mfa/totp-challenge" | "mfa/totp-enrollment" | "mfa/phone-challenge" | "mfa/phone-enrollment" | "passkey/challenge" | "passkey/enrollment" | "passkey/enrollment-nudge" | "account/profile" | "account/security" | "account/security/totp-enrollment" | "account/security/phone-enrollment" | "account/linked" | "account/delete" | "account/passkeys" | "connect/start" | "connect/select-tenant";
206
206
  };
207
207
  } & {
208
208
  query: {
@@ -214,7 +214,7 @@ export declare const u2Routes: OpenAPIHono<{
214
214
  };
215
215
  output: {};
216
216
  outputFormat: string;
217
- status: 400;
217
+ status: 302;
218
218
  };
219
219
  };
220
220
  } & {
@@ -222,7 +222,7 @@ export declare const u2Routes: OpenAPIHono<{
222
222
  $post: {
223
223
  input: {
224
224
  param: {
225
- screen: "signup" | "login" | "consent" | "reset-password" | "enter-password" | "impersonate" | "reset-password/request" | "reset-password/code" | "login/identifier" | "login/email-otp-challenge" | "login/sms-otp-challenge" | "login/login-passwordless-identifier" | "mfa/login-options" | "mfa/totp-challenge" | "mfa/totp-enrollment" | "mfa/phone-challenge" | "mfa/phone-enrollment" | "passkey/challenge" | "passkey/enrollment" | "passkey/enrollment-nudge" | "account/profile" | "account/security" | "account/security/totp-enrollment" | "account/security/phone-enrollment" | "account/linked" | "account/delete" | "account/passkeys" | "connect/start" | "connect/select-tenant";
225
+ screen: "signup" | "impersonate" | "consent" | "login" | "reset-password" | "enter-password" | "reset-password/request" | "reset-password/code" | "login/identifier" | "login/email-otp-challenge" | "login/sms-otp-challenge" | "login/login-passwordless-identifier" | "mfa/login-options" | "mfa/totp-challenge" | "mfa/totp-enrollment" | "mfa/phone-challenge" | "mfa/phone-enrollment" | "passkey/challenge" | "passkey/enrollment" | "passkey/enrollment-nudge" | "account/profile" | "account/security" | "account/security/totp-enrollment" | "account/security/phone-enrollment" | "account/linked" | "account/delete" | "account/passkeys" | "connect/start" | "connect/select-tenant";
226
226
  };
227
227
  } & {
228
228
  query: {
@@ -240,7 +240,7 @@ export declare const u2Routes: OpenAPIHono<{
240
240
  } | {
241
241
  input: {
242
242
  param: {
243
- screen: "signup" | "login" | "consent" | "reset-password" | "enter-password" | "impersonate" | "reset-password/request" | "reset-password/code" | "login/identifier" | "login/email-otp-challenge" | "login/sms-otp-challenge" | "login/login-passwordless-identifier" | "mfa/login-options" | "mfa/totp-challenge" | "mfa/totp-enrollment" | "mfa/phone-challenge" | "mfa/phone-enrollment" | "passkey/challenge" | "passkey/enrollment" | "passkey/enrollment-nudge" | "account/profile" | "account/security" | "account/security/totp-enrollment" | "account/security/phone-enrollment" | "account/linked" | "account/delete" | "account/passkeys" | "connect/start" | "connect/select-tenant";
243
+ screen: "signup" | "impersonate" | "consent" | "login" | "reset-password" | "enter-password" | "reset-password/request" | "reset-password/code" | "login/identifier" | "login/email-otp-challenge" | "login/sms-otp-challenge" | "login/login-passwordless-identifier" | "mfa/login-options" | "mfa/totp-challenge" | "mfa/totp-enrollment" | "mfa/phone-challenge" | "mfa/phone-enrollment" | "passkey/challenge" | "passkey/enrollment" | "passkey/enrollment-nudge" | "account/profile" | "account/security" | "account/security/totp-enrollment" | "account/security/phone-enrollment" | "account/linked" | "account/delete" | "account/passkeys" | "connect/start" | "connect/select-tenant";
244
244
  };
245
245
  } & {
246
246
  query: {
@@ -1,10 +1,10 @@
1
- import { OAuth2Client, OAuth2Tokens } from "arctic";
1
+ import { OAuth2Client, OAuth2Tokens } from "../oauth2-client";
2
2
  /**
3
- * Extends arctic's `OAuth2Client` so we own the token-endpoint exchange. We
4
- * support both `client_secret_basic` (HTTP Basic) and `client_secret_post`
3
+ * Extends `OAuth2Client` so we own the token-endpoint exchange. We support
4
+ * both `client_secret_basic` (HTTP Basic) and `client_secret_post`
5
5
  * (credentials in form body), and always surface the upstream response body in
6
- * thrown errors — arctic discards it, which makes diagnosing `invalid_client`
7
- * from providers like JumpCloud nearly impossible.
6
+ * thrown errors — the base client discards it, which makes diagnosing
7
+ * `invalid_client` from providers like JumpCloud nearly impossible.
8
8
  */
9
9
  export type TokenEndpointAuthMethod = "client_secret_basic" | "client_secret_post";
10
10
  export declare class ExtendedOAuth2Client extends OAuth2Client {
package/package.json CHANGED
@@ -11,7 +11,7 @@
11
11
  "type": "git",
12
12
  "url": "https://github.com/markusahlstrand/authhero"
13
13
  },
14
- "version": "9.2.0",
14
+ "version": "9.3.0",
15
15
  "files": [
16
16
  "dist"
17
17
  ],
@@ -63,13 +63,12 @@
63
63
  "vite": "^8.0.14",
64
64
  "vite-plugin-dts": "^4.5.4",
65
65
  "vitest": "^4.1.7",
66
- "@authhero/kysely-adapter": "12.2.0",
67
- "@authhero/widget": "0.37.0"
66
+ "@authhero/kysely-adapter": "12.3.0",
67
+ "@authhero/widget": "0.37.1"
68
68
  },
69
69
  "dependencies": {
70
70
  "@peculiar/x509": "^1.14.0",
71
71
  "@simplewebauthn/server": "^13.0.0",
72
- "arctic": "3.7.0",
73
72
  "bcryptjs": "^3.0.3",
74
73
  "classnames": "^2.5.1",
75
74
  "cookie": "^1.1.1",
@@ -81,9 +80,9 @@
81
80
  "qrcode": "^1.5.4",
82
81
  "sanitize-html": "^2.17.4",
83
82
  "xstate": "^5.31.1",
84
- "@authhero/adapter-interfaces": "4.5.0",
85
- "@authhero/proxy": "0.10.2",
86
- "@authhero/saml": "0.5.2"
83
+ "@authhero/adapter-interfaces": "4.6.0",
84
+ "@authhero/proxy": "0.10.3",
85
+ "@authhero/saml": "0.5.3"
87
86
  },
88
87
  "peerDependencies": {
89
88
  "@authhero/widget": "^0.1.0",