authhero 5.8.0 → 5.9.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 +97 -97
- package/dist/authhero.d.ts +17629 -72311
- package/dist/authhero.mjs +5613 -5615
- package/dist/stats.html +1 -1
- package/dist/tsconfig.types.tsbuildinfo +1 -0
- package/dist/types/adapters/cache/in-memory.d.ts +52 -0
- package/dist/types/adapters/cache/index.d.ts +2 -0
- package/dist/types/adapters/index.d.ts +1 -0
- package/dist/types/authentication-flows/auth0-migration.d.ts +53 -0
- package/dist/types/authentication-flows/authorization-code.d.ts +23 -0
- package/dist/types/authentication-flows/client-credentials.d.ts +16 -0
- package/dist/types/authentication-flows/common.d.ts +253 -0
- package/dist/types/authentication-flows/connection.d.ts +17 -0
- package/dist/types/authentication-flows/mfa.d.ts +49 -0
- package/dist/types/authentication-flows/passkey-enrollment.d.ts +19 -0
- package/dist/types/authentication-flows/password.d.ts +24 -0
- package/dist/types/authentication-flows/passwordless.d.ts +571 -0
- package/dist/types/authentication-flows/refresh-token-migration.d.ts +17 -0
- package/dist/types/authentication-flows/refresh-token.d.ts +15 -0
- package/dist/types/authentication-flows/resume.d.ts +22 -0
- package/dist/types/authentication-flows/silent.d.ts +25 -0
- package/dist/types/authentication-flows/ticket.d.ts +7 -0
- package/dist/types/authentication-flows/try-connection.d.ts +33 -0
- package/dist/types/authentication-flows/universal.d.ts +19 -0
- package/dist/types/build-hash.d.ts +7 -0
- package/dist/types/client/client-bundle.d.ts +1 -0
- package/dist/types/client/form-handler.d.ts +9 -0
- package/dist/types/client/incognito-handler.d.ts +5 -0
- package/dist/types/client/index.d.ts +1 -0
- package/dist/types/client/input-otp.d.ts +12 -0
- package/dist/types/client/password-toggle.d.ts +10 -0
- package/dist/types/client/user-agent-detector.d.ts +22 -0
- package/dist/types/components/AccountChangeEmailPage.d.ts +14 -0
- package/dist/types/components/AccountForm.d.ts +17 -0
- package/dist/types/components/AccountPage.d.ts +15 -0
- package/dist/types/components/AppLogo.d.ts +8 -0
- package/dist/types/components/AuthLayout.d.ts +18 -0
- package/dist/types/components/Button.d.ts +12 -0
- package/dist/types/components/ChangeEmailForm.d.ts +14 -0
- package/dist/types/components/ChangeEmailPage.d.ts +15 -0
- package/dist/types/components/ContinueForm.d.ts +13 -0
- package/dist/types/components/EmailValidatedForm.d.ts +12 -0
- package/dist/types/components/EmailValidatedPage.d.ts +11 -0
- package/dist/types/components/EnterCodeForm.d.ts +13 -0
- package/dist/types/components/EnterCodePage.d.ts +14 -0
- package/dist/types/components/EnterPasswordForm.d.ts +14 -0
- package/dist/types/components/EnterPasswordPage.d.ts +13 -0
- package/dist/types/components/ErrorMessage.d.ts +6 -0
- package/dist/types/components/Footer.d.ts +9 -0
- package/dist/types/components/ForgotPasswordForm.d.ts +14 -0
- package/dist/types/components/ForgotPasswordPage.d.ts +13 -0
- package/dist/types/components/ForgotPasswordSentPage.d.ts +11 -0
- package/dist/types/components/Form.d.ts +6 -0
- package/dist/types/components/FormNodePage.d.ts +16 -0
- package/dist/types/components/GoBack.d.ts +5 -0
- package/dist/types/components/GoogleLogo.d.ts +4 -0
- package/dist/types/components/Icon.d.ts +8 -0
- package/dist/types/components/IconEye.d.ts +8 -0
- package/dist/types/components/IconEyeSlash.d.ts +8 -0
- package/dist/types/components/IconPen.d.ts +7 -0
- package/dist/types/components/IdentifierForm.d.ts +16 -0
- package/dist/types/components/IdentifierPage.d.ts +15 -0
- package/dist/types/components/ImpersonateForm.d.ts +14 -0
- package/dist/types/components/ImpersonationPage.d.ts +13 -0
- package/dist/types/components/InvalidSessionPage.d.ts +11 -0
- package/dist/types/components/Layout.d.ts +11 -0
- package/dist/types/components/LoginForm.d.ts +15 -0
- package/dist/types/components/MessagePage.d.ts +13 -0
- package/dist/types/components/PasswordInput.d.ts +6 -0
- package/dist/types/components/PreSignUpConfirmationPage.d.ts +12 -0
- package/dist/types/components/PreSignUpPage.d.ts +12 -0
- package/dist/types/components/ResetPasswordForm.d.ts +14 -0
- package/dist/types/components/ResetPasswordPage.d.ts +12 -0
- package/dist/types/components/SignUpForm.d.ts +15 -0
- package/dist/types/components/SignUpPage.d.ts +14 -0
- package/dist/types/components/SocialButton.d.ts +10 -0
- package/dist/types/components/Spinner.d.ts +6 -0
- package/dist/types/components/Trans.d.ts +8 -0
- package/dist/types/components/UnverifiedEmailPage.d.ts +11 -0
- package/dist/types/components/UserNotFoundPage.d.ts +12 -0
- package/dist/types/components/VippsLogo.d.ts +4 -0
- package/dist/types/components/index.d.ts +34 -0
- package/dist/types/components/stories/AccountForm.stories.d.ts +13 -0
- package/dist/types/components/stories/AuthLayout.stories.d.ts +27 -0
- package/dist/types/components/stories/ChangeEmailForm.stories.d.ts +11 -0
- package/dist/types/components/stories/ContinueForm.stories.d.ts +10 -0
- package/dist/types/components/stories/EnterCodeForm.stories.d.ts +9 -0
- package/dist/types/components/stories/EnterPasswordForm.stories.d.ts +22 -0
- package/dist/types/components/stories/IdentifierForm.stories.d.ts +42 -0
- package/dist/types/components/stories/IdentifierPage.stories.d.ts +33 -0
- package/dist/types/components/stories/ImpersonateForm.stories.d.ts +11 -0
- package/dist/types/components/stories/LoginForm.stories.d.ts +12 -0
- package/dist/types/components/ui/button.d.ts +12 -0
- package/dist/types/components/ui/card.d.ts +30 -0
- package/dist/types/components/ui/input-otp.d.ts +31 -0
- package/dist/types/components/ui/input.d.ts +15 -0
- package/dist/types/components/ui/label.d.ts +9 -0
- package/dist/types/constants/defaultBranding.d.ts +2 -0
- package/dist/types/constants/defaultTheme.d.ts +2 -0
- package/dist/types/constants/index.d.ts +2 -0
- package/dist/types/constants.d.ts +15 -0
- package/dist/types/email-services/index.d.ts +3 -0
- package/dist/types/email-services/mailgun.d.ts +18 -0
- package/dist/types/email-services/postmark.d.ts +14 -0
- package/dist/types/email-services/resend.d.ts +14 -0
- package/dist/types/emails/defaults/Layout.d.ts +12 -0
- package/dist/types/emails/defaults/PrimaryButton.d.ts +11 -0
- package/dist/types/emails/defaults/ResetEmail.d.ts +1 -0
- package/dist/types/emails/defaults/ResetEmailByCode.d.ts +1 -0
- package/dist/types/emails/defaults/UserInvitation.d.ts +1 -0
- package/dist/types/emails/defaults/VerifyEmail.d.ts +1 -0
- package/dist/types/emails/defaults/VerifyEmailByCode.d.ts +1 -0
- package/dist/types/emails/defaults/WelcomeEmail.d.ts +1 -0
- package/dist/types/emails/defaults/compiled.d.ts +2 -0
- package/dist/types/emails/defaults/index.d.ts +6 -0
- package/dist/types/emails/defaults/subjects.d.ts +2 -0
- package/dist/types/emails/index.d.ts +70 -0
- package/dist/types/emails/render.d.ts +41 -0
- package/dist/types/errors/is-unique-constraint-error.d.ts +8 -0
- package/dist/types/errors/json-http-exception.d.ts +5 -0
- package/dist/types/errors/redirect-exception.d.ts +6 -0
- package/dist/types/generated/locale-types.d.ts +690 -0
- package/dist/types/helpers/cache-wrapper.d.ts +23 -0
- package/dist/types/helpers/client-assertion.d.ts +49 -0
- package/dist/types/helpers/client-keys.d.ts +27 -0
- package/dist/types/helpers/client.d.ts +496 -0
- package/dist/types/helpers/dcr/constraint-enforcement.d.ts +24 -0
- package/dist/types/helpers/dcr/metadata-mapping.d.ts +83 -0
- package/dist/types/helpers/dcr/mint-iat.d.ts +14 -0
- package/dist/types/helpers/dcr/mint-token.d.ts +7 -0
- package/dist/types/helpers/dcr/validate-connect-origin.d.ts +20 -0
- package/dist/types/helpers/dcr/verify-token.d.ts +8 -0
- package/dist/types/helpers/default-destinations.d.ts +55 -0
- package/dist/types/helpers/entity-hooks-wrapper.d.ts +43 -0
- package/dist/types/helpers/hook-events.d.ts +20 -0
- package/dist/types/helpers/hook-user-payload.d.ts +8 -0
- package/dist/types/helpers/hrd.d.ts +3 -0
- package/dist/types/helpers/logging.d.ts +65 -0
- package/dist/types/helpers/outbox-cleanup.d.ts +10 -0
- package/dist/types/helpers/outbox-destinations/index.d.ts +2 -0
- package/dist/types/helpers/outbox-destinations/log-streams.d.ts +66 -0
- package/dist/types/helpers/outbox-destinations/logs.d.ts +20 -0
- package/dist/types/helpers/outbox-destinations/registration-finalizer.d.ts +29 -0
- package/dist/types/helpers/outbox-destinations/webhooks.d.ts +57 -0
- package/dist/types/helpers/outbox-relay.d.ts +34 -0
- package/dist/types/helpers/password-policy.d.ts +54 -0
- package/dist/types/helpers/request-object.d.ts +40 -0
- package/dist/types/helpers/run-outbox-relay.d.ts +58 -0
- package/dist/types/helpers/saml.d.ts +1 -0
- package/dist/types/helpers/scope-claims.d.ts +4 -0
- package/dist/types/helpers/scopes-permissions.d.ts +38 -0
- package/dist/types/helpers/server-timing.d.ts +12 -0
- package/dist/types/helpers/service-token.d.ts +54 -0
- package/dist/types/helpers/set-tenant-id.d.ts +15 -0
- package/dist/types/helpers/signing-keys.d.ts +16 -0
- package/dist/types/helpers/try-connection-client.d.ts +15 -0
- package/dist/types/helpers/user-linking.d.ts +14 -0
- package/dist/types/helpers/user-session-cleanup.d.ts +21 -0
- package/dist/types/helpers/users.d.ts +46 -0
- package/dist/types/helpers/wait-until.d.ts +21 -0
- package/dist/types/hooks/addDataHooks.d.ts +16 -0
- package/dist/types/hooks/code-executor/local.d.ts +13 -0
- package/dist/types/hooks/codehooks.d.ts +70 -0
- package/dist/types/hooks/formhooks.d.ts +99 -0
- package/dist/types/hooks/helpers/token-api.d.ts +17 -0
- package/dist/types/hooks/index.d.ts +20 -0
- package/dist/types/hooks/link-users.d.ts +29 -0
- package/dist/types/hooks/pagehooks.d.ts +16 -0
- package/dist/types/hooks/post-user-login.d.ts +29 -0
- package/dist/types/hooks/pre-defined/account-linking.d.ts +73 -0
- package/dist/types/hooks/pre-defined/ensure-username.d.ts +86 -0
- package/dist/types/hooks/pre-defined/index.d.ts +23 -0
- package/dist/types/hooks/pre-defined/set-preferred-username.d.ts +26 -0
- package/dist/types/hooks/templatehooks.d.ts +29 -0
- package/dist/types/hooks/user-deletion.d.ts +14 -0
- package/dist/types/hooks/user-registration.d.ts +88 -0
- package/dist/types/hooks/user-update.d.ts +16 -0
- package/dist/types/hooks/validate-signup.d.ts +34 -0
- package/dist/types/hooks/webhooks.d.ts +35 -0
- package/dist/types/i18n/index.d.ts +77 -0
- package/dist/types/index.d.ts +15791 -0
- package/dist/types/locales/index.d.ts +9 -0
- package/dist/types/middlewares/apply-config.d.ts +14 -0
- package/dist/types/middlewares/authentication.d.ts +26 -0
- package/dist/types/middlewares/client-info.d.ts +8 -0
- package/dist/types/middlewares/index.d.ts +6 -0
- package/dist/types/middlewares/outbox.d.ts +24 -0
- package/dist/types/middlewares/register-component.d.ts +10 -0
- package/dist/types/middlewares/tenant.d.ts +12 -0
- package/dist/types/migration-providers/auth0.d.ts +3 -0
- package/dist/types/migration-providers/index.d.ts +5 -0
- package/dist/types/migration-providers/types.d.ts +32 -0
- package/dist/types/routes/auth-api/account.d.ts +36 -0
- package/dist/types/routes/auth-api/authenticate.d.ts +31 -0
- package/dist/types/routes/auth-api/authorize.d.ts +239 -0
- package/dist/types/routes/auth-api/callback.d.ts +234 -0
- package/dist/types/routes/auth-api/connect-start.d.ts +52 -0
- package/dist/types/routes/auth-api/dbconnections.d.ts +43 -0
- package/dist/types/routes/auth-api/index.d.ts +1580 -0
- package/dist/types/routes/auth-api/logout.d.ts +20 -0
- package/dist/types/routes/auth-api/oidc-logout.d.ts +52 -0
- package/dist/types/routes/auth-api/passwordless.d.ts +154 -0
- package/dist/types/routes/auth-api/register/index.d.ts +159 -0
- package/dist/types/routes/auth-api/register/shared.d.ts +30 -0
- package/dist/types/routes/auth-api/revoke.d.ts +73 -0
- package/dist/types/routes/auth-api/token.d.ts +412 -0
- package/dist/types/routes/auth-api/userinfo.d.ts +84 -0
- package/dist/types/routes/auth-api/well-known.d.ts +74 -0
- package/dist/types/routes/management-api/action-executions.d.ts +90 -0
- package/dist/types/routes/management-api/action-triggers.d.ts +118 -0
- package/dist/types/routes/management-api/actions.d.ts +673 -0
- package/dist/types/routes/management-api/analytics.d.ts +18 -0
- package/dist/types/routes/management-api/attack-protection.d.ts +189 -0
- package/dist/types/routes/management-api/authentication-methods.d.ts +115 -0
- package/dist/types/routes/management-api/branding.d.ts +402 -0
- package/dist/types/routes/management-api/client-grants.d.ts +183 -0
- package/dist/types/routes/management-api/client-registration-tokens.d.ts +35 -0
- package/dist/types/routes/management-api/clients.d.ts +995 -0
- package/dist/types/routes/management-api/connections.d.ts +872 -0
- package/dist/types/routes/management-api/custom-domains.d.ts +266 -0
- package/dist/types/routes/management-api/email-templates.d.ts +205 -0
- package/dist/types/routes/management-api/emails.d.ts +124 -0
- package/dist/types/routes/management-api/failed-events.d.ts +146 -0
- package/dist/types/routes/management-api/flows.d.ts +438 -0
- package/dist/types/routes/management-api/forms.d.ts +4090 -0
- package/dist/types/routes/management-api/guardian.d.ts +211 -0
- package/dist/types/routes/management-api/hook-code.d.ts +142 -0
- package/dist/types/routes/management-api/hooks.d.ts +405 -0
- package/dist/types/routes/management-api/index.d.ts +13210 -0
- package/dist/types/routes/management-api/keys.d.ts +98 -0
- package/dist/types/routes/management-api/log-streams.d.ts +170 -0
- package/dist/types/routes/management-api/logs.d.ts +159 -0
- package/dist/types/routes/management-api/migration-sources.d.ts +173 -0
- package/dist/types/routes/management-api/organizations.d.ts +896 -0
- package/dist/types/routes/management-api/prompts.d.ts +150 -0
- package/dist/types/routes/management-api/refresh_tokens.d.ts +66 -0
- package/dist/types/routes/management-api/resource-servers.d.ts +321 -0
- package/dist/types/routes/management-api/roles.d.ts +260 -0
- package/dist/types/routes/management-api/sessions.d.ts +78 -0
- package/dist/types/routes/management-api/stats.d.ts +44 -0
- package/dist/types/routes/management-api/tenants.d.ts +546 -0
- package/dist/types/routes/management-api/themes.d.ts +265 -0
- package/dist/types/routes/management-api/tickets.d.ts +75 -0
- package/dist/types/routes/management-api/users-by-email.d.ts +23 -0
- package/dist/types/routes/management-api/users.d.ts +1085 -0
- package/dist/types/routes/saml/index.d.ts +64 -0
- package/dist/types/routes/saml/samlp.d.ts +64 -0
- package/dist/types/routes/setup.d.ts +6 -0
- package/dist/types/routes/universal-login/account-change-email-confirmation.d.ts +30 -0
- package/dist/types/routes/universal-login/account-change-email-verify.d.ts +66 -0
- package/dist/types/routes/universal-login/account-change-email.d.ts +58 -0
- package/dist/types/routes/universal-login/account.d.ts +64 -0
- package/dist/types/routes/universal-login/common.d.ts +1482 -0
- package/dist/types/routes/universal-login/continue.d.ts +37 -0
- package/dist/types/routes/universal-login/enter-password.d.ts +49 -0
- package/dist/types/routes/universal-login/error-handler.d.ts +14 -0
- package/dist/types/routes/universal-login/error-page.d.ts +32 -0
- package/dist/types/routes/universal-login/error.d.ts +20 -0
- package/dist/types/routes/universal-login/flow-api.d.ts +381 -0
- package/dist/types/routes/universal-login/flow-widget.d.ts +23 -0
- package/dist/types/routes/universal-login/forgot-password.d.ts +32 -0
- package/dist/types/routes/universal-login/form-node.d.ts +74 -0
- package/dist/types/routes/universal-login/identifier.d.ts +55 -0
- package/dist/types/routes/universal-login/impersonate.d.ts +71 -0
- package/dist/types/routes/universal-login/index.d.ts +748 -0
- package/dist/types/routes/universal-login/info.d.ts +20 -0
- package/dist/types/routes/universal-login/invalid-session.d.ts +19 -0
- package/dist/types/routes/universal-login/otp-challenge.d.ts +54 -0
- package/dist/types/routes/universal-login/pre-signup-sent.d.ts +19 -0
- package/dist/types/routes/universal-login/pre-signup.d.ts +32 -0
- package/dist/types/routes/universal-login/reset-password.d.ts +39 -0
- package/dist/types/routes/universal-login/sanitization-utils.d.ts +55 -0
- package/dist/types/routes/universal-login/screen-api.d.ts +20 -0
- package/dist/types/routes/universal-login/screens/accept-invitation.d.ts +13 -0
- package/dist/types/routes/universal-login/screens/account-delete.d.ts +14 -0
- package/dist/types/routes/universal-login/screens/account-helpers.d.ts +13 -0
- package/dist/types/routes/universal-login/screens/account-linked.d.ts +14 -0
- package/dist/types/routes/universal-login/screens/account-mfa-phone-enrollment.d.ts +10 -0
- package/dist/types/routes/universal-login/screens/account-mfa-totp-enrollment.d.ts +10 -0
- package/dist/types/routes/universal-login/screens/account-passkeys.d.ts +10 -0
- package/dist/types/routes/universal-login/screens/account-profile.d.ts +14 -0
- package/dist/types/routes/universal-login/screens/account-security.d.ts +14 -0
- package/dist/types/routes/universal-login/screens/account.d.ts +14 -0
- package/dist/types/routes/universal-login/screens/connect-consent.d.ts +9 -0
- package/dist/types/routes/universal-login/screens/connect-tenant-select.d.ts +13 -0
- package/dist/types/routes/universal-login/screens/email-otp-challenge.d.ts +14 -0
- package/dist/types/routes/universal-login/screens/enter-password.d.ts +14 -0
- package/dist/types/routes/universal-login/screens/forgot-password.d.ts +11 -0
- package/dist/types/routes/universal-login/screens/identifier.d.ts +14 -0
- package/dist/types/routes/universal-login/screens/impersonate.d.ts +15 -0
- package/dist/types/routes/universal-login/screens/index.d.ts +29 -0
- package/dist/types/routes/universal-login/screens/login-passwordless-identifier.d.ts +17 -0
- package/dist/types/routes/universal-login/screens/login.d.ts +17 -0
- package/dist/types/routes/universal-login/screens/magic-link-sent.d.ts +11 -0
- package/dist/types/routes/universal-login/screens/mfa-login-options.d.ts +21 -0
- package/dist/types/routes/universal-login/screens/mfa-phone-challenge.d.ts +14 -0
- package/dist/types/routes/universal-login/screens/mfa-phone-enrollment.d.ts +14 -0
- package/dist/types/routes/universal-login/screens/mfa-totp-challenge.d.ts +14 -0
- package/dist/types/routes/universal-login/screens/mfa-totp-enrollment.d.ts +17 -0
- package/dist/types/routes/universal-login/screens/passkey-challenge.d.ts +16 -0
- package/dist/types/routes/universal-login/screens/passkey-enrollment-nudge.d.ts +17 -0
- package/dist/types/routes/universal-login/screens/passkey-enrollment.d.ts +11 -0
- package/dist/types/routes/universal-login/screens/passkey-utils.d.ts +100 -0
- package/dist/types/routes/universal-login/screens/registry.d.ts +28 -0
- package/dist/types/routes/universal-login/screens/reset-password-code.d.ts +18 -0
- package/dist/types/routes/universal-login/screens/reset-password.d.ts +36 -0
- package/dist/types/routes/universal-login/screens/signup.d.ts +14 -0
- package/dist/types/routes/universal-login/screens/sms-otp-challenge.d.ts +14 -0
- package/dist/types/routes/universal-login/screens/try-connection-result.d.ts +12 -0
- package/dist/types/routes/universal-login/screens/types.d.ts +167 -0
- package/dist/types/routes/universal-login/signup.d.ts +54 -0
- package/dist/types/routes/universal-login/u2-form-node.d.ts +93 -0
- package/dist/types/routes/universal-login/u2-index.d.ts +173 -0
- package/dist/types/routes/universal-login/u2-routes.d.ts +98 -0
- package/dist/types/routes/universal-login/u2-widget-page.d.ts +187 -0
- package/dist/types/routes/universal-login/universal-login-template.d.ts +55 -0
- package/dist/types/routes/universal-login/validate-email.d.ts +20 -0
- package/dist/types/routes/universal-login/widget-routes.d.ts +81 -0
- package/dist/types/seed.d.ts +86 -0
- package/dist/types/state-machines/index.d.ts +1 -0
- package/dist/types/state-machines/login-session.d.ts +173 -0
- package/dist/types/storybook-utils/HonoJSXWrapper.d.ts +43 -0
- package/dist/types/strategies/apple.d.ts +24 -0
- package/dist/types/strategies/facebook.d.ts +20 -0
- package/dist/types/strategies/github.d.ts +23 -0
- package/dist/types/strategies/google-oauth2.d.ts +43 -0
- package/dist/types/strategies/index.d.ts +69 -0
- package/dist/types/strategies/internal-oauth2.d.ts +17 -0
- package/dist/types/strategies/microsoft.d.ts +24 -0
- package/dist/types/strategies/oauth2.d.ts +38 -0
- package/dist/types/strategies/oidc.d.ts +38 -0
- package/dist/types/strategies/saml.d.ts +9 -0
- package/dist/types/strategies/vipps.d.ts +16 -0
- package/dist/types/styles/index.d.ts +9 -0
- package/dist/types/styles/tailwind.d.ts +1 -0
- package/dist/types/types/Auth0Client.d.ts +9 -0
- package/dist/types/types/AuthError.d.ts +14 -0
- package/dist/types/types/AuthHeroConfig.d.ts +415 -0
- package/dist/types/types/Bindings.d.ts +51 -0
- package/dist/types/types/GrantFlowResult.d.ts +22 -0
- package/dist/types/types/Hooks.d.ts +240 -0
- package/dist/types/types/IdToken.d.ts +30 -0
- package/dist/types/types/UserInfo.d.ts +8 -0
- package/dist/types/types/Variables.d.ts +33 -0
- package/dist/types/types/auth0/Query.d.ts +12 -0
- package/dist/types/types/auth0/Totals.d.ts +11 -0
- package/dist/types/types/auth0/UserResponse.d.ts +46 -0
- package/dist/types/types/auth0/index.d.ts +3 -0
- package/dist/types/types/index.d.ts +6 -0
- package/dist/types/types/saml.d.ts +1 -0
- package/dist/types/utils/append-log.d.ts +10 -0
- package/dist/types/utils/auth-header.d.ts +18 -0
- package/dist/types/utils/auth0-upstream.d.ts +60 -0
- package/dist/types/utils/authIframe.d.ts +11 -0
- package/dist/types/utils/client-info.d.ts +47 -0
- package/dist/types/utils/color.d.ts +23 -0
- package/dist/types/utils/connections.d.ts +11 -0
- package/dist/types/utils/cookies.d.ts +28 -0
- package/dist/types/utils/crypto.d.ts +2 -0
- package/dist/types/utils/deep-merge.d.ts +6 -0
- package/dist/types/utils/encryption.d.ts +22 -0
- package/dist/types/utils/entity-id.d.ts +13 -0
- package/dist/types/utils/fetchAll.d.ts +60 -0
- package/dist/types/utils/form-post.d.ts +1 -0
- package/dist/types/utils/id-token-hash.d.ts +1 -0
- package/dist/types/utils/incognito.d.ts +11 -0
- package/dist/types/utils/instance-to-json.d.ts +8 -0
- package/dist/types/utils/ip.d.ts +8 -0
- package/dist/types/utils/is-valid-redirect-url.d.ts +4 -0
- package/dist/types/utils/jwk-alg.d.ts +20 -0
- package/dist/types/utils/jwks.d.ts +41 -0
- package/dist/types/utils/jwt.d.ts +15 -0
- package/dist/types/utils/organization-id.d.ts +2 -0
- package/dist/types/utils/otp.d.ts +1 -0
- package/dist/types/utils/refresh-token-format.d.ts +20 -0
- package/dist/types/utils/safe-compare.d.ts +1 -0
- package/dist/types/utils/sort.d.ts +4 -0
- package/dist/types/utils/ssrf-fetch.d.ts +44 -0
- package/dist/types/utils/ulid.d.ts +1 -0
- package/dist/types/utils/url.d.ts +16 -0
- package/dist/types/utils/user-id.d.ts +2 -0
- package/dist/types/utils/username-password-provider.d.ts +67 -0
- package/dist/types/utils/username.d.ts +11 -0
- package/dist/types/variables.d.ts +4 -0
- package/package.json +11 -11
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { HTTPException } from "hono/http-exception";
|
|
2
|
+
import { ContentfulStatusCode } from "hono/utils/http-status";
|
|
3
|
+
export type HttpExceptionCode = "EMAIL_NOT_VERIFIED" | "INVALID_PASSWORD" | "USER_NOT_FOUND" | "TOO_MANY_FAILED_LOGINS" | "TOO_MANY_REQUESTS";
|
|
4
|
+
export type HttpExceptionOptions = {
|
|
5
|
+
code: HttpExceptionCode;
|
|
6
|
+
res?: Response;
|
|
7
|
+
message?: string;
|
|
8
|
+
cause?: unknown;
|
|
9
|
+
};
|
|
10
|
+
export declare class AuthError extends HTTPException {
|
|
11
|
+
private _code?;
|
|
12
|
+
constructor(status?: ContentfulStatusCode, options?: HttpExceptionOptions);
|
|
13
|
+
get code(): HttpExceptionCode | undefined;
|
|
14
|
+
}
|
|
@@ -0,0 +1,415 @@
|
|
|
1
|
+
import { CodeExecutor, Connection, ConnectionInsert, CreateTenantParams, DataAdapters, Hook, ResourceServer, ResourceServerInsert, Role, RoleInsert, Tenant } from "@authhero/adapter-interfaces";
|
|
2
|
+
import type { RolePermissionHooks, Hooks } from "./Hooks";
|
|
3
|
+
import type { SamlSigner } from "@authhero/saml/core";
|
|
4
|
+
import type { OpenAPIHono } from "@hono/zod-openapi";
|
|
5
|
+
import type { Handler } from "hono";
|
|
6
|
+
import { EntityHooks } from "./Hooks";
|
|
7
|
+
/**
|
|
8
|
+
* Parameters passed to a custom webhook invoker function.
|
|
9
|
+
*/
|
|
10
|
+
export interface WebhookInvokerParams {
|
|
11
|
+
/** The hook being invoked (contains url, hook_id, trigger_id, etc.) */
|
|
12
|
+
hook: Hook;
|
|
13
|
+
/** The payload data for the webhook */
|
|
14
|
+
data: Record<string, unknown>;
|
|
15
|
+
/** The tenant ID */
|
|
16
|
+
tenant_id: string;
|
|
17
|
+
/**
|
|
18
|
+
* Outbox event id for this invocation. Matches the value the default
|
|
19
|
+
* invoker sends as the `Idempotency-Key` header — custom invokers should
|
|
20
|
+
* forward it as the same header (or an equivalent dedupe key) so
|
|
21
|
+
* downstream receivers can dedupe on outbox retries. Only set when the
|
|
22
|
+
* invocation originates from the transactional outbox; the legacy inline
|
|
23
|
+
* dispatcher has no stable event id to forward.
|
|
24
|
+
*/
|
|
25
|
+
idempotency_key?: string;
|
|
26
|
+
/**
|
|
27
|
+
* Lazily creates a service token for authenticating with the webhook endpoint.
|
|
28
|
+
* Only creates the token when called — no overhead if you use your own auth.
|
|
29
|
+
*
|
|
30
|
+
* @param scope - The token scope (defaults to "webhook" when used by the default invoker)
|
|
31
|
+
* @returns A Bearer access token string
|
|
32
|
+
*/
|
|
33
|
+
createServiceToken: (scope?: string) => Promise<string>;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* A custom function for invoking webhooks.
|
|
37
|
+
*
|
|
38
|
+
* When provided, this replaces the default webhook invocation logic,
|
|
39
|
+
* allowing you to format the request body, add custom authentication,
|
|
40
|
+
* set custom headers, etc.
|
|
41
|
+
*
|
|
42
|
+
* Should return a Response object. If the response is not ok (status >= 400),
|
|
43
|
+
* the webhook will be logged as failed.
|
|
44
|
+
*
|
|
45
|
+
* @example
|
|
46
|
+
* ```typescript
|
|
47
|
+
* const { app } = init({
|
|
48
|
+
* dataAdapter,
|
|
49
|
+
* webhookInvoker: async ({ hook, data, tenant_id, createServiceToken }) => {
|
|
50
|
+
* // Use the built-in service token, or replace with your own auth
|
|
51
|
+
* const token = await createServiceToken();
|
|
52
|
+
* return fetch(hook.url, {
|
|
53
|
+
* method: "POST",
|
|
54
|
+
* headers: {
|
|
55
|
+
* "Authorization": `Bearer ${token}`,
|
|
56
|
+
* "Content-Type": "application/json",
|
|
57
|
+
* },
|
|
58
|
+
* body: JSON.stringify({
|
|
59
|
+
* event: data.trigger_id,
|
|
60
|
+
* payload: data,
|
|
61
|
+
* }),
|
|
62
|
+
* });
|
|
63
|
+
* },
|
|
64
|
+
* });
|
|
65
|
+
* ```
|
|
66
|
+
*/
|
|
67
|
+
export type WebhookInvoker = (params: WebhookInvokerParams) => Promise<Response>;
|
|
68
|
+
/**
|
|
69
|
+
* Entity hooks configuration for CRUD operations.
|
|
70
|
+
*
|
|
71
|
+
* Use these to implement cross-tenant synchronization, audit logging,
|
|
72
|
+
* webhooks, or any other side effects when entities are created/updated/deleted.
|
|
73
|
+
*
|
|
74
|
+
* Each hook type is an array of hooks that will be chained together.
|
|
75
|
+
* Arrays may contain undefined elements which will be filtered out.
|
|
76
|
+
* When chaining, "before" hooks pass their return values to the next hook in the chain.
|
|
77
|
+
*/
|
|
78
|
+
export interface EntityHooksConfig {
|
|
79
|
+
resourceServers?: (EntityHooks<ResourceServer, ResourceServerInsert> | undefined)[];
|
|
80
|
+
roles?: (EntityHooks<Role, RoleInsert> | undefined)[];
|
|
81
|
+
rolePermissions?: (RolePermissionHooks | undefined)[];
|
|
82
|
+
connections?: (EntityHooks<Connection, ConnectionInsert> | undefined)[];
|
|
83
|
+
tenants?: (EntityHooks<Tenant, CreateTenantParams> | undefined)[];
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Route extension for the management API.
|
|
87
|
+
*
|
|
88
|
+
* Allows registering additional OpenAPI routes that go through the full
|
|
89
|
+
* middleware chain (caching, tenant resolution, auth, entity hooks).
|
|
90
|
+
*/
|
|
91
|
+
export interface ManagementApiExtension {
|
|
92
|
+
/** The path prefix for the routes (e.g., "/tenants") */
|
|
93
|
+
path: string;
|
|
94
|
+
/**
|
|
95
|
+
* The OpenAPI router to mount at the path.
|
|
96
|
+
* Use `any` to allow routers with extended Bindings/Variables types
|
|
97
|
+
* (e.g., from multi-tenancy package).
|
|
98
|
+
*/
|
|
99
|
+
router: OpenAPIHono<any, any, any>;
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* Configuration for the transactional outbox pattern.
|
|
103
|
+
* When enabled, audit events are written atomically with entity mutations
|
|
104
|
+
* and delivered asynchronously by a background relay.
|
|
105
|
+
*/
|
|
106
|
+
export interface OutboxConfig {
|
|
107
|
+
enabled: boolean;
|
|
108
|
+
/** Capture entity before/after state in audit events (default: true) */
|
|
109
|
+
captureEntityState?: boolean;
|
|
110
|
+
/** Days to retain processed outbox events before cleanup (default: 7) */
|
|
111
|
+
retentionDays?: number;
|
|
112
|
+
/** Max delivery retries before giving up on an event (default: 5) */
|
|
113
|
+
maxRetries?: number;
|
|
114
|
+
}
|
|
115
|
+
/**
|
|
116
|
+
* Mode for the built-in email-based user linking path.
|
|
117
|
+
*
|
|
118
|
+
* - `"builtin"` — `commitUserHook` runs the email→primary lookup at user
|
|
119
|
+
* creation and email update, linking by verified email match. Default
|
|
120
|
+
* for backwards compatibility.
|
|
121
|
+
* - `"off"` — built-in lookup is skipped. Linking only happens if the
|
|
122
|
+
* tenant has enabled the `account-linking` template hook for the
|
|
123
|
+
* relevant trigger (`post-user-registration`, `post-user-update`, or
|
|
124
|
+
* `post-user-login`).
|
|
125
|
+
*
|
|
126
|
+
* The template hook is controlled independently via the management API,
|
|
127
|
+
* so a tenant on `"builtin"` mode can still enable the template at
|
|
128
|
+
* `post-user-login` to catch legacy unlinked accounts. Running both at
|
|
129
|
+
* the same trigger is harmless but redundant — the template no-ops once
|
|
130
|
+
* the built-in has set `linked_to`.
|
|
131
|
+
*
|
|
132
|
+
* A per-client `user_linking_mode` overrides this service-level default.
|
|
133
|
+
*/
|
|
134
|
+
export type UserLinkingMode = "builtin" | "off";
|
|
135
|
+
/**
|
|
136
|
+
* Resolver form for the service-level user-linking mode. Receives the
|
|
137
|
+
* resolved `tenant_id` (and `client_id`, when the request has one) and
|
|
138
|
+
* returns the mode to use for that request. May be async.
|
|
139
|
+
*/
|
|
140
|
+
export type UserLinkingModeResolver = (params: {
|
|
141
|
+
tenant_id: string;
|
|
142
|
+
client_id?: string;
|
|
143
|
+
}) => UserLinkingMode | Promise<UserLinkingMode>;
|
|
144
|
+
export type UserLinkingModeOption = UserLinkingMode | UserLinkingModeResolver;
|
|
145
|
+
/**
|
|
146
|
+
* Resolver for the per-tenant username/password provider value.
|
|
147
|
+
*
|
|
148
|
+
* The native database provider has historically been written as `"auth2"`.
|
|
149
|
+
* Returning `"auth0"` for selected tenants lets you migrate them onto the
|
|
150
|
+
* `"auth0"` provider value (matching what the legacy Auth0 import format
|
|
151
|
+
* used) one tenant at a time. Reads always accept both values, so existing
|
|
152
|
+
* `auth2|*` rows keep resolving during and after the cutover.
|
|
153
|
+
*
|
|
154
|
+
* TRANSITIONAL: this resolver and the dual-read fallback can be removed
|
|
155
|
+
* once every tenant has been migrated to a single value.
|
|
156
|
+
*/
|
|
157
|
+
export type UsernamePasswordProviderResolver = (params: {
|
|
158
|
+
tenant_id: string;
|
|
159
|
+
}) => "auth0" | "auth2" | Promise<"auth0" | "auth2">;
|
|
160
|
+
/**
|
|
161
|
+
* Mode for which signing-key bucket a tenant uses when minting and
|
|
162
|
+
* publishing JWTs.
|
|
163
|
+
*
|
|
164
|
+
* - `"control-plane"` — tenant uses the shared control-plane keys (rows
|
|
165
|
+
* with `tenant_id IS NULL`). This matches the legacy single-key-pool
|
|
166
|
+
* behavior; existing data needs no migration.
|
|
167
|
+
* - `"tenant"` — tenant uses its own keys (rows with `tenant_id =
|
|
168
|
+
* tenantId`). Falls back to the control-plane bucket if the tenant has
|
|
169
|
+
* no non-revoked key yet, so flipping a tenant on is safe even before
|
|
170
|
+
* a tenant key has been minted. JWKS for that tenant publishes the
|
|
171
|
+
* union of tenant + control-plane keys so tokens signed by either set
|
|
172
|
+
* keep verifying during rotation.
|
|
173
|
+
*/
|
|
174
|
+
export type SigningKeyMode = "control-plane" | "tenant";
|
|
175
|
+
/**
|
|
176
|
+
* Resolver form for the per-tenant signing-key mode. Receives the
|
|
177
|
+
* resolved `tenant_id` and returns which bucket to use. May be async.
|
|
178
|
+
*/
|
|
179
|
+
export type SigningKeyModeResolver = (params: {
|
|
180
|
+
tenant_id: string;
|
|
181
|
+
}) => SigningKeyMode | Promise<SigningKeyMode>;
|
|
182
|
+
export type SigningKeyModeOption = SigningKeyMode | SigningKeyModeResolver;
|
|
183
|
+
export interface AuthHeroConfig {
|
|
184
|
+
dataAdapter: DataAdapters;
|
|
185
|
+
/**
|
|
186
|
+
* Optional separate data adapter for the management API.
|
|
187
|
+
* If provided, the management API will use this adapter instead of `dataAdapter`.
|
|
188
|
+
*
|
|
189
|
+
* This is useful when you want different behavior for auth flows vs management API,
|
|
190
|
+
* such as excluding sensitive fields from control plane fallback in management API
|
|
191
|
+
* while keeping them for authentication flows.
|
|
192
|
+
*
|
|
193
|
+
* @example
|
|
194
|
+
* ```typescript
|
|
195
|
+
* const { app } = init({
|
|
196
|
+
* dataAdapter: withRuntimeFallback(baseAdapters, { controlPlaneTenantId: "main" }),
|
|
197
|
+
* managementDataAdapter: withRuntimeFallback(baseAdapters, {
|
|
198
|
+
* controlPlaneTenantId: "main",
|
|
199
|
+
* excludeSensitiveFields: true, // Don't expose control plane secrets in management API
|
|
200
|
+
* }),
|
|
201
|
+
* });
|
|
202
|
+
* ```
|
|
203
|
+
*/
|
|
204
|
+
managementDataAdapter?: DataAdapters;
|
|
205
|
+
allowedOrigins?: string[];
|
|
206
|
+
samlSigner?: SamlSigner;
|
|
207
|
+
/**
|
|
208
|
+
* Auth0-style action hooks for auth flow events.
|
|
209
|
+
*/
|
|
210
|
+
hooks?: Hooks;
|
|
211
|
+
/**
|
|
212
|
+
* Entity CRUD hooks for when resources are created/updated/deleted.
|
|
213
|
+
* Use these to implement cross-tenant sync, audit logging, webhooks, etc.
|
|
214
|
+
*/
|
|
215
|
+
entityHooks?: EntityHooksConfig;
|
|
216
|
+
/**
|
|
217
|
+
* Handler for serving widget static files at /u/widget/*.
|
|
218
|
+
*
|
|
219
|
+
* The widget files are served from @authhero/widget package.
|
|
220
|
+
* This must be a platform-specific static file handler.
|
|
221
|
+
*
|
|
222
|
+
* @example Node.js with @hono/node-server:
|
|
223
|
+
* ```typescript
|
|
224
|
+
* import { serveStatic } from "@hono/node-server/serve-static";
|
|
225
|
+
* import path from "path";
|
|
226
|
+
* import { fileURLToPath } from "url";
|
|
227
|
+
*
|
|
228
|
+
* const __dirname = path.dirname(fileURLToPath(import.meta.url));
|
|
229
|
+
* const widgetPath = path.resolve(__dirname, "../node_modules/@authhero/widget/dist/authhero-widget");
|
|
230
|
+
*
|
|
231
|
+
* const { app } = init({
|
|
232
|
+
* dataAdapter,
|
|
233
|
+
* widgetHandler: serveStatic({
|
|
234
|
+
* root: widgetPath,
|
|
235
|
+
* rewriteRequestPath: (p) => p.replace("/u/widget", ""),
|
|
236
|
+
* }),
|
|
237
|
+
* });
|
|
238
|
+
* ```
|
|
239
|
+
*
|
|
240
|
+
* @example Bun:
|
|
241
|
+
* ```typescript
|
|
242
|
+
* import { serveStatic } from "hono/bun";
|
|
243
|
+
*
|
|
244
|
+
* const { app } = init({
|
|
245
|
+
* dataAdapter,
|
|
246
|
+
* widgetHandler: serveStatic({
|
|
247
|
+
* root: "./node_modules/@authhero/widget/dist/authhero-widget",
|
|
248
|
+
* rewriteRequestPath: (p) => p.replace("/u/widget", ""),
|
|
249
|
+
* }),
|
|
250
|
+
* });
|
|
251
|
+
* ```
|
|
252
|
+
*/
|
|
253
|
+
widgetHandler?: Handler<any>;
|
|
254
|
+
/**
|
|
255
|
+
* Additional routes to mount on the management API.
|
|
256
|
+
*
|
|
257
|
+
* These routes go through the full middleware chain:
|
|
258
|
+
* - CORS
|
|
259
|
+
* - Data hooks & caching
|
|
260
|
+
* - Client info extraction
|
|
261
|
+
* - Tenant resolution
|
|
262
|
+
* - Authentication (reads OpenAPI security definitions)
|
|
263
|
+
* - Entity hooks
|
|
264
|
+
*
|
|
265
|
+
* @example
|
|
266
|
+
* ```typescript
|
|
267
|
+
* import { init } from "authhero";
|
|
268
|
+
* import { createTenantsOpenAPIRouter } from "@authhero/multi-tenancy";
|
|
269
|
+
*
|
|
270
|
+
* const { app } = init({
|
|
271
|
+
* dataAdapter,
|
|
272
|
+
* managementApiExtensions: [
|
|
273
|
+
* { path: "/tenants", router: createTenantsOpenAPIRouter(config, hooks) }
|
|
274
|
+
* ]
|
|
275
|
+
* });
|
|
276
|
+
* ```
|
|
277
|
+
*/
|
|
278
|
+
managementApiExtensions?: ManagementApiExtension[];
|
|
279
|
+
/**
|
|
280
|
+
* Optional powered-by logo to display at the bottom left of the login widget.
|
|
281
|
+
* This is only configurable in code, not stored in the database.
|
|
282
|
+
*
|
|
283
|
+
* @example
|
|
284
|
+
* ```typescript
|
|
285
|
+
* const { app } = init({
|
|
286
|
+
* dataAdapter,
|
|
287
|
+
* poweredByLogo: {
|
|
288
|
+
* url: "https://example.com/logo.svg",
|
|
289
|
+
* darkUrl: "https://example.com/logo-dark.svg", // optional dark-mode variant
|
|
290
|
+
* alt: "Powered by Example",
|
|
291
|
+
* href: "https://example.com", // optional link
|
|
292
|
+
* height: 24, // optional height in pixels (default: 20)
|
|
293
|
+
* },
|
|
294
|
+
* });
|
|
295
|
+
* ```
|
|
296
|
+
*/
|
|
297
|
+
poweredByLogo?: {
|
|
298
|
+
/** URL of the logo image (used in light mode, and in dark mode if `darkUrl` is not provided) */
|
|
299
|
+
url: string;
|
|
300
|
+
/** Optional dark-mode variant; falls back to `url` when omitted */
|
|
301
|
+
darkUrl?: string;
|
|
302
|
+
/** Alt text for the logo */
|
|
303
|
+
alt: string;
|
|
304
|
+
/** Optional link URL - if provided, the logo will be clickable */
|
|
305
|
+
href?: string;
|
|
306
|
+
/** Optional height in pixels (default: 20) */
|
|
307
|
+
height?: number;
|
|
308
|
+
};
|
|
309
|
+
/**
|
|
310
|
+
* Code executor for user-authored code hooks.
|
|
311
|
+
*
|
|
312
|
+
* When provided, code hooks stored in the database will be executed
|
|
313
|
+
* using this executor at auth flow trigger points.
|
|
314
|
+
*
|
|
315
|
+
* Available implementations:
|
|
316
|
+
* - `LocalCodeExecutor` — uses `new Function()`, suitable for local dev only
|
|
317
|
+
* - Custom implementations for isolated-vm, Cloudflare Workers for Platforms, etc.
|
|
318
|
+
*
|
|
319
|
+
* If not provided, code hooks are silently skipped.
|
|
320
|
+
*/
|
|
321
|
+
codeExecutor?: CodeExecutor;
|
|
322
|
+
/**
|
|
323
|
+
* Custom webhook invoker function.
|
|
324
|
+
*
|
|
325
|
+
* When provided, this replaces the default webhook invocation logic,
|
|
326
|
+
* allowing you to format the request body, add custom authentication,
|
|
327
|
+
* set custom headers, etc.
|
|
328
|
+
*
|
|
329
|
+
* If not provided, webhooks are invoked with a POST request containing
|
|
330
|
+
* a JSON body and a Bearer token generated by the built-in service token creator.
|
|
331
|
+
*/
|
|
332
|
+
webhookInvoker?: WebhookInvoker;
|
|
333
|
+
/**
|
|
334
|
+
* Handler for serving admin UI static files (JS, CSS, images) at /admin/*.
|
|
335
|
+
*
|
|
336
|
+
* This must be a platform-specific static file handler, similar to widgetHandler.
|
|
337
|
+
* The handler serves the built assets from @authhero/admin/dist.
|
|
338
|
+
*
|
|
339
|
+
* @example Node.js with @hono/node-server:
|
|
340
|
+
* ```typescript
|
|
341
|
+
* import { serveStatic } from "@hono/node-server/serve-static";
|
|
342
|
+
*
|
|
343
|
+
* const adminDistPath = path.resolve(__dirname, "../node_modules/@authhero/admin/dist");
|
|
344
|
+
*
|
|
345
|
+
* const { app } = init({
|
|
346
|
+
* dataAdapter,
|
|
347
|
+
* adminHandler: serveStatic({
|
|
348
|
+
* root: adminDistPath,
|
|
349
|
+
* rewriteRequestPath: (p) => p.replace("/admin", ""),
|
|
350
|
+
* }),
|
|
351
|
+
* });
|
|
352
|
+
* ```
|
|
353
|
+
*/
|
|
354
|
+
adminHandler?: Handler<any>;
|
|
355
|
+
/**
|
|
356
|
+
* Pre-configured index.html string for the admin UI SPA fallback.
|
|
357
|
+
*
|
|
358
|
+
* Read from @authhero/admin/dist/index.html with runtime config
|
|
359
|
+
* injected via a `<script>window.__AUTHHERO_ADMIN_CONFIG__=...</script>` tag.
|
|
360
|
+
*
|
|
361
|
+
* When provided, all non-asset requests to /admin/* will return this HTML,
|
|
362
|
+
* enabling client-side routing in the admin SPA.
|
|
363
|
+
*/
|
|
364
|
+
adminIndexHtml?: string;
|
|
365
|
+
/**
|
|
366
|
+
* Transactional outbox configuration.
|
|
367
|
+
* When enabled, audit events are written atomically within the same
|
|
368
|
+
* database transaction as entity mutations, then delivered asynchronously
|
|
369
|
+
* by a background relay to the logs table (and other destinations).
|
|
370
|
+
*/
|
|
371
|
+
outbox?: OutboxConfig;
|
|
372
|
+
/**
|
|
373
|
+
* Default mode for the built-in email-based user-linking path.
|
|
374
|
+
*
|
|
375
|
+
* Controls whether `linkUsersHook` performs an automatic primary-user
|
|
376
|
+
* lookup by verified email at user creation and email update. A per-client
|
|
377
|
+
* `user_linking_mode` setting overrides this default.
|
|
378
|
+
*
|
|
379
|
+
* Accepts either a static value or a resolver function that receives
|
|
380
|
+
* `{ tenant_id, client_id }` and returns the mode (sync or async). Use
|
|
381
|
+
* the resolver form to disable built-in linking on a per-tenant basis.
|
|
382
|
+
*
|
|
383
|
+
* @default "builtin"
|
|
384
|
+
*/
|
|
385
|
+
userLinkingMode?: UserLinkingModeOption;
|
|
386
|
+
/**
|
|
387
|
+
* Per-tenant override for the username/password provider value used on
|
|
388
|
+
* NEW user rows. Returning `"auth0"` for a tenant migrates new signups,
|
|
389
|
+
* password resets, etc. onto the `auth0|*` user_id format. Existing
|
|
390
|
+
* `auth2|*` rows keep working — reads accept either value.
|
|
391
|
+
*
|
|
392
|
+
* Omit to keep the legacy `"auth2"` value for every tenant.
|
|
393
|
+
*
|
|
394
|
+
* TRANSITIONAL: this hook and the dual-read fallback in the password
|
|
395
|
+
* flows can be removed once all tenants have been backfilled.
|
|
396
|
+
*/
|
|
397
|
+
usernamePasswordProvider?: UsernamePasswordProviderResolver;
|
|
398
|
+
/**
|
|
399
|
+
* Per-tenant control over which signing-key bucket a tenant uses.
|
|
400
|
+
*
|
|
401
|
+
* Accepts either a static value or a resolver that receives
|
|
402
|
+
* `{ tenant_id }` and returns the mode. Use the resolver form to
|
|
403
|
+
* migrate tenants onto their own keys one at a time.
|
|
404
|
+
*
|
|
405
|
+
* Omit (or set to `"control-plane"`) to preserve the legacy behavior
|
|
406
|
+
* where every tenant shares the control-plane keys.
|
|
407
|
+
*
|
|
408
|
+
* TRANSITIONAL: once every tenant is on `"tenant"` and the
|
|
409
|
+
* control-plane bucket has been retired, this option and the
|
|
410
|
+
* fallback path can be removed.
|
|
411
|
+
*
|
|
412
|
+
* @default "control-plane"
|
|
413
|
+
*/
|
|
414
|
+
signingKeyMode?: SigningKeyModeOption;
|
|
415
|
+
}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { CodeExecutor, DataAdapters } from "@authhero/adapter-interfaces";
|
|
2
|
+
import type { SamlSigner } from "@authhero/saml/core";
|
|
3
|
+
import { Hooks } from "./Hooks";
|
|
4
|
+
import { EntityHooksConfig, OutboxConfig, SigningKeyModeOption, UserLinkingModeOption, UsernamePasswordProviderResolver, WebhookInvoker } from "./AuthHeroConfig";
|
|
5
|
+
import { StrategyHandler } from "../strategies";
|
|
6
|
+
declare type Fetcher = {
|
|
7
|
+
fetch: typeof fetch;
|
|
8
|
+
};
|
|
9
|
+
export type Bindings = {
|
|
10
|
+
ENVIRONMENT: string;
|
|
11
|
+
AUTH_URL: string;
|
|
12
|
+
JWKS_URL?: string;
|
|
13
|
+
JWKS_SERVICE?: Fetcher;
|
|
14
|
+
ISSUER: string;
|
|
15
|
+
UNIVERSAL_LOGIN_URL?: string;
|
|
16
|
+
OAUTH_API_URL?: string;
|
|
17
|
+
data: DataAdapters;
|
|
18
|
+
hooks?: Hooks;
|
|
19
|
+
/**
|
|
20
|
+
* Entity CRUD hooks for when resources are created/updated/deleted.
|
|
21
|
+
* Use these to implement cross-tenant sync, audit logging, webhooks, etc.
|
|
22
|
+
*/
|
|
23
|
+
entityHooks?: EntityHooksConfig;
|
|
24
|
+
STRATEGIES?: {
|
|
25
|
+
[strategy: string]: StrategyHandler;
|
|
26
|
+
};
|
|
27
|
+
JWKS_CACHE_TIMEOUT_IN_SECONDS: number;
|
|
28
|
+
ORGANIZATION_NAME: string;
|
|
29
|
+
SAML_SIGN_URL?: string;
|
|
30
|
+
samlSigner?: SamlSigner;
|
|
31
|
+
poweredByLogo?: {
|
|
32
|
+
url: string;
|
|
33
|
+
darkUrl?: string;
|
|
34
|
+
alt: string;
|
|
35
|
+
href?: string;
|
|
36
|
+
height?: number;
|
|
37
|
+
};
|
|
38
|
+
codeExecutor?: CodeExecutor;
|
|
39
|
+
webhookInvoker?: WebhookInvoker;
|
|
40
|
+
outbox?: OutboxConfig;
|
|
41
|
+
userLinkingMode?: UserLinkingModeOption;
|
|
42
|
+
usernamePasswordProvider?: UsernamePasswordProviderResolver;
|
|
43
|
+
signingKeyMode?: SigningKeyModeOption;
|
|
44
|
+
/**
|
|
45
|
+
* Allow outbound fetches (jwks_uri, request_uri) to localhost / private IP
|
|
46
|
+
* ranges and over plain http. Intended for tests and local development;
|
|
47
|
+
* leave unset (or false) in production so SSRF protection stays on.
|
|
48
|
+
*/
|
|
49
|
+
ALLOW_PRIVATE_OUTBOUND_FETCH?: boolean;
|
|
50
|
+
};
|
|
51
|
+
export {};
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { User, AuthParams, LoginSession } from "@authhero/adapter-interfaces";
|
|
2
|
+
import type { EnrichedClient } from "../helpers/client";
|
|
3
|
+
export interface GrantFlowResult {
|
|
4
|
+
user?: User;
|
|
5
|
+
client: EnrichedClient;
|
|
6
|
+
refresh_token?: string;
|
|
7
|
+
loginSession?: LoginSession;
|
|
8
|
+
session_id?: string;
|
|
9
|
+
login_id?: string;
|
|
10
|
+
authParams: AuthParams;
|
|
11
|
+
organization?: {
|
|
12
|
+
id: string;
|
|
13
|
+
name: string;
|
|
14
|
+
};
|
|
15
|
+
impersonatingUser?: User;
|
|
16
|
+
auth_time?: number;
|
|
17
|
+
/** The connection name used for authentication (e.g., "email", "google-oauth2") */
|
|
18
|
+
authConnection?: string;
|
|
19
|
+
}
|
|
20
|
+
export interface GrantFlowUserResult extends GrantFlowResult {
|
|
21
|
+
user: User;
|
|
22
|
+
}
|