authhero 5.8.1 → 5.9.1
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 +135 -135
- package/dist/authhero.d.ts +17853 -72311
- package/dist/authhero.mjs +16401 -16771
- 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 +16022 -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 +13277 -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 +90 -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 +337 -0
- package/dist/types/routes/universal-login/u2-routes.d.ts +262 -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/define-route.d.ts +20 -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,22 @@
|
|
|
1
|
+
import * as x509 from "@peculiar/x509";
|
|
2
|
+
import { SigningKey } from "@authhero/adapter-interfaces";
|
|
3
|
+
/**
|
|
4
|
+
* Supported signing-key shapes. Note: `EC-P-521` is not supported on
|
|
5
|
+
* Cloudflare Workers (`workerd`) — `crypto.subtle.generateKey` will reject
|
|
6
|
+
* `{ name: "ECDSA", namedCurve: "P-521" }` there. Callers running on Workers
|
|
7
|
+
* must pick `RSA`, `EC-P-256`, or `EC-P-384`.
|
|
8
|
+
*/
|
|
9
|
+
export type SigningKeyType = "RSA" | "EC-P-256" | "EC-P-384" | "EC-P-521";
|
|
10
|
+
export interface CreateX509CertificateParams {
|
|
11
|
+
name: string;
|
|
12
|
+
/**
|
|
13
|
+
* The key type to generate. Defaults to "RSA" (RS256-compatible) for
|
|
14
|
+
* backwards compatibility with existing tenants.
|
|
15
|
+
*/
|
|
16
|
+
keyType?: SigningKeyType;
|
|
17
|
+
}
|
|
18
|
+
export declare function createX509Certificate(params: CreateX509CertificateParams): Promise<SigningKey>;
|
|
19
|
+
export declare function convertPKCS7ToPem(keyType: "PRIVATE" | "PUBLIC", binaryData: ArrayBuffer): string;
|
|
20
|
+
export declare function toJWKS(key: CryptoKey): Promise<JsonWebKey>;
|
|
21
|
+
export declare function getJWKThumbprint(cert: x509.X509Certificate): Promise<string>;
|
|
22
|
+
export declare function computeJWKThumbprint(jwk: JsonWebKey): Promise<string>;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export type EntityType = "organization" | "connection" | "action" | "hook" | "rule" | "resource_server" | "guardian_factor" | "invite" | "flow";
|
|
2
|
+
export declare function generateEntityId(entityType: EntityType): string;
|
|
3
|
+
export declare function parseEntityId(entityId: string, entityType: EntityType): string;
|
|
4
|
+
export declare function generateOrganizationId(): string;
|
|
5
|
+
export declare function generateConnectionId(): string;
|
|
6
|
+
export declare function generateActionId(): string;
|
|
7
|
+
export declare function generateHookId(): string;
|
|
8
|
+
export declare function generateRuleId(): string;
|
|
9
|
+
export declare function generateResourceServerId(): string;
|
|
10
|
+
export declare function generateGuardianFactorId(): string;
|
|
11
|
+
export declare function generateInviteId(): string;
|
|
12
|
+
export declare function generateFlowId(): string;
|
|
13
|
+
export declare function getEntityTypeFromId(entityId: string): EntityType | null;
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { ListParams } from "@authhero/adapter-interfaces";
|
|
2
|
+
/**
|
|
3
|
+
* Options for fetching all resources with pagination.
|
|
4
|
+
*/
|
|
5
|
+
export interface FetchAllOptions {
|
|
6
|
+
/**
|
|
7
|
+
* The field to use for cursor-based pagination.
|
|
8
|
+
* This field should be unique and sortable (e.g., 'id', 'created_at').
|
|
9
|
+
* @default 'id'
|
|
10
|
+
*/
|
|
11
|
+
cursorField?: string;
|
|
12
|
+
/**
|
|
13
|
+
* The sort order for the cursor field.
|
|
14
|
+
* @default 'asc'
|
|
15
|
+
*/
|
|
16
|
+
sortOrder?: "asc" | "desc";
|
|
17
|
+
/**
|
|
18
|
+
* Maximum number of items to fetch per page.
|
|
19
|
+
* @default 100
|
|
20
|
+
*/
|
|
21
|
+
pageSize?: number;
|
|
22
|
+
/**
|
|
23
|
+
* Maximum total items to fetch (for safety).
|
|
24
|
+
* Set to -1 for unlimited.
|
|
25
|
+
* @default 10000
|
|
26
|
+
*/
|
|
27
|
+
maxItems?: number;
|
|
28
|
+
/**
|
|
29
|
+
* Optional filter query (Lucene-style).
|
|
30
|
+
*/
|
|
31
|
+
q?: string;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Fetches all resources from a paginated list endpoint by iterating through pages.
|
|
35
|
+
*
|
|
36
|
+
* Uses cursor-based pagination by filtering on a sortable field (like 'id') to ensure
|
|
37
|
+
* consistent results even if data changes between requests.
|
|
38
|
+
*
|
|
39
|
+
* @param listFn - The list function from the adapter (e.g., adapters.tenants.list)
|
|
40
|
+
* @param itemsKey - The key in the response that contains the array of items (e.g., 'tenants', 'users')
|
|
41
|
+
* @param options - Pagination options
|
|
42
|
+
* @returns Promise resolving to an array of all items
|
|
43
|
+
*
|
|
44
|
+
* @example
|
|
45
|
+
* ```typescript
|
|
46
|
+
* // Fetch all tenants
|
|
47
|
+
* const allTenants = await fetchAll(
|
|
48
|
+
* (params) => adapters.tenants.list(params),
|
|
49
|
+
* 'tenants'
|
|
50
|
+
* );
|
|
51
|
+
*
|
|
52
|
+
* // Fetch all users for a tenant with custom options
|
|
53
|
+
* const allUsers = await fetchAll(
|
|
54
|
+
* (params) => adapters.users.list(tenantId, params),
|
|
55
|
+
* 'users',
|
|
56
|
+
* { cursorField: 'user_id', pageSize: 50 }
|
|
57
|
+
* );
|
|
58
|
+
* ```
|
|
59
|
+
*/
|
|
60
|
+
export declare function fetchAll<T>(listFn: (params: ListParams) => Promise<any>, itemsKey: string, options?: FetchAllOptions): Promise<T[]>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function formPostResponse(redirectUri: string, params: Record<string, string>, headers: Headers): Response;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function computeIdTokenHash(value: string, signingAlg: string): Promise<string>;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Synchronously checks if the browser is in incognito mode by reading from session storage
|
|
3
|
+
* @returns true if incognito, false if not incognito, undefined if not yet determined
|
|
4
|
+
*/
|
|
5
|
+
export declare function isIncognito(): boolean | undefined;
|
|
6
|
+
/**
|
|
7
|
+
* Detects incognito mode using the detectincognitojs library and persists the result to session storage
|
|
8
|
+
* Only performs detection if not already cached in session storage
|
|
9
|
+
* @returns Promise<boolean> indicating if the browser is in incognito mode
|
|
10
|
+
*/
|
|
11
|
+
export declare function detectAndCacheIncognito(): Promise<boolean>;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Converts an iterable object (like Headers, URLSearchParams) to a plain JSON object.
|
|
3
|
+
* This is useful for serializing objects that don't naturally serialize to JSON.
|
|
4
|
+
*
|
|
5
|
+
* @param instance - An iterable object where each item is a [key, value] pair
|
|
6
|
+
* @returns A plain object with the key-value pairs
|
|
7
|
+
*/
|
|
8
|
+
export declare function instanceToJson<T = string>(instance: Headers | URLSearchParams | Iterable<[string, T]>): Record<string, T>;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export declare function isIPv4(ip: string): boolean;
|
|
2
|
+
export declare function isIPv6(ip: string): boolean;
|
|
3
|
+
export declare function stripPort(ip: string): string;
|
|
4
|
+
export declare function normalizeIp(ip: string): {
|
|
5
|
+
family: 4 | 6;
|
|
6
|
+
normalized: string;
|
|
7
|
+
} | null;
|
|
8
|
+
export declare function isIpMatch(ipA: string, ipB: string, strict?: boolean): boolean;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
export type SupportedAlg = "RS256" | "RS384" | "RS512" | "ES256" | "ES384" | "ES512";
|
|
2
|
+
export declare function algForJwk(jwk: {
|
|
3
|
+
kty: string;
|
|
4
|
+
crv?: string;
|
|
5
|
+
alg?: string;
|
|
6
|
+
}): SupportedAlg;
|
|
7
|
+
export declare function importParamsForJwk(jwk: {
|
|
8
|
+
kty: string;
|
|
9
|
+
crv?: string;
|
|
10
|
+
}, alg: string): RsaHashedImportParams | EcKeyImportParams;
|
|
11
|
+
/**
|
|
12
|
+
* The set of `id_token_signing_alg_values_supported` we currently advertise.
|
|
13
|
+
* Derived from the algorithms we can actually issue + verify.
|
|
14
|
+
*/
|
|
15
|
+
export declare const SUPPORTED_ID_TOKEN_SIGNING_ALGS: SupportedAlg[];
|
|
16
|
+
/**
|
|
17
|
+
* Derive the JWS signing algorithm to use with a signing key, by inspecting
|
|
18
|
+
* the public-key material embedded in its X.509 cert.
|
|
19
|
+
*/
|
|
20
|
+
export declare function algForCert(certPem: string): Promise<SupportedAlg>;
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { DataAdapters } from "@authhero/adapter-interfaces";
|
|
2
|
+
import { SigningKeyModeOption } from "../types/AuthHeroConfig";
|
|
3
|
+
/**
|
|
4
|
+
* Helper function to fetch JWKS keys from the database for token *verification*.
|
|
5
|
+
*
|
|
6
|
+
* Returns every non-revoked `jwt_signing` key regardless of tenant scope so a
|
|
7
|
+
* token signed by any key (control-plane or any tenant) can be matched by kid.
|
|
8
|
+
* Use `getJwksForPublication` for the public `/.well-known/jwks.json` endpoint.
|
|
9
|
+
*/
|
|
10
|
+
export declare function getJwksFromDatabase(data: DataAdapters): Promise<{
|
|
11
|
+
alg: "RS256" | "RS384" | "RS512" | "ES256" | "ES384" | "ES512" | "HS256" | "HS384" | "HS512";
|
|
12
|
+
kid: string;
|
|
13
|
+
kty: "EC" | "RSA" | "oct";
|
|
14
|
+
use?: "sig" | "enc" | undefined;
|
|
15
|
+
n?: string | undefined;
|
|
16
|
+
e?: string | undefined;
|
|
17
|
+
crv?: string | undefined;
|
|
18
|
+
x?: string | undefined;
|
|
19
|
+
y?: string | undefined;
|
|
20
|
+
x5t?: string | undefined;
|
|
21
|
+
x5c?: string[] | undefined;
|
|
22
|
+
}[]>;
|
|
23
|
+
/**
|
|
24
|
+
* JWKS for publication on a tenant's `/.well-known/jwks.json`. Honors the
|
|
25
|
+
* configured `signingKeyMode` and, in `"tenant"` mode, returns the union of
|
|
26
|
+
* the tenant's keys and the control-plane fallback so tokens signed by either
|
|
27
|
+
* still verify during the per-tenant key rollout.
|
|
28
|
+
*/
|
|
29
|
+
export declare function getJwksForPublication(data: DataAdapters, tenantId: string, modeOption: SigningKeyModeOption | undefined): Promise<{
|
|
30
|
+
alg: "RS256" | "RS384" | "RS512" | "ES256" | "ES384" | "ES512" | "HS256" | "HS384" | "HS512";
|
|
31
|
+
kid: string;
|
|
32
|
+
kty: "EC" | "RSA" | "oct";
|
|
33
|
+
use?: "sig" | "enc" | undefined;
|
|
34
|
+
n?: string | undefined;
|
|
35
|
+
e?: string | undefined;
|
|
36
|
+
crv?: string | undefined;
|
|
37
|
+
x?: string | undefined;
|
|
38
|
+
y?: string | undefined;
|
|
39
|
+
x5t?: string | undefined;
|
|
40
|
+
x5c?: string[] | undefined;
|
|
41
|
+
}[]>;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { Context } from "hono";
|
|
2
|
+
export interface JwtPayload {
|
|
3
|
+
sub: string;
|
|
4
|
+
iss: string;
|
|
5
|
+
aud: string | string[];
|
|
6
|
+
iat: number;
|
|
7
|
+
exp: number;
|
|
8
|
+
scope: string;
|
|
9
|
+
permissions?: string[];
|
|
10
|
+
azp?: string;
|
|
11
|
+
tenant_id?: string;
|
|
12
|
+
org_id?: string;
|
|
13
|
+
org_name?: string;
|
|
14
|
+
}
|
|
15
|
+
export declare function validateJwtToken(ctx: Context, token: string): Promise<JwtPayload>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export default function generateOTP(): string;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
export declare const REFRESH_TOKEN_PREFIX = "rt_";
|
|
2
|
+
export declare const LOOKUP_BYTES = 7;
|
|
3
|
+
export declare const SECRET_BYTES = 32;
|
|
4
|
+
export declare const LEGACY_CUTOFF: Date;
|
|
5
|
+
export type ParsedRefreshToken = {
|
|
6
|
+
kind: "new";
|
|
7
|
+
lookup: string;
|
|
8
|
+
secret: string;
|
|
9
|
+
} | {
|
|
10
|
+
kind: "legacy";
|
|
11
|
+
id: string;
|
|
12
|
+
};
|
|
13
|
+
export declare function generateRefreshTokenParts(): {
|
|
14
|
+
lookup: string;
|
|
15
|
+
secret: string;
|
|
16
|
+
};
|
|
17
|
+
export declare function hashRefreshTokenSecret(secret: string): Promise<string>;
|
|
18
|
+
export declare function formatRefreshToken(lookup: string, secret: string): string;
|
|
19
|
+
export declare function parseRefreshToken(token: string): ParsedRefreshToken;
|
|
20
|
+
export declare function isLegacyRefreshTokenAccepted(now?: Date): boolean;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function safeCompare(a?: string, b?: string): boolean;
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
export interface SsrfFetchOptions {
|
|
2
|
+
/** Max bytes to read from the response body. Defaults to 64 KiB. */
|
|
3
|
+
maxBytes?: number;
|
|
4
|
+
/** Request timeout in ms. Defaults to 5000ms. */
|
|
5
|
+
timeoutMs?: number;
|
|
6
|
+
/** Allowed schemes. Defaults to ["https:"]. Set to ["http:", "https:"] for tests. */
|
|
7
|
+
allowedSchemes?: string[];
|
|
8
|
+
/**
|
|
9
|
+
* When true, hostnames resolving to private/loopback ranges (and
|
|
10
|
+
* `localhost`) are allowed. Intended for tests only.
|
|
11
|
+
*/
|
|
12
|
+
allowPrivateHosts?: boolean;
|
|
13
|
+
}
|
|
14
|
+
export declare class SsrfBlockedError extends Error {
|
|
15
|
+
constructor(reason: string);
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Inspect a URL string and throw {@link SsrfBlockedError} if its literal
|
|
19
|
+
* hostname is an IP address in a blocked range (see {@link isBlockedIPv4},
|
|
20
|
+
* {@link isBlockedIPv6}) or a known loopback/broadcast hostname (see
|
|
21
|
+
* {@link BLOCKED_HOSTNAMES}).
|
|
22
|
+
*
|
|
23
|
+
* IMPORTANT: this function does NOT perform DNS resolution. A public-looking
|
|
24
|
+
* hostname whose A/AAAA records point to a private/loopback/metadata IP will
|
|
25
|
+
* pass this check and only be rejected later (or not at all) by the underlying
|
|
26
|
+
* fetch. Production deployments that need full SSRF protection must add either:
|
|
27
|
+
* - egress controls (firewall / network policy blocking RFC1918 + 169.254 +
|
|
28
|
+
* fc00::/7 + fe80::/10 from the auth server), or
|
|
29
|
+
* - a server-side DNS check that resolves the host with `dns.lookup` and
|
|
30
|
+
* re-runs {@link isBlockedIPv4}/{@link isBlockedIPv6} on each address (or
|
|
31
|
+
* connect by resolved IP while passing the original Host header).
|
|
32
|
+
*/
|
|
33
|
+
export declare function assertSsrfSafeUrl(rawUrl: string, opts?: SsrfFetchOptions): URL;
|
|
34
|
+
/**
|
|
35
|
+
* Fetch a URL with SSRF protection: blocks private/loopback/link-local
|
|
36
|
+
* targets, requires https by default, applies a strict timeout, and caps the
|
|
37
|
+
* response body. Intended for fetching client-published artifacts (jwks_uri,
|
|
38
|
+
* request_uri) where the URL comes from untrusted client metadata.
|
|
39
|
+
*/
|
|
40
|
+
export declare function ssrfSafeFetch(rawUrl: string, opts?: SsrfFetchOptions): Promise<{
|
|
41
|
+
status: number;
|
|
42
|
+
body: string;
|
|
43
|
+
contentType: string | null;
|
|
44
|
+
}>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function ulid(): string;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export declare function setSearchParams(url: URL, params: {
|
|
2
|
+
[key: string]: string | undefined | null;
|
|
3
|
+
}): void;
|
|
4
|
+
/**
|
|
5
|
+
* Redacts sensitive data from a URL for logging purposes.
|
|
6
|
+
* Shows parameter names but redacts their values to aid troubleshooting
|
|
7
|
+
* while protecting PII, tokens, and other sensitive information.
|
|
8
|
+
*
|
|
9
|
+
* @param url - The URL to redact (can be a string or URL object)
|
|
10
|
+
* @returns The redacted URL with parameter names visible but values hidden
|
|
11
|
+
*
|
|
12
|
+
* @example
|
|
13
|
+
* redactUrlForLogging("https://example.com/path?token=secret&code=abc#id_token=jwt")
|
|
14
|
+
* // Returns: "https://example.com/path?token=[REDACTED]&code=[REDACTED]#[REDACTED]"
|
|
15
|
+
*/
|
|
16
|
+
export declare function redactUrlForLogging(url: string | URL): string;
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { User } from "@authhero/adapter-interfaces";
|
|
2
|
+
import { Context } from "hono";
|
|
3
|
+
import { Bindings, Variables } from "../types";
|
|
4
|
+
import { EnrichedClient } from "../helpers/client";
|
|
5
|
+
/**
|
|
6
|
+
* TRANSITIONAL helpers for the auth2 → auth0 provider migration.
|
|
7
|
+
*
|
|
8
|
+
* Historically every native database user has been stored with
|
|
9
|
+
* `provider = "auth2"` and `user_id = "auth2|<id>"`. We're moving onto the
|
|
10
|
+
* `"auth0"` provider value, one tenant at a time, by setting
|
|
11
|
+
* `init({ usernamePasswordProvider })` to return `"auth0"` for the
|
|
12
|
+
* migrated tenants.
|
|
13
|
+
*
|
|
14
|
+
* Two surfaces are exposed:
|
|
15
|
+
*
|
|
16
|
+
* - {@link resolveUsernamePasswordProvider} — used at WRITE sites to pick
|
|
17
|
+
* the value to stamp on a new row. Defaults to `"auth2"`.
|
|
18
|
+
* - {@link isUsernamePasswordProvider} / {@link getUsernamePasswordUser} /
|
|
19
|
+
* {@link getPrimaryUsernamePasswordUser} — used at READ sites to match
|
|
20
|
+
* existing rows under EITHER value, so a tenant can have a mix of
|
|
21
|
+
* `auth2|*` and `auth0|*` rows during/after the cutover.
|
|
22
|
+
*
|
|
23
|
+
* Once every tenant has been backfilled to a single provider value, this
|
|
24
|
+
* module and its callers can be deleted in favour of a plain constant.
|
|
25
|
+
*/
|
|
26
|
+
declare const LEGACY_PROVIDER = "auth2";
|
|
27
|
+
declare const TARGET_PROVIDER = "auth0";
|
|
28
|
+
export type UsernamePasswordProviderValue = typeof LEGACY_PROVIDER | typeof TARGET_PROVIDER;
|
|
29
|
+
export declare function resolveUsernamePasswordProvider(env: Bindings, tenant_id: string): Promise<UsernamePasswordProviderValue>;
|
|
30
|
+
export declare function isUsernamePasswordProvider(provider: string | undefined | null): boolean;
|
|
31
|
+
interface DualReadParams {
|
|
32
|
+
env: Bindings;
|
|
33
|
+
tenant_id: string;
|
|
34
|
+
username: string;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Look up a native database user, accepting either provider value.
|
|
38
|
+
*
|
|
39
|
+
* ALWAYS tries `"auth2"` first, then `"auth0"`, regardless of the tenant's
|
|
40
|
+
* configured write value. The `auth2` row is the one carrying the bcrypt
|
|
41
|
+
* password legacy users have been logging in with — if both rows happen
|
|
42
|
+
* to coexist for the same identifier (partial backfill, Auth0 import,
|
|
43
|
+
* etc.) we want login to keep using the `auth2` row so credentials
|
|
44
|
+
* continue to work. The migration script merges the duplicates.
|
|
45
|
+
*/
|
|
46
|
+
export declare function getUsernamePasswordUser({ env, tenant_id, username, }: DualReadParams): Promise<User | null>;
|
|
47
|
+
/**
|
|
48
|
+
* Same as {@link getUsernamePasswordUser} but resolves to the primary user
|
|
49
|
+
* if a linked secondary is matched. Same `auth2`-first ordering.
|
|
50
|
+
*/
|
|
51
|
+
export declare function getPrimaryUsernamePasswordUser({ env, tenant_id, username, }: DualReadParams): Promise<User | null>;
|
|
52
|
+
/**
|
|
53
|
+
* Find-or-create wrapper that first looks for an existing native database
|
|
54
|
+
* user under EITHER provider value, and only creates a new row (under the
|
|
55
|
+
* configured provider) if none exists. Prevents duplicating an existing
|
|
56
|
+
* `auth2|*` user when the tenant is migrated to `"auth0"`.
|
|
57
|
+
*/
|
|
58
|
+
export declare function getOrCreateUsernamePasswordUser(ctx: Context<{
|
|
59
|
+
Bindings: Bindings;
|
|
60
|
+
Variables: Variables;
|
|
61
|
+
}>, params: {
|
|
62
|
+
client: EnrichedClient;
|
|
63
|
+
username: string;
|
|
64
|
+
connection: string;
|
|
65
|
+
ip?: string;
|
|
66
|
+
}): Promise<User>;
|
|
67
|
+
export {};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { CountryCode } from "libphonenumber-js";
|
|
2
|
+
type ConnectionType = "email" | "sms" | "username";
|
|
3
|
+
interface NormalizedResult {
|
|
4
|
+
connectionType: ConnectionType;
|
|
5
|
+
normalized: string | null;
|
|
6
|
+
isValid: boolean;
|
|
7
|
+
/** The provider to use for user lookup. For email, this is "email" but password users use the username-password provider */
|
|
8
|
+
provider: string;
|
|
9
|
+
}
|
|
10
|
+
export declare function getConnectionFromIdentifier(input: string, defaultCountry?: CountryCode): NormalizedResult;
|
|
11
|
+
export {};
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { Bindings } from "./types";
|
|
2
|
+
export declare function getIssuer(env: Bindings, customDomain?: string): string;
|
|
3
|
+
export declare function getUniversalLoginUrl(env: Bindings, customDomain?: string): string;
|
|
4
|
+
export declare function getAuthUrl(env: Bindings, customDomain?: string): string;
|
package/package.json
CHANGED
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
"type": "git",
|
|
12
12
|
"url": "https://github.com/markusahlstrand/authhero"
|
|
13
13
|
},
|
|
14
|
-
"version": "5.
|
|
14
|
+
"version": "5.9.1",
|
|
15
15
|
"files": [
|
|
16
16
|
"dist"
|
|
17
17
|
],
|
|
@@ -32,10 +32,9 @@
|
|
|
32
32
|
"devDependencies": {
|
|
33
33
|
"@ape-egg/tailwind-rows-columns": "^1.0.2",
|
|
34
34
|
"@hono/node-server": "^1.19.14",
|
|
35
|
+
"@hono/zod-openapi": "^1.4.0",
|
|
35
36
|
"@react-email/components": "^1.0.12",
|
|
36
37
|
"@react-email/render": "^2.0.6",
|
|
37
|
-
"tsx": "^4.21.0",
|
|
38
|
-
"@hono/zod-openapi": "^0.19.10",
|
|
39
38
|
"@storybook/react": "^10.0.4",
|
|
40
39
|
"@storybook/react-vite": "^10.0.4",
|
|
41
40
|
"@types/node": "^24.10.0",
|
|
@@ -47,7 +46,6 @@
|
|
|
47
46
|
"better-sqlite3": "^12.4.1",
|
|
48
47
|
"cssnano": "7.1.2",
|
|
49
48
|
"detectincognitojs": "^1.6.2",
|
|
50
|
-
"dts-bundle-generator": "^9.5.1",
|
|
51
49
|
"fast-xml-parser": "^5.3.1",
|
|
52
50
|
"hono": "^4.10.4",
|
|
53
51
|
"i18nexus-cli": "^3.8.2",
|
|
@@ -55,15 +53,17 @@
|
|
|
55
53
|
"postcss": "8.5.6",
|
|
56
54
|
"react": "^19.2.0",
|
|
57
55
|
"react-dom": "^19.2.0",
|
|
56
|
+
"rollup-plugin-dts": "^6.4.1",
|
|
58
57
|
"rollup-plugin-visualizer": "^6.0.5",
|
|
59
58
|
"storybook": "^10.0.4",
|
|
60
59
|
"tailwindcss": "3.4.18",
|
|
60
|
+
"tsx": "^4.21.0",
|
|
61
61
|
"typescript": "^5.9.3",
|
|
62
62
|
"vite": "^7.2.0",
|
|
63
63
|
"vite-plugin-dts": "^4.5.4",
|
|
64
64
|
"vitest": "^4.0.7",
|
|
65
|
-
"@authhero/kysely-adapter": "11.
|
|
66
|
-
"@authhero/widget": "0.32.
|
|
65
|
+
"@authhero/kysely-adapter": "11.3.0",
|
|
66
|
+
"@authhero/widget": "0.32.27"
|
|
67
67
|
},
|
|
68
68
|
"dependencies": {
|
|
69
69
|
"@peculiar/x509": "^1.14.0",
|
|
@@ -74,19 +74,19 @@
|
|
|
74
74
|
"cookie": "^1.1.1",
|
|
75
75
|
"country-list": "^2.4.1",
|
|
76
76
|
"i18next": "^25.6.0",
|
|
77
|
-
"liquidjs": "^10.21.0",
|
|
78
77
|
"libphonenumber-js": "^1.12.25",
|
|
78
|
+
"liquidjs": "^10.21.0",
|
|
79
79
|
"nanoid": "^5.1.6",
|
|
80
80
|
"oslo": "^1.2.1",
|
|
81
81
|
"qrcode": "^1.5.4",
|
|
82
82
|
"sanitize-html": "^2.17.0",
|
|
83
83
|
"xstate": "^5.25.0",
|
|
84
|
-
"@authhero/
|
|
85
|
-
"@authhero/
|
|
84
|
+
"@authhero/adapter-interfaces": "2.6.0",
|
|
85
|
+
"@authhero/saml": "0.4.0"
|
|
86
86
|
},
|
|
87
87
|
"peerDependencies": {
|
|
88
88
|
"@authhero/widget": "^0.1.0",
|
|
89
|
-
"@hono/zod-openapi": "^
|
|
89
|
+
"@hono/zod-openapi": "^1.4.0",
|
|
90
90
|
"hono": "^4.8.7",
|
|
91
91
|
"ua-parser-js": "^2.0.0"
|
|
92
92
|
},
|
|
@@ -103,7 +103,7 @@
|
|
|
103
103
|
},
|
|
104
104
|
"scripts": {
|
|
105
105
|
"dev": "bun --watch src/bun.ts",
|
|
106
|
-
"build": "
|
|
106
|
+
"build": "pnpm build:i18n && pnpm build:emails && pnpm build:tailwind && pnpm build:client && tsc -p tsconfig.types.json && vite build && rollup -c rollup.dts.config.mjs && pnpm build:assets",
|
|
107
107
|
"build:i18n": "node scripts/generate-locale-types.js",
|
|
108
108
|
"build:emails": "tsx scripts/build-emails.tsx",
|
|
109
109
|
"build:tailwind": "node build-tailwind.js",
|