authhero 8.23.1 → 8.24.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.
- package/dist/assets/u/widget/index.esm.js +1 -1
- package/dist/authhero.cjs +139 -142
- package/dist/authhero.d.ts +349 -145
- package/dist/authhero.mjs +19659 -15484
- package/dist/tsconfig.types.tsbuildinfo +1 -1
- package/dist/types/adapters/control-plane-custom-domains.d.ts +35 -0
- package/dist/types/authentication-flows/passwordless.d.ts +5 -5
- package/dist/types/helpers/control-plane-client.d.ts +46 -0
- package/dist/types/helpers/control-plane-sync-events.d.ts +12 -28
- package/dist/types/index.d.ts +174 -100
- package/dist/types/routes/auth-api/index.d.ts +24 -24
- package/dist/types/routes/auth-api/passwordless.d.ts +8 -8
- package/dist/types/routes/auth-api/revoke.d.ts +6 -6
- package/dist/types/routes/auth-api/token.d.ts +10 -10
- package/dist/types/routes/management-api/authentication-methods.d.ts +1 -1
- package/dist/types/routes/management-api/branding.d.ts +1 -1
- package/dist/types/routes/management-api/clients.d.ts +6 -6
- package/dist/types/routes/management-api/connections.d.ts +15 -15
- package/dist/types/routes/management-api/email-templates.d.ts +18 -18
- package/dist/types/routes/management-api/failed-events.d.ts +1 -1
- package/dist/types/routes/management-api/guardian.d.ts +5 -5
- package/dist/types/routes/management-api/helpers.d.ts +47 -0
- package/dist/types/routes/management-api/index.d.ts +140 -71
- package/dist/types/routes/management-api/logs.d.ts +4 -4
- package/dist/types/routes/management-api/migration-sources.d.ts +6 -6
- package/dist/types/routes/management-api/organizations.d.ts +2 -2
- package/dist/types/routes/management-api/prompts.d.ts +4 -4
- package/dist/types/routes/management-api/roles.d.ts +1 -1
- package/dist/types/routes/management-api/tenant-export-import.d.ts +5 -5
- package/dist/types/routes/management-api/tenants.d.ts +1 -1
- package/dist/types/routes/management-api/users.d.ts +71 -2
- package/dist/types/routes/proxy-control-plane/custom-domains.d.ts +45 -0
- package/dist/types/routes/proxy-control-plane/index.d.ts +24 -6
- package/dist/types/routes/proxy-control-plane/scopes.d.ts +13 -0
- package/dist/types/routes/proxy-control-plane/verify.d.ts +15 -4
- package/dist/types/routes/universal-login/common.d.ts +6 -6
- package/dist/types/routes/universal-login/identifier.d.ts +2 -2
- package/dist/types/routes/universal-login/index.d.ts +2 -2
- package/dist/types/routes/universal-login/u2-index.d.ts +3 -3
- package/dist/types/routes/universal-login/u2-routes.d.ts +3 -3
- package/dist/types/types/AuthHeroConfig.d.ts +22 -7
- package/dist/types/types/IdToken.d.ts +4 -4
- package/package.json +6 -6
|
@@ -24,7 +24,7 @@ export declare const logRoutes: OpenAPIHono<{
|
|
|
24
24
|
};
|
|
25
25
|
};
|
|
26
26
|
output: {
|
|
27
|
-
type: "fn" | "i" | "sapi" | "acls_summary" | "actions_execution_failed" | "api_limit" | "api_limit_warning" | "appi" | "ciba_exchange_failed" | "ciba_exchange_succeeded" | "ciba_start_failed" | "ciba_start_succeeded" | "cls" | "cs" | "depnote" | "f" | "fc" | "fce" | "fco" | "fcoa" | "fcp" | "fcph" | "fcpn" | "fcpr" | "fcpro" | "fcu" | "fd" | "fdeac" | "fdeaz" | "fdecc" | "fdu" | "feacft" | "feccft" | "fecte" | "fede" | "federated_logout_failed" | "fens" | "feoobft" | "feotpft" | "fepft" | "fepotpft" | "fercft" | "ferrt" | "fertft" | "festft" | "
|
|
27
|
+
type: "fn" | "i" | "sapi" | "fh" | "acls_summary" | "actions_execution_failed" | "api_limit" | "api_limit_warning" | "appi" | "ciba_exchange_failed" | "ciba_exchange_succeeded" | "ciba_start_failed" | "ciba_start_succeeded" | "cls" | "cs" | "depnote" | "f" | "fc" | "fce" | "fco" | "fcoa" | "fcp" | "fcph" | "fcpn" | "fcpr" | "fcpro" | "fcu" | "fd" | "fdeac" | "fdeaz" | "fdecc" | "fdu" | "feacft" | "feccft" | "fecte" | "fede" | "federated_logout_failed" | "fens" | "feoobft" | "feotpft" | "fepft" | "fepotpft" | "fercft" | "ferrt" | "fertft" | "festft" | "fimp" | "fi" | "flo" | "flows_execution_completed" | "flows_execution_failed" | "forms_submission_failed" | "forms_submission_succeeded" | "fp" | "fpar" | "fpurh" | "fs" | "fsa" | "fu" | "fui" | "fv" | "fvr" | "gd_auth_email_verification" | "gd_auth_fail_email_verification" | "gd_auth_failed" | "gd_auth_rejected" | "gd_auth_succeed" | "gd_enrollment_complete" | "gd_otp_rate_limit_exceed" | "gd_recovery_failed" | "gd_recovery_rate_limit_exceed" | "gd_recovery_succeed" | "gd_send_email" | "gd_send_email_verification" | "gd_send_email_verification_failure" | "gd_send_pn" | "gd_send_pn_failure" | "gd_send_sms" | "gd_send_sms_failure" | "gd_send_voice" | "gd_send_voice_failure" | "gd_start_auth" | "gd_start_enroll" | "gd_start_enroll_failed" | "gd_tenant_update" | "gd_unenroll" | "gd_update_device_account" | "gd_webauthn_challenge_failed" | "gd_webauthn_enrollment_failed" | "kms_key_management_failure" | "kms_key_management_success" | "kms_key_state_changed" | "limit_delegation" | "limit_mu" | "limit_sul" | "limit_wc" | "mfar" | "mgmt_api_read" | "my_account_authentication_method_failed" | "my_account_authentication_method_succeeded" | "oidc_backchannel_logout_failed" | "oidc_backchannel_logout_succeeded" | "organization_member_added" | "passkey_challenge_failed" | "passkey_challenge_started" | "pla" | "pwd_leak" | "reset_pwd_leak" | "resource_cleanup" | "rich_consents_access_error" | "s" | "fapi" | "sce" | "scoa" | "scp" | "scpn" | "scpr" | "scu" | "scv" | "sd" | "sdu" | "seacft" | "seccft" | "secte" | "sede" | "sens" | "seoobft" | "seotpft" | "sepotpft" | "sepft" | "sepkoobft" | "sepkotpft" | "sepkrcft" | "sercft" | "sertft" | "sestft" | "simp" | "si" | "signup_pwd_leak" | "slo" | "sh" | "spm" | "srrt" | "ss" | "ss_sso_failure" | "ss_sso_info" | "ss_sso_success" | "ssa" | "sscim" | "sui" | "sv" | "svr" | "too_many_records" | "ublkdu" | "universal_logout_failed" | "universal_logout_succeeded" | "w" | "wn" | "wum";
|
|
28
28
|
date: string;
|
|
29
29
|
isMobile: boolean;
|
|
30
30
|
log_id: string;
|
|
@@ -63,7 +63,7 @@ export declare const logRoutes: OpenAPIHono<{
|
|
|
63
63
|
limit: number;
|
|
64
64
|
length: number;
|
|
65
65
|
logs: {
|
|
66
|
-
type: "fn" | "i" | "sapi" | "acls_summary" | "actions_execution_failed" | "api_limit" | "api_limit_warning" | "appi" | "ciba_exchange_failed" | "ciba_exchange_succeeded" | "ciba_start_failed" | "ciba_start_succeeded" | "cls" | "cs" | "depnote" | "f" | "fc" | "fce" | "fco" | "fcoa" | "fcp" | "fcph" | "fcpn" | "fcpr" | "fcpro" | "fcu" | "fd" | "fdeac" | "fdeaz" | "fdecc" | "fdu" | "feacft" | "feccft" | "fecte" | "fede" | "federated_logout_failed" | "fens" | "feoobft" | "feotpft" | "fepft" | "fepotpft" | "fercft" | "ferrt" | "fertft" | "festft" | "
|
|
66
|
+
type: "fn" | "i" | "sapi" | "fh" | "acls_summary" | "actions_execution_failed" | "api_limit" | "api_limit_warning" | "appi" | "ciba_exchange_failed" | "ciba_exchange_succeeded" | "ciba_start_failed" | "ciba_start_succeeded" | "cls" | "cs" | "depnote" | "f" | "fc" | "fce" | "fco" | "fcoa" | "fcp" | "fcph" | "fcpn" | "fcpr" | "fcpro" | "fcu" | "fd" | "fdeac" | "fdeaz" | "fdecc" | "fdu" | "feacft" | "feccft" | "fecte" | "fede" | "federated_logout_failed" | "fens" | "feoobft" | "feotpft" | "fepft" | "fepotpft" | "fercft" | "ferrt" | "fertft" | "festft" | "fimp" | "fi" | "flo" | "flows_execution_completed" | "flows_execution_failed" | "forms_submission_failed" | "forms_submission_succeeded" | "fp" | "fpar" | "fpurh" | "fs" | "fsa" | "fu" | "fui" | "fv" | "fvr" | "gd_auth_email_verification" | "gd_auth_fail_email_verification" | "gd_auth_failed" | "gd_auth_rejected" | "gd_auth_succeed" | "gd_enrollment_complete" | "gd_otp_rate_limit_exceed" | "gd_recovery_failed" | "gd_recovery_rate_limit_exceed" | "gd_recovery_succeed" | "gd_send_email" | "gd_send_email_verification" | "gd_send_email_verification_failure" | "gd_send_pn" | "gd_send_pn_failure" | "gd_send_sms" | "gd_send_sms_failure" | "gd_send_voice" | "gd_send_voice_failure" | "gd_start_auth" | "gd_start_enroll" | "gd_start_enroll_failed" | "gd_tenant_update" | "gd_unenroll" | "gd_update_device_account" | "gd_webauthn_challenge_failed" | "gd_webauthn_enrollment_failed" | "kms_key_management_failure" | "kms_key_management_success" | "kms_key_state_changed" | "limit_delegation" | "limit_mu" | "limit_sul" | "limit_wc" | "mfar" | "mgmt_api_read" | "my_account_authentication_method_failed" | "my_account_authentication_method_succeeded" | "oidc_backchannel_logout_failed" | "oidc_backchannel_logout_succeeded" | "organization_member_added" | "passkey_challenge_failed" | "passkey_challenge_started" | "pla" | "pwd_leak" | "reset_pwd_leak" | "resource_cleanup" | "rich_consents_access_error" | "s" | "fapi" | "sce" | "scoa" | "scp" | "scpn" | "scpr" | "scu" | "scv" | "sd" | "sdu" | "seacft" | "seccft" | "secte" | "sede" | "sens" | "seoobft" | "seotpft" | "sepotpft" | "sepft" | "sepkoobft" | "sepkotpft" | "sepkrcft" | "sercft" | "sertft" | "sestft" | "simp" | "si" | "signup_pwd_leak" | "slo" | "sh" | "spm" | "srrt" | "ss" | "ss_sso_failure" | "ss_sso_info" | "ss_sso_success" | "ssa" | "sscim" | "sui" | "sv" | "svr" | "too_many_records" | "ublkdu" | "universal_logout_failed" | "universal_logout_succeeded" | "w" | "wn" | "wum";
|
|
67
67
|
date: string;
|
|
68
68
|
isMobile: boolean;
|
|
69
69
|
log_id: string;
|
|
@@ -102,7 +102,7 @@ export declare const logRoutes: OpenAPIHono<{
|
|
|
102
102
|
next?: string | undefined;
|
|
103
103
|
} | {
|
|
104
104
|
logs: {
|
|
105
|
-
type: "fn" | "i" | "sapi" | "acls_summary" | "actions_execution_failed" | "api_limit" | "api_limit_warning" | "appi" | "ciba_exchange_failed" | "ciba_exchange_succeeded" | "ciba_start_failed" | "ciba_start_succeeded" | "cls" | "cs" | "depnote" | "f" | "fc" | "fce" | "fco" | "fcoa" | "fcp" | "fcph" | "fcpn" | "fcpr" | "fcpro" | "fcu" | "fd" | "fdeac" | "fdeaz" | "fdecc" | "fdu" | "feacft" | "feccft" | "fecte" | "fede" | "federated_logout_failed" | "fens" | "feoobft" | "feotpft" | "fepft" | "fepotpft" | "fercft" | "ferrt" | "fertft" | "festft" | "
|
|
105
|
+
type: "fn" | "i" | "sapi" | "fh" | "acls_summary" | "actions_execution_failed" | "api_limit" | "api_limit_warning" | "appi" | "ciba_exchange_failed" | "ciba_exchange_succeeded" | "ciba_start_failed" | "ciba_start_succeeded" | "cls" | "cs" | "depnote" | "f" | "fc" | "fce" | "fco" | "fcoa" | "fcp" | "fcph" | "fcpn" | "fcpr" | "fcpro" | "fcu" | "fd" | "fdeac" | "fdeaz" | "fdecc" | "fdu" | "feacft" | "feccft" | "fecte" | "fede" | "federated_logout_failed" | "fens" | "feoobft" | "feotpft" | "fepft" | "fepotpft" | "fercft" | "ferrt" | "fertft" | "festft" | "fimp" | "fi" | "flo" | "flows_execution_completed" | "flows_execution_failed" | "forms_submission_failed" | "forms_submission_succeeded" | "fp" | "fpar" | "fpurh" | "fs" | "fsa" | "fu" | "fui" | "fv" | "fvr" | "gd_auth_email_verification" | "gd_auth_fail_email_verification" | "gd_auth_failed" | "gd_auth_rejected" | "gd_auth_succeed" | "gd_enrollment_complete" | "gd_otp_rate_limit_exceed" | "gd_recovery_failed" | "gd_recovery_rate_limit_exceed" | "gd_recovery_succeed" | "gd_send_email" | "gd_send_email_verification" | "gd_send_email_verification_failure" | "gd_send_pn" | "gd_send_pn_failure" | "gd_send_sms" | "gd_send_sms_failure" | "gd_send_voice" | "gd_send_voice_failure" | "gd_start_auth" | "gd_start_enroll" | "gd_start_enroll_failed" | "gd_tenant_update" | "gd_unenroll" | "gd_update_device_account" | "gd_webauthn_challenge_failed" | "gd_webauthn_enrollment_failed" | "kms_key_management_failure" | "kms_key_management_success" | "kms_key_state_changed" | "limit_delegation" | "limit_mu" | "limit_sul" | "limit_wc" | "mfar" | "mgmt_api_read" | "my_account_authentication_method_failed" | "my_account_authentication_method_succeeded" | "oidc_backchannel_logout_failed" | "oidc_backchannel_logout_succeeded" | "organization_member_added" | "passkey_challenge_failed" | "passkey_challenge_started" | "pla" | "pwd_leak" | "reset_pwd_leak" | "resource_cleanup" | "rich_consents_access_error" | "s" | "fapi" | "sce" | "scoa" | "scp" | "scpn" | "scpr" | "scu" | "scv" | "sd" | "sdu" | "seacft" | "seccft" | "secte" | "sede" | "sens" | "seoobft" | "seotpft" | "sepotpft" | "sepft" | "sepkoobft" | "sepkotpft" | "sepkrcft" | "sercft" | "sertft" | "sestft" | "simp" | "si" | "signup_pwd_leak" | "slo" | "sh" | "spm" | "srrt" | "ss" | "ss_sso_failure" | "ss_sso_info" | "ss_sso_success" | "ssa" | "sscim" | "sui" | "sv" | "svr" | "too_many_records" | "ublkdu" | "universal_logout_failed" | "universal_logout_succeeded" | "w" | "wn" | "wum";
|
|
106
106
|
date: string;
|
|
107
107
|
isMobile: boolean;
|
|
108
108
|
log_id: string;
|
|
@@ -156,7 +156,7 @@ export declare const logRoutes: OpenAPIHono<{
|
|
|
156
156
|
};
|
|
157
157
|
};
|
|
158
158
|
output: {
|
|
159
|
-
type: "fn" | "i" | "sapi" | "acls_summary" | "actions_execution_failed" | "api_limit" | "api_limit_warning" | "appi" | "ciba_exchange_failed" | "ciba_exchange_succeeded" | "ciba_start_failed" | "ciba_start_succeeded" | "cls" | "cs" | "depnote" | "f" | "fc" | "fce" | "fco" | "fcoa" | "fcp" | "fcph" | "fcpn" | "fcpr" | "fcpro" | "fcu" | "fd" | "fdeac" | "fdeaz" | "fdecc" | "fdu" | "feacft" | "feccft" | "fecte" | "fede" | "federated_logout_failed" | "fens" | "feoobft" | "feotpft" | "fepft" | "fepotpft" | "fercft" | "ferrt" | "fertft" | "festft" | "
|
|
159
|
+
type: "fn" | "i" | "sapi" | "fh" | "acls_summary" | "actions_execution_failed" | "api_limit" | "api_limit_warning" | "appi" | "ciba_exchange_failed" | "ciba_exchange_succeeded" | "ciba_start_failed" | "ciba_start_succeeded" | "cls" | "cs" | "depnote" | "f" | "fc" | "fce" | "fco" | "fcoa" | "fcp" | "fcph" | "fcpn" | "fcpr" | "fcpro" | "fcu" | "fd" | "fdeac" | "fdeaz" | "fdecc" | "fdu" | "feacft" | "feccft" | "fecte" | "fede" | "federated_logout_failed" | "fens" | "feoobft" | "feotpft" | "fepft" | "fepotpft" | "fercft" | "ferrt" | "fertft" | "festft" | "fimp" | "fi" | "flo" | "flows_execution_completed" | "flows_execution_failed" | "forms_submission_failed" | "forms_submission_succeeded" | "fp" | "fpar" | "fpurh" | "fs" | "fsa" | "fu" | "fui" | "fv" | "fvr" | "gd_auth_email_verification" | "gd_auth_fail_email_verification" | "gd_auth_failed" | "gd_auth_rejected" | "gd_auth_succeed" | "gd_enrollment_complete" | "gd_otp_rate_limit_exceed" | "gd_recovery_failed" | "gd_recovery_rate_limit_exceed" | "gd_recovery_succeed" | "gd_send_email" | "gd_send_email_verification" | "gd_send_email_verification_failure" | "gd_send_pn" | "gd_send_pn_failure" | "gd_send_sms" | "gd_send_sms_failure" | "gd_send_voice" | "gd_send_voice_failure" | "gd_start_auth" | "gd_start_enroll" | "gd_start_enroll_failed" | "gd_tenant_update" | "gd_unenroll" | "gd_update_device_account" | "gd_webauthn_challenge_failed" | "gd_webauthn_enrollment_failed" | "kms_key_management_failure" | "kms_key_management_success" | "kms_key_state_changed" | "limit_delegation" | "limit_mu" | "limit_sul" | "limit_wc" | "mfar" | "mgmt_api_read" | "my_account_authentication_method_failed" | "my_account_authentication_method_succeeded" | "oidc_backchannel_logout_failed" | "oidc_backchannel_logout_succeeded" | "organization_member_added" | "passkey_challenge_failed" | "passkey_challenge_started" | "pla" | "pwd_leak" | "reset_pwd_leak" | "resource_cleanup" | "rich_consents_access_error" | "s" | "fapi" | "sce" | "scoa" | "scp" | "scpn" | "scpr" | "scu" | "scv" | "sd" | "sdu" | "seacft" | "seccft" | "secte" | "sede" | "sens" | "seoobft" | "seotpft" | "sepotpft" | "sepft" | "sepkoobft" | "sepkotpft" | "sepkrcft" | "sercft" | "sertft" | "sestft" | "simp" | "si" | "signup_pwd_leak" | "slo" | "sh" | "spm" | "srrt" | "ss" | "ss_sso_failure" | "ss_sso_info" | "ss_sso_success" | "ssa" | "sscim" | "sui" | "sv" | "svr" | "too_many_records" | "ublkdu" | "universal_logout_failed" | "universal_logout_succeeded" | "w" | "wn" | "wum";
|
|
160
160
|
date: string;
|
|
161
161
|
isMobile: boolean;
|
|
162
162
|
log_id: string;
|
|
@@ -15,7 +15,7 @@ export declare const migrationSourcesRoutes: OpenAPIHono<{
|
|
|
15
15
|
created_at: string;
|
|
16
16
|
updated_at: string;
|
|
17
17
|
name: string;
|
|
18
|
-
provider: "auth0" | "
|
|
18
|
+
provider: "auth0" | "cognito" | "okta" | "oidc";
|
|
19
19
|
connection: string;
|
|
20
20
|
enabled: boolean;
|
|
21
21
|
credentials: {
|
|
@@ -47,7 +47,7 @@ export declare const migrationSourcesRoutes: OpenAPIHono<{
|
|
|
47
47
|
created_at: string;
|
|
48
48
|
updated_at: string;
|
|
49
49
|
name: string;
|
|
50
|
-
provider: "auth0" | "
|
|
50
|
+
provider: "auth0" | "cognito" | "okta" | "oidc";
|
|
51
51
|
connection: string;
|
|
52
52
|
enabled: boolean;
|
|
53
53
|
credentials: {
|
|
@@ -73,7 +73,7 @@ export declare const migrationSourcesRoutes: OpenAPIHono<{
|
|
|
73
73
|
} & {
|
|
74
74
|
json: {
|
|
75
75
|
name: string;
|
|
76
|
-
provider: "auth0" | "
|
|
76
|
+
provider: "auth0" | "cognito" | "okta" | "oidc";
|
|
77
77
|
connection: string;
|
|
78
78
|
credentials: {
|
|
79
79
|
domain: string;
|
|
@@ -90,7 +90,7 @@ export declare const migrationSourcesRoutes: OpenAPIHono<{
|
|
|
90
90
|
created_at: string;
|
|
91
91
|
updated_at: string;
|
|
92
92
|
name: string;
|
|
93
|
-
provider: "auth0" | "
|
|
93
|
+
provider: "auth0" | "cognito" | "okta" | "oidc";
|
|
94
94
|
connection: string;
|
|
95
95
|
enabled: boolean;
|
|
96
96
|
credentials: {
|
|
@@ -121,7 +121,7 @@ export declare const migrationSourcesRoutes: OpenAPIHono<{
|
|
|
121
121
|
json: {
|
|
122
122
|
id?: string | undefined;
|
|
123
123
|
name?: string | undefined;
|
|
124
|
-
provider?: "auth0" | "
|
|
124
|
+
provider?: "auth0" | "cognito" | "okta" | "oidc" | undefined;
|
|
125
125
|
connection?: string | undefined;
|
|
126
126
|
enabled?: boolean | undefined;
|
|
127
127
|
credentials?: {
|
|
@@ -137,7 +137,7 @@ export declare const migrationSourcesRoutes: OpenAPIHono<{
|
|
|
137
137
|
created_at: string;
|
|
138
138
|
updated_at: string;
|
|
139
139
|
name: string;
|
|
140
|
-
provider: "auth0" | "
|
|
140
|
+
provider: "auth0" | "cognito" | "okta" | "oidc";
|
|
141
141
|
connection: string;
|
|
142
142
|
enabled: boolean;
|
|
143
143
|
credentials: {
|
|
@@ -735,11 +735,11 @@ export declare const organizationRoutes: OpenAPIHono<{
|
|
|
735
735
|
invitee: {
|
|
736
736
|
email?: string | undefined;
|
|
737
737
|
};
|
|
738
|
-
roles?: string[] | undefined;
|
|
739
738
|
id?: string | undefined;
|
|
739
|
+
connection_id?: string | undefined;
|
|
740
740
|
app_metadata?: Record<string, any> | undefined;
|
|
741
741
|
user_metadata?: Record<string, any> | undefined;
|
|
742
|
-
|
|
742
|
+
roles?: string[] | undefined;
|
|
743
743
|
ttl_sec?: number | undefined;
|
|
744
744
|
send_invitation_email?: boolean | undefined;
|
|
745
745
|
};
|
|
@@ -50,7 +50,7 @@ export declare const promptsRoutes: OpenAPIHono<{
|
|
|
50
50
|
};
|
|
51
51
|
};
|
|
52
52
|
output: {
|
|
53
|
-
prompt: "
|
|
53
|
+
prompt: "mfa" | "organizations" | "signup" | "status" | "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";
|
|
54
54
|
language: string;
|
|
55
55
|
}[];
|
|
56
56
|
outputFormat: "json";
|
|
@@ -88,7 +88,7 @@ export declare const promptsRoutes: OpenAPIHono<{
|
|
|
88
88
|
$get: {
|
|
89
89
|
input: {
|
|
90
90
|
param: {
|
|
91
|
-
prompt: "
|
|
91
|
+
prompt: "mfa" | "organizations" | "signup" | "status" | "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";
|
|
92
92
|
language: string;
|
|
93
93
|
};
|
|
94
94
|
} & {
|
|
@@ -110,7 +110,7 @@ export declare const promptsRoutes: OpenAPIHono<{
|
|
|
110
110
|
$put: {
|
|
111
111
|
input: {
|
|
112
112
|
param: {
|
|
113
|
-
prompt: "
|
|
113
|
+
prompt: "mfa" | "organizations" | "signup" | "status" | "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";
|
|
114
114
|
language: string;
|
|
115
115
|
};
|
|
116
116
|
} & {
|
|
@@ -134,7 +134,7 @@ export declare const promptsRoutes: OpenAPIHono<{
|
|
|
134
134
|
$delete: {
|
|
135
135
|
input: {
|
|
136
136
|
param: {
|
|
137
|
-
prompt: "
|
|
137
|
+
prompt: "mfa" | "organizations" | "signup" | "status" | "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";
|
|
138
138
|
language: string;
|
|
139
139
|
};
|
|
140
140
|
} & {
|
|
@@ -220,9 +220,9 @@ export declare const roleRoutes: OpenAPIHono<{
|
|
|
220
220
|
};
|
|
221
221
|
} & {
|
|
222
222
|
query: {
|
|
223
|
+
from?: string | undefined;
|
|
223
224
|
page?: string | undefined;
|
|
224
225
|
include_totals?: string | undefined;
|
|
225
|
-
from?: string | undefined;
|
|
226
226
|
per_page?: string | undefined;
|
|
227
227
|
take?: string | undefined;
|
|
228
228
|
};
|
|
@@ -8,8 +8,8 @@ export declare const tenantExportImportRoutes: OpenAPIHono<{
|
|
|
8
8
|
$get: {
|
|
9
9
|
input: {
|
|
10
10
|
query: {
|
|
11
|
-
include_password_hashes?: "
|
|
12
|
-
gzip?: "
|
|
11
|
+
include_password_hashes?: "true" | "false" | undefined;
|
|
12
|
+
gzip?: "true" | "false" | undefined;
|
|
13
13
|
};
|
|
14
14
|
} & {
|
|
15
15
|
header: {
|
|
@@ -22,8 +22,8 @@ export declare const tenantExportImportRoutes: OpenAPIHono<{
|
|
|
22
22
|
} | {
|
|
23
23
|
input: {
|
|
24
24
|
query: {
|
|
25
|
-
include_password_hashes?: "
|
|
26
|
-
gzip?: "
|
|
25
|
+
include_password_hashes?: "true" | "false" | undefined;
|
|
26
|
+
gzip?: "true" | "false" | undefined;
|
|
27
27
|
};
|
|
28
28
|
} & {
|
|
29
29
|
header: {
|
|
@@ -42,7 +42,7 @@ export declare const tenantExportImportRoutes: OpenAPIHono<{
|
|
|
42
42
|
$post: {
|
|
43
43
|
input: {
|
|
44
44
|
query: {
|
|
45
|
-
include_password_hashes?: "
|
|
45
|
+
include_password_hashes?: "true" | "false" | undefined;
|
|
46
46
|
};
|
|
47
47
|
} & {
|
|
48
48
|
header: {
|
|
@@ -210,7 +210,6 @@ export declare const tenantRoutes: OpenAPIHono<{
|
|
|
210
210
|
};
|
|
211
211
|
} & {
|
|
212
212
|
json: {
|
|
213
|
-
id?: string | undefined;
|
|
214
213
|
allowed_logout_urls?: string[] | undefined;
|
|
215
214
|
oidc_logout?: {
|
|
216
215
|
rp_logout_end_session_endpoint_discovery?: boolean | undefined;
|
|
@@ -386,6 +385,7 @@ export declare const tenantRoutes: OpenAPIHono<{
|
|
|
386
385
|
message?: string | undefined;
|
|
387
386
|
} | undefined;
|
|
388
387
|
} | undefined;
|
|
388
|
+
id?: string | undefined;
|
|
389
389
|
};
|
|
390
390
|
};
|
|
391
391
|
output: {
|
|
@@ -162,6 +162,75 @@ export declare const userRoutes: OpenAPIHono<{
|
|
|
162
162
|
}[];
|
|
163
163
|
total?: number | undefined;
|
|
164
164
|
next?: string | undefined;
|
|
165
|
+
} | {
|
|
166
|
+
users: {
|
|
167
|
+
created_at: string;
|
|
168
|
+
updated_at: string;
|
|
169
|
+
connection: string;
|
|
170
|
+
user_id: string;
|
|
171
|
+
email_verified: boolean;
|
|
172
|
+
provider: string;
|
|
173
|
+
is_social: boolean;
|
|
174
|
+
login_count: number;
|
|
175
|
+
name?: string | undefined;
|
|
176
|
+
email?: string | undefined;
|
|
177
|
+
username?: string | undefined;
|
|
178
|
+
given_name?: string | undefined;
|
|
179
|
+
phone_number?: string | undefined;
|
|
180
|
+
phone_verified?: boolean | undefined;
|
|
181
|
+
family_name?: string | undefined;
|
|
182
|
+
profileData?: string | undefined;
|
|
183
|
+
address?: {
|
|
184
|
+
formatted?: string | undefined;
|
|
185
|
+
street_address?: string | undefined;
|
|
186
|
+
locality?: string | undefined;
|
|
187
|
+
region?: string | undefined;
|
|
188
|
+
postal_code?: string | undefined;
|
|
189
|
+
country?: string | undefined;
|
|
190
|
+
} | undefined;
|
|
191
|
+
nickname?: string | undefined;
|
|
192
|
+
picture?: string | undefined;
|
|
193
|
+
locale?: string | undefined;
|
|
194
|
+
linked_to?: string | undefined;
|
|
195
|
+
app_metadata?: any;
|
|
196
|
+
user_metadata?: any;
|
|
197
|
+
middle_name?: string | undefined;
|
|
198
|
+
preferred_username?: string | undefined;
|
|
199
|
+
profile?: string | undefined;
|
|
200
|
+
website?: string | undefined;
|
|
201
|
+
gender?: string | undefined;
|
|
202
|
+
birthdate?: string | undefined;
|
|
203
|
+
zoneinfo?: string | undefined;
|
|
204
|
+
verify_email?: boolean | undefined;
|
|
205
|
+
last_ip?: string | undefined;
|
|
206
|
+
last_login?: string | undefined;
|
|
207
|
+
identities?: {
|
|
208
|
+
connection: string;
|
|
209
|
+
user_id: string;
|
|
210
|
+
provider: string;
|
|
211
|
+
isSocial: boolean;
|
|
212
|
+
email?: string | undefined;
|
|
213
|
+
email_verified?: boolean | undefined;
|
|
214
|
+
phone_number?: string | undefined;
|
|
215
|
+
phone_verified?: boolean | undefined;
|
|
216
|
+
username?: string | undefined;
|
|
217
|
+
access_token?: string | undefined;
|
|
218
|
+
access_token_secret?: string | undefined;
|
|
219
|
+
refresh_token?: string | undefined;
|
|
220
|
+
profileData?: {
|
|
221
|
+
[x: string]: any;
|
|
222
|
+
email?: string | undefined;
|
|
223
|
+
email_verified?: boolean | undefined;
|
|
224
|
+
name?: string | undefined;
|
|
225
|
+
username?: string | undefined;
|
|
226
|
+
given_name?: string | undefined;
|
|
227
|
+
phone_number?: string | undefined;
|
|
228
|
+
phone_verified?: boolean | undefined;
|
|
229
|
+
family_name?: string | undefined;
|
|
230
|
+
} | undefined;
|
|
231
|
+
}[] | undefined;
|
|
232
|
+
}[];
|
|
233
|
+
next?: string | undefined;
|
|
165
234
|
};
|
|
166
235
|
outputFormat: "json";
|
|
167
236
|
status: 200;
|
|
@@ -740,7 +809,7 @@ export declare const userRoutes: OpenAPIHono<{
|
|
|
740
809
|
};
|
|
741
810
|
};
|
|
742
811
|
output: {
|
|
743
|
-
type: "fn" | "i" | "sapi" | "acls_summary" | "actions_execution_failed" | "api_limit" | "api_limit_warning" | "appi" | "ciba_exchange_failed" | "ciba_exchange_succeeded" | "ciba_start_failed" | "ciba_start_succeeded" | "cls" | "cs" | "depnote" | "f" | "fc" | "fce" | "fco" | "fcoa" | "fcp" | "fcph" | "fcpn" | "fcpr" | "fcpro" | "fcu" | "fd" | "fdeac" | "fdeaz" | "fdecc" | "fdu" | "feacft" | "feccft" | "fecte" | "fede" | "federated_logout_failed" | "fens" | "feoobft" | "feotpft" | "fepft" | "fepotpft" | "fercft" | "ferrt" | "fertft" | "festft" | "
|
|
812
|
+
type: "fn" | "i" | "sapi" | "fh" | "acls_summary" | "actions_execution_failed" | "api_limit" | "api_limit_warning" | "appi" | "ciba_exchange_failed" | "ciba_exchange_succeeded" | "ciba_start_failed" | "ciba_start_succeeded" | "cls" | "cs" | "depnote" | "f" | "fc" | "fce" | "fco" | "fcoa" | "fcp" | "fcph" | "fcpn" | "fcpr" | "fcpro" | "fcu" | "fd" | "fdeac" | "fdeaz" | "fdecc" | "fdu" | "feacft" | "feccft" | "fecte" | "fede" | "federated_logout_failed" | "fens" | "feoobft" | "feotpft" | "fepft" | "fepotpft" | "fercft" | "ferrt" | "fertft" | "festft" | "fimp" | "fi" | "flo" | "flows_execution_completed" | "flows_execution_failed" | "forms_submission_failed" | "forms_submission_succeeded" | "fp" | "fpar" | "fpurh" | "fs" | "fsa" | "fu" | "fui" | "fv" | "fvr" | "gd_auth_email_verification" | "gd_auth_fail_email_verification" | "gd_auth_failed" | "gd_auth_rejected" | "gd_auth_succeed" | "gd_enrollment_complete" | "gd_otp_rate_limit_exceed" | "gd_recovery_failed" | "gd_recovery_rate_limit_exceed" | "gd_recovery_succeed" | "gd_send_email" | "gd_send_email_verification" | "gd_send_email_verification_failure" | "gd_send_pn" | "gd_send_pn_failure" | "gd_send_sms" | "gd_send_sms_failure" | "gd_send_voice" | "gd_send_voice_failure" | "gd_start_auth" | "gd_start_enroll" | "gd_start_enroll_failed" | "gd_tenant_update" | "gd_unenroll" | "gd_update_device_account" | "gd_webauthn_challenge_failed" | "gd_webauthn_enrollment_failed" | "kms_key_management_failure" | "kms_key_management_success" | "kms_key_state_changed" | "limit_delegation" | "limit_mu" | "limit_sul" | "limit_wc" | "mfar" | "mgmt_api_read" | "my_account_authentication_method_failed" | "my_account_authentication_method_succeeded" | "oidc_backchannel_logout_failed" | "oidc_backchannel_logout_succeeded" | "organization_member_added" | "passkey_challenge_failed" | "passkey_challenge_started" | "pla" | "pwd_leak" | "reset_pwd_leak" | "resource_cleanup" | "rich_consents_access_error" | "s" | "fapi" | "sce" | "scoa" | "scp" | "scpn" | "scpr" | "scu" | "scv" | "sd" | "sdu" | "seacft" | "seccft" | "secte" | "sede" | "sens" | "seoobft" | "seotpft" | "sepotpft" | "sepft" | "sepkoobft" | "sepkotpft" | "sepkrcft" | "sercft" | "sertft" | "sestft" | "simp" | "si" | "signup_pwd_leak" | "slo" | "sh" | "spm" | "srrt" | "ss" | "ss_sso_failure" | "ss_sso_info" | "ss_sso_success" | "ssa" | "sscim" | "sui" | "sv" | "svr" | "too_many_records" | "ublkdu" | "universal_logout_failed" | "universal_logout_succeeded" | "w" | "wn" | "wum";
|
|
744
813
|
date: string;
|
|
745
814
|
isMobile: boolean;
|
|
746
815
|
log_id: string;
|
|
@@ -779,7 +848,7 @@ export declare const userRoutes: OpenAPIHono<{
|
|
|
779
848
|
limit: number;
|
|
780
849
|
length: number;
|
|
781
850
|
logs: {
|
|
782
|
-
type: "fn" | "i" | "sapi" | "acls_summary" | "actions_execution_failed" | "api_limit" | "api_limit_warning" | "appi" | "ciba_exchange_failed" | "ciba_exchange_succeeded" | "ciba_start_failed" | "ciba_start_succeeded" | "cls" | "cs" | "depnote" | "f" | "fc" | "fce" | "fco" | "fcoa" | "fcp" | "fcph" | "fcpn" | "fcpr" | "fcpro" | "fcu" | "fd" | "fdeac" | "fdeaz" | "fdecc" | "fdu" | "feacft" | "feccft" | "fecte" | "fede" | "federated_logout_failed" | "fens" | "feoobft" | "feotpft" | "fepft" | "fepotpft" | "fercft" | "ferrt" | "fertft" | "festft" | "
|
|
851
|
+
type: "fn" | "i" | "sapi" | "fh" | "acls_summary" | "actions_execution_failed" | "api_limit" | "api_limit_warning" | "appi" | "ciba_exchange_failed" | "ciba_exchange_succeeded" | "ciba_start_failed" | "ciba_start_succeeded" | "cls" | "cs" | "depnote" | "f" | "fc" | "fce" | "fco" | "fcoa" | "fcp" | "fcph" | "fcpn" | "fcpr" | "fcpro" | "fcu" | "fd" | "fdeac" | "fdeaz" | "fdecc" | "fdu" | "feacft" | "feccft" | "fecte" | "fede" | "federated_logout_failed" | "fens" | "feoobft" | "feotpft" | "fepft" | "fepotpft" | "fercft" | "ferrt" | "fertft" | "festft" | "fimp" | "fi" | "flo" | "flows_execution_completed" | "flows_execution_failed" | "forms_submission_failed" | "forms_submission_succeeded" | "fp" | "fpar" | "fpurh" | "fs" | "fsa" | "fu" | "fui" | "fv" | "fvr" | "gd_auth_email_verification" | "gd_auth_fail_email_verification" | "gd_auth_failed" | "gd_auth_rejected" | "gd_auth_succeed" | "gd_enrollment_complete" | "gd_otp_rate_limit_exceed" | "gd_recovery_failed" | "gd_recovery_rate_limit_exceed" | "gd_recovery_succeed" | "gd_send_email" | "gd_send_email_verification" | "gd_send_email_verification_failure" | "gd_send_pn" | "gd_send_pn_failure" | "gd_send_sms" | "gd_send_sms_failure" | "gd_send_voice" | "gd_send_voice_failure" | "gd_start_auth" | "gd_start_enroll" | "gd_start_enroll_failed" | "gd_tenant_update" | "gd_unenroll" | "gd_update_device_account" | "gd_webauthn_challenge_failed" | "gd_webauthn_enrollment_failed" | "kms_key_management_failure" | "kms_key_management_success" | "kms_key_state_changed" | "limit_delegation" | "limit_mu" | "limit_sul" | "limit_wc" | "mfar" | "mgmt_api_read" | "my_account_authentication_method_failed" | "my_account_authentication_method_succeeded" | "oidc_backchannel_logout_failed" | "oidc_backchannel_logout_succeeded" | "organization_member_added" | "passkey_challenge_failed" | "passkey_challenge_started" | "pla" | "pwd_leak" | "reset_pwd_leak" | "resource_cleanup" | "rich_consents_access_error" | "s" | "fapi" | "sce" | "scoa" | "scp" | "scpn" | "scpr" | "scu" | "scv" | "sd" | "sdu" | "seacft" | "seccft" | "secte" | "sede" | "sens" | "seoobft" | "seotpft" | "sepotpft" | "sepft" | "sepkoobft" | "sepkotpft" | "sepkrcft" | "sercft" | "sertft" | "sestft" | "simp" | "si" | "signup_pwd_leak" | "slo" | "sh" | "spm" | "srrt" | "ss" | "ss_sso_failure" | "ss_sso_info" | "ss_sso_success" | "ssa" | "sscim" | "sui" | "sv" | "svr" | "too_many_records" | "ublkdu" | "universal_logout_failed" | "universal_logout_succeeded" | "w" | "wn" | "wum";
|
|
783
852
|
date: string;
|
|
784
853
|
isMobile: boolean;
|
|
785
854
|
log_id: string;
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { Hono } from "hono";
|
|
2
|
+
import { CustomDomainsAdapter } from "@authhero/adapter-interfaces";
|
|
3
|
+
import { Bindings } from "../../types";
|
|
4
|
+
export type AuthenticateControlPlane = (c: {
|
|
5
|
+
req: {
|
|
6
|
+
raw: Request;
|
|
7
|
+
header(name: string): string | undefined;
|
|
8
|
+
url: string;
|
|
9
|
+
};
|
|
10
|
+
env: Bindings;
|
|
11
|
+
}) => Promise<{
|
|
12
|
+
ok: true;
|
|
13
|
+
tenantId?: string;
|
|
14
|
+
} | {
|
|
15
|
+
ok: false;
|
|
16
|
+
reason: string;
|
|
17
|
+
}>;
|
|
18
|
+
export interface CustomDomainsControlPlaneOptions {
|
|
19
|
+
/**
|
|
20
|
+
* The authoritative adapter. On the control plane this is the Cloudflare
|
|
21
|
+
* adapter (`@authhero/cloudflare-adapter`) wrapping the control-plane
|
|
22
|
+
* database, so a write both registers the hostname in the CF-for-SaaS zone
|
|
23
|
+
* and persists the row where the account credentials live.
|
|
24
|
+
*/
|
|
25
|
+
customDomains: CustomDomainsAdapter;
|
|
26
|
+
authenticate: AuthenticateControlPlane;
|
|
27
|
+
}
|
|
28
|
+
type TenantVars = {
|
|
29
|
+
tenantId: string;
|
|
30
|
+
};
|
|
31
|
+
/**
|
|
32
|
+
* The authoritative `custom-domains` resource. Tenant shards reach it through
|
|
33
|
+
* `createControlPlaneCustomDomainsAdapter`; it is the only place that can both
|
|
34
|
+
* see every tenant's domains (so `login.acme.com` can be claimed exactly once)
|
|
35
|
+
* and hold the Cloudflare account credentials needed to register the hostname.
|
|
36
|
+
*
|
|
37
|
+
* Every operation is bound to the `tenant_id` claim of the verified token. The
|
|
38
|
+
* scope alone is not authorization: each shard holds it, so a request-supplied
|
|
39
|
+
* tenant id would let any shard read or delete any other tenant's domains.
|
|
40
|
+
*/
|
|
41
|
+
export declare function createCustomDomainsControlPlaneApp(options: CustomDomainsControlPlaneOptions): Hono<{
|
|
42
|
+
Bindings: Bindings;
|
|
43
|
+
Variables: TenantVars;
|
|
44
|
+
}>;
|
|
45
|
+
export {};
|
|
@@ -24,10 +24,25 @@ export interface ProxyControlPlaneOptions {
|
|
|
24
24
|
*
|
|
25
25
|
* Implementations MUST be idempotent: the outbox retries on transient
|
|
26
26
|
* failures even after the receiver applied the change.
|
|
27
|
-
* `
|
|
28
|
-
*
|
|
27
|
+
* `createApplySyncEvents` wires this to a local adapter with idempotent
|
|
28
|
+
* semantics.
|
|
29
|
+
*
|
|
30
|
+
* Custom domains do NOT flow through here — the control plane is
|
|
31
|
+
* authoritative for them (see `customDomains` below); only `proxy_route`
|
|
32
|
+
* replicates upward.
|
|
29
33
|
*/
|
|
30
34
|
applySyncEvents?: (events: SyncEvent[]) => Promise<void>;
|
|
35
|
+
/**
|
|
36
|
+
* The authoritative custom-domains adapter. When set, mounts the
|
|
37
|
+
* `/custom-domains` resource that tenant shards call through
|
|
38
|
+
* `createControlPlaneCustomDomainsAdapter`.
|
|
39
|
+
*
|
|
40
|
+
* Pass the Cloudflare adapter (`@authhero/cloudflare`) wrapping the
|
|
41
|
+
* control-plane database: registering a CF-for-SaaS hostname needs account
|
|
42
|
+
* credentials that only exist here, and enforcing "one tenant owns
|
|
43
|
+
* login.acme.com" needs a view across every tenant that only exists here.
|
|
44
|
+
*/
|
|
45
|
+
customDomains?: CustomDomainsAdapter;
|
|
31
46
|
}
|
|
32
47
|
/**
|
|
33
48
|
* Returns a Hono app exposing the privileged proxy control-plane endpoint
|
|
@@ -46,19 +61,22 @@ export declare function createProxyControlPlaneApp(options: ProxyControlPlaneOpt
|
|
|
46
61
|
Bindings: Bindings;
|
|
47
62
|
}>;
|
|
48
63
|
export interface CreateApplySyncEventsOptions {
|
|
49
|
-
|
|
50
|
-
proxyRoutes?: ProxyRoutesAdapter;
|
|
64
|
+
proxyRoutes: ProxyRoutesAdapter;
|
|
51
65
|
}
|
|
52
66
|
/**
|
|
53
67
|
* Build an idempotent `applySyncEvents` implementation backed by a local
|
|
54
|
-
* `
|
|
55
|
-
* shapes the outbox can produce:
|
|
68
|
+
* `ProxyRoutesAdapter`. Handles the three retry shapes the outbox can produce:
|
|
56
69
|
*
|
|
57
70
|
* - duplicate `created` (retry after the previous succeeded but
|
|
58
71
|
* `markProcessed` failed) — falls back to `update`.
|
|
59
72
|
* - `updated` for a row that doesn't exist locally yet (a `created`
|
|
60
73
|
* delivery is still in flight or lost) — falls back to `create`.
|
|
61
74
|
* - `deleted` for a row that's already gone — no-op success.
|
|
75
|
+
*
|
|
76
|
+
* Custom domains are not replicated: the control plane is authoritative for
|
|
77
|
+
* them and tenant shards write through it (see
|
|
78
|
+
* `createControlPlaneCustomDomainsAdapter`), so there is no upward sync to
|
|
79
|
+
* apply.
|
|
62
80
|
*/
|
|
63
81
|
export declare function createApplySyncEvents(options: CreateApplySyncEventsOptions): (events: SyncEvent[]) => Promise<void>;
|
|
64
82
|
export type { CustomDomain, ProxyRoute };
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { PROXY_RESOLVE_HOST_SCOPE } from "@authhero/proxy";
|
|
2
|
+
/**
|
|
3
|
+
* Scope carried by the tokens `ControlPlaneSyncDestination` mints for
|
|
4
|
+
* `POST /api/v2/proxy/control-plane/sync`.
|
|
5
|
+
*/
|
|
6
|
+
export declare const CONTROL_PLANE_SYNC_SCOPE = "controlplane:sync";
|
|
7
|
+
/**
|
|
8
|
+
* Scope required by the authoritative `/custom-domains` resource on the
|
|
9
|
+
* control plane. Tenant shards mint a token with this scope through
|
|
10
|
+
* `createControlPlaneCustomDomainsAdapter`.
|
|
11
|
+
*/
|
|
12
|
+
export declare const CONTROL_PLANE_CUSTOM_DOMAINS_SCOPE = "controlplane:custom_domains";
|
|
13
|
+
export { PROXY_RESOLVE_HOST_SCOPE };
|
|
@@ -9,6 +9,13 @@ import { PROXY_RESOLVE_HOST_SCOPE } from "@authhero/proxy";
|
|
|
9
9
|
export declare function isAllowedIssuer(iss: string, expected: string): boolean;
|
|
10
10
|
export type VerifyControlPlaneTokenResult = {
|
|
11
11
|
ok: true;
|
|
12
|
+
/**
|
|
13
|
+
* The verified `tenant_id` claim, when the token carries one. Service
|
|
14
|
+
* tokens minted by `createServiceTokenCore` always do; a client-credentials
|
|
15
|
+
* token minted for a proxy may not. Callers that act on a tenant's data
|
|
16
|
+
* MUST bind to this rather than to a tenant id taken from the request.
|
|
17
|
+
*/
|
|
18
|
+
tenantId?: string;
|
|
12
19
|
} | {
|
|
13
20
|
ok: false;
|
|
14
21
|
reason: string;
|
|
@@ -25,8 +32,12 @@ export interface VerifyControlPlaneTokenOptions {
|
|
|
25
32
|
* so any host you list here must publish its own JWKS at that path.
|
|
26
33
|
*/
|
|
27
34
|
expectedIssuers: string[];
|
|
28
|
-
/**
|
|
29
|
-
|
|
35
|
+
/**
|
|
36
|
+
* Required `scope` (the token's `scope` claim is space-separated). Pass an
|
|
37
|
+
* array to accept any one of several scopes. Defaults to
|
|
38
|
+
* `proxy:resolve_host`.
|
|
39
|
+
*/
|
|
40
|
+
requiredScope?: string | string[];
|
|
30
41
|
}
|
|
31
42
|
/**
|
|
32
43
|
* Verify a bearer token for the proxy control plane. Returns `{ ok: true }`
|
|
@@ -34,8 +45,8 @@ export interface VerifyControlPlaneTokenOptions {
|
|
|
34
45
|
* logs only and must not be surfaced to the caller.
|
|
35
46
|
*
|
|
36
47
|
* Accepted algs: RS256/384/512, ES256/384/512. The JWK's `alg` must match
|
|
37
|
-
* the token header's `alg`. The token must carry the configured
|
|
38
|
-
*
|
|
48
|
+
* the token header's `alg`. The token must carry one of the configured
|
|
49
|
+
* required scopes (`proxy:resolve_host` by default) and an `iss` that strictly equals
|
|
39
50
|
* one of `expectedIssuers` after URL normalization. The JWKS document is
|
|
40
51
|
* fetched from `<iss>/.well-known/jwks.json` AFTER the `iss` is allow-listed,
|
|
41
52
|
* so an attacker cannot redirect the verifier to a JWKS they control.
|
|
@@ -357,7 +357,7 @@ export declare function initJSXRoute(ctx: Context<{
|
|
|
357
357
|
active?: boolean | undefined;
|
|
358
358
|
} | undefined;
|
|
359
359
|
signup?: {
|
|
360
|
-
status?: "
|
|
360
|
+
status?: "optional" | "required" | "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?: "
|
|
377
|
+
status?: "optional" | "required" | "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?: "
|
|
394
|
+
status?: "optional" | "required" | "disabled" | undefined;
|
|
395
395
|
} | undefined;
|
|
396
396
|
} | undefined;
|
|
397
397
|
} | undefined;
|
|
@@ -1086,7 +1086,7 @@ export declare function initJSXRouteWithSession(ctx: Context<{
|
|
|
1086
1086
|
active?: boolean | undefined;
|
|
1087
1087
|
} | undefined;
|
|
1088
1088
|
signup?: {
|
|
1089
|
-
status?: "
|
|
1089
|
+
status?: "optional" | "required" | "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?: "
|
|
1106
|
+
status?: "optional" | "required" | "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?: "
|
|
1123
|
+
status?: "optional" | "required" | "disabled" | undefined;
|
|
1124
1124
|
} | undefined;
|
|
1125
1125
|
} | undefined;
|
|
1126
1126
|
} | undefined;
|
|
@@ -30,7 +30,7 @@ export declare const identifierRoutes: OpenAPIHono<{
|
|
|
30
30
|
} & {
|
|
31
31
|
form: {
|
|
32
32
|
username: string;
|
|
33
|
-
login_selection?: "
|
|
33
|
+
login_selection?: "code" | "password" | undefined;
|
|
34
34
|
};
|
|
35
35
|
};
|
|
36
36
|
output: {};
|
|
@@ -44,7 +44,7 @@ export declare const identifierRoutes: OpenAPIHono<{
|
|
|
44
44
|
} & {
|
|
45
45
|
form: {
|
|
46
46
|
username: string;
|
|
47
|
-
login_selection?: "
|
|
47
|
+
login_selection?: "code" | "password" | undefined;
|
|
48
48
|
};
|
|
49
49
|
};
|
|
50
50
|
output: {};
|