authhero 5.8.1 → 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 +17622 -72311
- package/dist/authhero.mjs +5587 -5593
- 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,173 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* U2 Universal Login - Client-side widget routes
|
|
3
|
+
*
|
|
4
|
+
* This module creates the u2 app which provides a client-side widget-based
|
|
5
|
+
* universal login experience. It's meant to run in parallel with /u/ routes
|
|
6
|
+
* and will eventually replace them.
|
|
7
|
+
*
|
|
8
|
+
* Routes:
|
|
9
|
+
* - /u2/screen/:screenId - Screen API (GET/POST)
|
|
10
|
+
* - /u2/login/identifier - Identifier screen
|
|
11
|
+
* - /u2/login/email-otp-challenge - Email OTP code verification
|
|
12
|
+
* - /u2/login/sms-otp-challenge - SMS OTP code verification
|
|
13
|
+
* - /u2/enter-password - Password authentication
|
|
14
|
+
* - /u2/signup - New user registration
|
|
15
|
+
* - /u2/reset-password/request - Password reset request
|
|
16
|
+
* - /u2/reset-password - Set new password
|
|
17
|
+
*/
|
|
18
|
+
import { OpenAPIHono } from "@hono/zod-openapi";
|
|
19
|
+
import { AuthHeroConfig, Bindings, Variables } from "../../types";
|
|
20
|
+
export default function createU2App(config: AuthHeroConfig): OpenAPIHono<{
|
|
21
|
+
Bindings: Bindings;
|
|
22
|
+
Variables: Variables;
|
|
23
|
+
}, import("hono/types").MergeSchemaPath<{
|
|
24
|
+
[x: string]: {
|
|
25
|
+
$get: {
|
|
26
|
+
input: {
|
|
27
|
+
query: {
|
|
28
|
+
state: string;
|
|
29
|
+
error?: string | undefined;
|
|
30
|
+
error_description?: string | undefined;
|
|
31
|
+
ui_locales?: string | undefined;
|
|
32
|
+
};
|
|
33
|
+
};
|
|
34
|
+
output: Response;
|
|
35
|
+
outputFormat: "json";
|
|
36
|
+
status: import("hono/utils/http-status").StatusCode;
|
|
37
|
+
};
|
|
38
|
+
};
|
|
39
|
+
} & {
|
|
40
|
+
[x: string]: {
|
|
41
|
+
$post: {
|
|
42
|
+
input: {
|
|
43
|
+
query: {
|
|
44
|
+
state: string;
|
|
45
|
+
error?: string | undefined;
|
|
46
|
+
error_description?: string | undefined;
|
|
47
|
+
ui_locales?: string | undefined;
|
|
48
|
+
};
|
|
49
|
+
} & {
|
|
50
|
+
form: Record<string, string>;
|
|
51
|
+
};
|
|
52
|
+
output: Response;
|
|
53
|
+
outputFormat: "json";
|
|
54
|
+
status: import("hono/utils/http-status").StatusCode;
|
|
55
|
+
} | {
|
|
56
|
+
input: {
|
|
57
|
+
query: {
|
|
58
|
+
state: string;
|
|
59
|
+
error?: string | undefined;
|
|
60
|
+
error_description?: string | undefined;
|
|
61
|
+
ui_locales?: string | undefined;
|
|
62
|
+
};
|
|
63
|
+
} & {
|
|
64
|
+
form: Record<string, string>;
|
|
65
|
+
};
|
|
66
|
+
output: {};
|
|
67
|
+
outputFormat: string;
|
|
68
|
+
status: 302;
|
|
69
|
+
};
|
|
70
|
+
};
|
|
71
|
+
} & {
|
|
72
|
+
"/guardian/enroll": {
|
|
73
|
+
$get: {
|
|
74
|
+
input: {
|
|
75
|
+
query: {
|
|
76
|
+
ticket: string;
|
|
77
|
+
};
|
|
78
|
+
};
|
|
79
|
+
output: Response;
|
|
80
|
+
outputFormat: "json";
|
|
81
|
+
status: import("hono/utils/http-status").StatusCode;
|
|
82
|
+
} | {
|
|
83
|
+
input: {
|
|
84
|
+
query: {
|
|
85
|
+
ticket: string;
|
|
86
|
+
};
|
|
87
|
+
};
|
|
88
|
+
output: {};
|
|
89
|
+
outputFormat: string;
|
|
90
|
+
status: 302;
|
|
91
|
+
};
|
|
92
|
+
};
|
|
93
|
+
}, "/"> & import("hono/types").MergeSchemaPath<{
|
|
94
|
+
"/:formId/nodes/:nodeId": {
|
|
95
|
+
$get: {
|
|
96
|
+
input: {
|
|
97
|
+
param: {
|
|
98
|
+
formId: string;
|
|
99
|
+
nodeId: string;
|
|
100
|
+
};
|
|
101
|
+
} & {
|
|
102
|
+
query: {
|
|
103
|
+
state: string;
|
|
104
|
+
};
|
|
105
|
+
};
|
|
106
|
+
output: {};
|
|
107
|
+
outputFormat: string;
|
|
108
|
+
status: 200;
|
|
109
|
+
} | {
|
|
110
|
+
input: {
|
|
111
|
+
param: {
|
|
112
|
+
formId: string;
|
|
113
|
+
nodeId: string;
|
|
114
|
+
};
|
|
115
|
+
} & {
|
|
116
|
+
query: {
|
|
117
|
+
state: string;
|
|
118
|
+
};
|
|
119
|
+
};
|
|
120
|
+
output: {};
|
|
121
|
+
outputFormat: string;
|
|
122
|
+
status: 404;
|
|
123
|
+
};
|
|
124
|
+
};
|
|
125
|
+
} & {
|
|
126
|
+
"/:formId/nodes/:nodeId": {
|
|
127
|
+
$post: {
|
|
128
|
+
input: {
|
|
129
|
+
param: {
|
|
130
|
+
formId: string;
|
|
131
|
+
nodeId: string;
|
|
132
|
+
};
|
|
133
|
+
} & {
|
|
134
|
+
query: {
|
|
135
|
+
state: string;
|
|
136
|
+
};
|
|
137
|
+
} & {
|
|
138
|
+
json: {
|
|
139
|
+
data: Record<string, any>;
|
|
140
|
+
};
|
|
141
|
+
};
|
|
142
|
+
output: {};
|
|
143
|
+
outputFormat: string;
|
|
144
|
+
status: 404;
|
|
145
|
+
} | {
|
|
146
|
+
input: {
|
|
147
|
+
param: {
|
|
148
|
+
formId: string;
|
|
149
|
+
nodeId: string;
|
|
150
|
+
};
|
|
151
|
+
} & {
|
|
152
|
+
query: {
|
|
153
|
+
state: string;
|
|
154
|
+
};
|
|
155
|
+
} & {
|
|
156
|
+
json: {
|
|
157
|
+
data: Record<string, any>;
|
|
158
|
+
};
|
|
159
|
+
};
|
|
160
|
+
output: {
|
|
161
|
+
screen: any;
|
|
162
|
+
branding: any;
|
|
163
|
+
} | {
|
|
164
|
+
redirect: string;
|
|
165
|
+
};
|
|
166
|
+
outputFormat: "json";
|
|
167
|
+
status: 200;
|
|
168
|
+
};
|
|
169
|
+
};
|
|
170
|
+
}, "/forms"> & import("hono/types").MergeSchemaPath<{}, "/screen">, "/">;
|
|
171
|
+
export { screenApiRoutes } from "./screen-api";
|
|
172
|
+
export { u2Routes } from "./u2-routes.tsx";
|
|
173
|
+
export { u2FormNodeRoutes } from "./u2-form-node.tsx";
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* U2 Routes - Universal login with SSR + hydration + client-side navigation
|
|
3
|
+
*
|
|
4
|
+
* These routes serve HTML pages with server-side rendered authhero-widget
|
|
5
|
+
* that hydrates on the client for interactivity and client-side navigation.
|
|
6
|
+
*
|
|
7
|
+
* Routes:
|
|
8
|
+
* - GET /u2/login/identifier - Identifier screen (first screen of login flow)
|
|
9
|
+
* - GET /u2/login/email-otp-challenge - Email OTP code verification
|
|
10
|
+
* - GET /u2/login/sms-otp-challenge - SMS OTP code verification
|
|
11
|
+
* - GET /u2/enter-password - Password authentication
|
|
12
|
+
* - GET /u2/signup - New user registration
|
|
13
|
+
* - GET /u2/reset-password/request - Password reset request
|
|
14
|
+
* - GET /u2/reset-password - Set new password
|
|
15
|
+
* - GET /u2/impersonate - User impersonation
|
|
16
|
+
*
|
|
17
|
+
* Each route:
|
|
18
|
+
* 1. Fetches screen data server-side
|
|
19
|
+
* 2. Server-side renders the widget with declarative shadow DOM
|
|
20
|
+
* 3. Hydrates on client for interactivity
|
|
21
|
+
* 4. Supports client-side navigation between screens
|
|
22
|
+
*/
|
|
23
|
+
import { OpenAPIHono } from "@hono/zod-openapi";
|
|
24
|
+
import { Bindings, Variables } from "../../types";
|
|
25
|
+
export declare const u2Routes: OpenAPIHono<{
|
|
26
|
+
Bindings: Bindings;
|
|
27
|
+
Variables: Variables;
|
|
28
|
+
}, {
|
|
29
|
+
[x: string]: {
|
|
30
|
+
$get: {
|
|
31
|
+
input: {
|
|
32
|
+
query: {
|
|
33
|
+
state: string;
|
|
34
|
+
error?: string | undefined;
|
|
35
|
+
error_description?: string | undefined;
|
|
36
|
+
ui_locales?: string | undefined;
|
|
37
|
+
};
|
|
38
|
+
};
|
|
39
|
+
output: Response;
|
|
40
|
+
outputFormat: "json";
|
|
41
|
+
status: import("hono/utils/http-status").StatusCode;
|
|
42
|
+
};
|
|
43
|
+
};
|
|
44
|
+
} & {
|
|
45
|
+
[x: string]: {
|
|
46
|
+
$post: {
|
|
47
|
+
input: {
|
|
48
|
+
query: {
|
|
49
|
+
state: string;
|
|
50
|
+
error?: string | undefined;
|
|
51
|
+
error_description?: string | undefined;
|
|
52
|
+
ui_locales?: string | undefined;
|
|
53
|
+
};
|
|
54
|
+
} & {
|
|
55
|
+
form: Record<string, string>;
|
|
56
|
+
};
|
|
57
|
+
output: Response;
|
|
58
|
+
outputFormat: "json";
|
|
59
|
+
status: import("hono/utils/http-status").StatusCode;
|
|
60
|
+
} | {
|
|
61
|
+
input: {
|
|
62
|
+
query: {
|
|
63
|
+
state: string;
|
|
64
|
+
error?: string | undefined;
|
|
65
|
+
error_description?: string | undefined;
|
|
66
|
+
ui_locales?: string | undefined;
|
|
67
|
+
};
|
|
68
|
+
} & {
|
|
69
|
+
form: Record<string, string>;
|
|
70
|
+
};
|
|
71
|
+
output: {};
|
|
72
|
+
outputFormat: string;
|
|
73
|
+
status: 302;
|
|
74
|
+
};
|
|
75
|
+
};
|
|
76
|
+
} & {
|
|
77
|
+
"/guardian/enroll": {
|
|
78
|
+
$get: {
|
|
79
|
+
input: {
|
|
80
|
+
query: {
|
|
81
|
+
ticket: string;
|
|
82
|
+
};
|
|
83
|
+
};
|
|
84
|
+
output: Response;
|
|
85
|
+
outputFormat: "json";
|
|
86
|
+
status: import("hono/utils/http-status").StatusCode;
|
|
87
|
+
} | {
|
|
88
|
+
input: {
|
|
89
|
+
query: {
|
|
90
|
+
ticket: string;
|
|
91
|
+
};
|
|
92
|
+
};
|
|
93
|
+
output: {};
|
|
94
|
+
outputFormat: string;
|
|
95
|
+
status: 302;
|
|
96
|
+
};
|
|
97
|
+
};
|
|
98
|
+
}, "/">;
|
|
@@ -0,0 +1,187 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared widget page rendering for U2 routes.
|
|
3
|
+
*
|
|
4
|
+
* v3 — Logo inside widget by default + adaptive chip chrome.
|
|
5
|
+
*
|
|
6
|
+
* Changes vs. v2:
|
|
7
|
+
* - Logo renders INSIDE the widget card by default (Auth0-style). The
|
|
8
|
+
* widget's own shadow DOM emits the logo from `branding.logo_url`, so
|
|
9
|
+
* the page doesn't add an outer-container duplicate. Set
|
|
10
|
+
* `logoPosition="chip"` to render the floating-chip variant instead.
|
|
11
|
+
* - Chips adapt to dark/light page mode (translucent dark vs. translucent
|
|
12
|
+
* white). Tokens are CSS variables flipped via a `data-mode` attribute,
|
|
13
|
+
* so a single ruleset handles both directions.
|
|
14
|
+
* - When there's no background image, chips drop their pill surface and
|
|
15
|
+
* render as plain text (matches a clean solid-bg layout).
|
|
16
|
+
* - Privacy/Terms is now a real chip in the with-image case so it doesn't
|
|
17
|
+
* float as orphan text.
|
|
18
|
+
*
|
|
19
|
+
* ┌─────────────────────────────────────┐
|
|
20
|
+
* │ [logo*] [settings] │ *only when logoPosition=chip
|
|
21
|
+
* │ │
|
|
22
|
+
* │ ┌──────────┐ │
|
|
23
|
+
* │ │ [logo] │ │ <- widget's own header (default)
|
|
24
|
+
* │ │ widget │ │
|
|
25
|
+
* │ └──────────┘ │
|
|
26
|
+
* │ │
|
|
27
|
+
* │ [trust] [legal] │
|
|
28
|
+
* └─────────────────────────────────────┘
|
|
29
|
+
*
|
|
30
|
+
* Slot story (forward-looking): the chips carry `data-ah-slot` attrs so a
|
|
31
|
+
* future Liquid template can reposition any element via `{% slot %}` tags.
|
|
32
|
+
* `logoPosition` is the prop-level shortcut for the most common override.
|
|
33
|
+
*/
|
|
34
|
+
import type { Branding, Theme } from "@authhero/adapter-interfaces";
|
|
35
|
+
export type DarkModePreference = "auto" | "light" | "dark";
|
|
36
|
+
export type LogoPosition = "widget" | "chip" | "none";
|
|
37
|
+
/**
|
|
38
|
+
* Resolve the dark-mode preference for the current request.
|
|
39
|
+
*
|
|
40
|
+
* Priority: per-user `ah-dark-mode` cookie > tenant `branding.dark_mode` > "auto".
|
|
41
|
+
* The cookie lets a user override the tenant default for the rest of their session.
|
|
42
|
+
*/
|
|
43
|
+
export declare function resolveDarkMode(ctx: any, branding: Branding | null | undefined): DarkModePreference;
|
|
44
|
+
export type WidgetPageProps = {
|
|
45
|
+
widgetHtml: string;
|
|
46
|
+
screenId: string;
|
|
47
|
+
branding?: {
|
|
48
|
+
colors?: {
|
|
49
|
+
primary?: string;
|
|
50
|
+
page_background?: string | {
|
|
51
|
+
type?: string;
|
|
52
|
+
start?: string;
|
|
53
|
+
end?: string;
|
|
54
|
+
angle_deg?: number;
|
|
55
|
+
};
|
|
56
|
+
};
|
|
57
|
+
logo_url?: string;
|
|
58
|
+
favicon_url?: string;
|
|
59
|
+
font?: {
|
|
60
|
+
url?: string;
|
|
61
|
+
};
|
|
62
|
+
};
|
|
63
|
+
theme?: any;
|
|
64
|
+
themePageBackground?: {
|
|
65
|
+
background_color?: string;
|
|
66
|
+
background_image_url?: string;
|
|
67
|
+
page_layout?: string;
|
|
68
|
+
};
|
|
69
|
+
clientName: string;
|
|
70
|
+
poweredByLogo?: {
|
|
71
|
+
url: string;
|
|
72
|
+
darkUrl?: string;
|
|
73
|
+
alt: string;
|
|
74
|
+
href?: string;
|
|
75
|
+
height?: number;
|
|
76
|
+
};
|
|
77
|
+
language?: string;
|
|
78
|
+
availableLanguages?: string[];
|
|
79
|
+
termsAndConditionsUrl?: string;
|
|
80
|
+
darkMode?: DarkModePreference;
|
|
81
|
+
/**
|
|
82
|
+
* Where to render the tenant logo on the page.
|
|
83
|
+
* - "widget" (default): inside the widget card, via the widget's own header.
|
|
84
|
+
* - "chip": floating pill in the top-left page corner. The widget's
|
|
85
|
+
* internal logo should also be suppressed in this mode (callers use
|
|
86
|
+
* `derivePageLogoPlacement` to clone the theme accordingly before SSR).
|
|
87
|
+
* - "none": no logo on the page or in the widget.
|
|
88
|
+
*
|
|
89
|
+
* If not provided, defaults to `theme.page_background.logo_placement`,
|
|
90
|
+
* falling back to "widget".
|
|
91
|
+
*/
|
|
92
|
+
logoPosition?: LogoPosition;
|
|
93
|
+
/** Optional inline script injected at page level (e.g. WebAuthn ceremony) */
|
|
94
|
+
extraScript?: string;
|
|
95
|
+
/**
|
|
96
|
+
* When set, replaces the default body content (widget + chips) with a
|
|
97
|
+
* pre-expanded HTML fragment. Used by the universal-login custom-template
|
|
98
|
+
* path: the tenant's template is run through `applyUniversalLoginTemplate`
|
|
99
|
+
* and the resulting body markup is injected here, while the page shell
|
|
100
|
+
* (html/head, dark-mode runtime, background tint, body styling) is still
|
|
101
|
+
* managed by this component.
|
|
102
|
+
*/
|
|
103
|
+
customBodyHtml?: string;
|
|
104
|
+
};
|
|
105
|
+
export declare function LogoChip({ logoUrl, clientName, }: {
|
|
106
|
+
logoUrl?: string | null;
|
|
107
|
+
clientName: string;
|
|
108
|
+
}): import("hono/jsx/jsx-dev-runtime").JSX.Element;
|
|
109
|
+
export declare function DarkModeToggle({ darkMode }: {
|
|
110
|
+
darkMode: DarkModePreference;
|
|
111
|
+
}): import("hono/jsx/jsx-dev-runtime").JSX.Element;
|
|
112
|
+
export declare function LanguagePicker({ language, availableLanguages, }: {
|
|
113
|
+
language?: string;
|
|
114
|
+
availableLanguages: string[];
|
|
115
|
+
}): import("hono/jsx/jsx-dev-runtime").JSX.Element | null;
|
|
116
|
+
export declare function SettingsChip({ darkMode, language, availableLanguages, }: {
|
|
117
|
+
darkMode: DarkModePreference;
|
|
118
|
+
language?: string;
|
|
119
|
+
availableLanguages?: string[];
|
|
120
|
+
}): import("hono/jsx/jsx-dev-runtime").JSX.Element;
|
|
121
|
+
export declare function PoweredByChip({ url, href, alt, height, }: {
|
|
122
|
+
url: string;
|
|
123
|
+
href?: string;
|
|
124
|
+
alt?: string;
|
|
125
|
+
height?: number;
|
|
126
|
+
}): import("hono/jsx/jsx-dev-runtime").JSX.Element | null;
|
|
127
|
+
export declare function LegalChip({ termsAndConditionsUrl, language, }: {
|
|
128
|
+
termsAndConditionsUrl?: string;
|
|
129
|
+
language?: string;
|
|
130
|
+
}): import("hono/jsx/jsx-dev-runtime").JSX.Element | null;
|
|
131
|
+
export declare function WidgetPage({ widgetHtml, screenId, branding, theme, themePageBackground, clientName, poweredByLogo, language, availableLanguages, termsAndConditionsUrl, darkMode, logoPosition, extraScript, customBodyHtml, }: WidgetPageProps): import("hono/jsx/jsx-dev-runtime").JSX.Element;
|
|
132
|
+
/**
|
|
133
|
+
* Reads `theme.page_background.logo_placement` and returns the resolved
|
|
134
|
+
* page-level `logoPosition` plus a theme variant suitable for passing to
|
|
135
|
+
* the widget SSR. When placement is "chip" or "none" we override
|
|
136
|
+
* `theme.widget.logo_position = "none"` so the widget's internal header
|
|
137
|
+
* logo is suppressed — otherwise we'd render a duplicate (chip + widget
|
|
138
|
+
* header) or a logo when the caller asked for none.
|
|
139
|
+
*
|
|
140
|
+
* Callers should pass the returned `theme` to `JSON.stringify` for the
|
|
141
|
+
* widget's `theme` attribute, and forward `logoPosition` to `WidgetPage`.
|
|
142
|
+
*/
|
|
143
|
+
export declare function derivePageLogoPlacement<T extends {
|
|
144
|
+
page_background?: {
|
|
145
|
+
logo_placement?: LogoPosition;
|
|
146
|
+
};
|
|
147
|
+
widget?: {
|
|
148
|
+
logo_position?: string;
|
|
149
|
+
};
|
|
150
|
+
} | null | undefined>(theme: T): {
|
|
151
|
+
logoPosition: LogoPosition;
|
|
152
|
+
theme: T;
|
|
153
|
+
};
|
|
154
|
+
export declare function renderWidgetSSR(params: {
|
|
155
|
+
screenId: string;
|
|
156
|
+
screenJson: string;
|
|
157
|
+
brandingJson?: string;
|
|
158
|
+
themeJson?: string;
|
|
159
|
+
state: string;
|
|
160
|
+
authParamsJson: string;
|
|
161
|
+
}): Promise<string>;
|
|
162
|
+
export declare function extractBrandingProps(branding: Branding | null | undefined): WidgetPageProps["branding"];
|
|
163
|
+
export declare function renderWidgetPageResponse(ctx: any, opts: {
|
|
164
|
+
screenId: string;
|
|
165
|
+
screenJson: string;
|
|
166
|
+
brandingJson?: string;
|
|
167
|
+
themeJson?: string;
|
|
168
|
+
state: string;
|
|
169
|
+
authParamsJson: string;
|
|
170
|
+
branding: Branding | null | undefined;
|
|
171
|
+
theme: Theme | null | undefined;
|
|
172
|
+
clientName: string;
|
|
173
|
+
poweredByLogo?: WidgetPageProps["poweredByLogo"];
|
|
174
|
+
language?: string;
|
|
175
|
+
availableLanguages?: string[];
|
|
176
|
+
termsAndConditionsUrl?: string;
|
|
177
|
+
darkMode?: DarkModePreference;
|
|
178
|
+
logoPosition?: LogoPosition;
|
|
179
|
+
extraScript?: string;
|
|
180
|
+
/**
|
|
181
|
+
* Optional tenant-uploaded body template. When provided, the body is
|
|
182
|
+
* built via `applyUniversalLoginTemplate(customTemplateBody, ...)`
|
|
183
|
+
* instead of the default chip layout. The shell (html/head, runtime,
|
|
184
|
+
* bg tint) is unchanged.
|
|
185
|
+
*/
|
|
186
|
+
customTemplateBody?: string;
|
|
187
|
+
}): Promise<Response>;
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Universal Login Template — slot-based body markup.
|
|
3
|
+
*
|
|
4
|
+
* Tenants opt into custom chrome by uploading a body fragment that uses these
|
|
5
|
+
* slot tokens. The default body (`DEFAULT_UNIVERSAL_LOGIN_TEMPLATE`) is
|
|
6
|
+
* what's served when no custom template is stored, and is what tenants
|
|
7
|
+
* should copy and edit.
|
|
8
|
+
*
|
|
9
|
+
* The page shell (`<!DOCTYPE>`, `<html>`, `<head>`, body styles, dark-mode
|
|
10
|
+
* runtime, background tint) is fixed in code — it's not part of the tenant
|
|
11
|
+
* template. This keeps tenants out of CSS/runtime authoring and limits
|
|
12
|
+
* customization to layout: hide a chip by deleting its token, reorder by
|
|
13
|
+
* moving them.
|
|
14
|
+
*
|
|
15
|
+
* Slot tokens:
|
|
16
|
+
* `{%- auth0:widget -%}` — widget container (required)
|
|
17
|
+
* `{%- authhero:logo -%}` — logo chip (top-left)
|
|
18
|
+
* `{%- authhero:settings -%}` — settings chip (top-right), wraps the
|
|
19
|
+
* dark-mode toggle + language picker
|
|
20
|
+
* `{%- authhero:dark-mode-toggle -%}`— dark-mode button only
|
|
21
|
+
* `{%- authhero:language-picker -%}` — language picker only
|
|
22
|
+
* `{%- authhero:powered-by -%}` — powered-by chip (bottom-left)
|
|
23
|
+
* `{%- authhero:legal -%}` — legal/terms chip (bottom-right)
|
|
24
|
+
*/
|
|
25
|
+
import { type DarkModePreference } from "./u2-widget-page";
|
|
26
|
+
export declare const REQUIRED_SLOT = "{%- auth0:widget -%}";
|
|
27
|
+
/**
|
|
28
|
+
* Canonical default body. Mirrors the layout the JSX `WidgetPage` emits.
|
|
29
|
+
* Tenants who want to hide a chip should copy this, delete a slot, and PUT
|
|
30
|
+
* it back via `PUT /api/v2/branding/templates/universal-login`.
|
|
31
|
+
*/
|
|
32
|
+
export declare const DEFAULT_UNIVERSAL_LOGIN_TEMPLATE = "{%- auth0:widget -%}\n{%- authhero:logo -%}\n{%- authhero:settings -%}\n{%- authhero:powered-by -%}\n{%- authhero:legal -%}\n";
|
|
33
|
+
export type TemplateSlotOptions = {
|
|
34
|
+
widgetHtml: string;
|
|
35
|
+
logoUrl?: string | null;
|
|
36
|
+
clientName: string;
|
|
37
|
+
darkMode: DarkModePreference;
|
|
38
|
+
language?: string;
|
|
39
|
+
availableLanguages?: string[];
|
|
40
|
+
poweredBy?: {
|
|
41
|
+
url: string;
|
|
42
|
+
href?: string;
|
|
43
|
+
alt?: string;
|
|
44
|
+
height?: number;
|
|
45
|
+
};
|
|
46
|
+
termsAndConditionsUrl?: string;
|
|
47
|
+
};
|
|
48
|
+
/**
|
|
49
|
+
* Expand slot tokens in a template body. Unknown tokens are left in place
|
|
50
|
+
* (so tenants can spot typos in their templates).
|
|
51
|
+
*/
|
|
52
|
+
export declare function applyUniversalLoginTemplate(template: string, opts: TemplateSlotOptions & {
|
|
53
|
+
screenId: string;
|
|
54
|
+
widgetContainerStyle?: string;
|
|
55
|
+
}): string;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { OpenAPIHono } from "@hono/zod-openapi";
|
|
2
|
+
import { Bindings, Variables } from "../../types";
|
|
3
|
+
export declare const validateEmailRoutes: OpenAPIHono<{
|
|
4
|
+
Bindings: Bindings;
|
|
5
|
+
Variables: Variables;
|
|
6
|
+
}, {
|
|
7
|
+
"/": {
|
|
8
|
+
$get: {
|
|
9
|
+
input: {
|
|
10
|
+
query: {
|
|
11
|
+
state: string;
|
|
12
|
+
code: string;
|
|
13
|
+
};
|
|
14
|
+
};
|
|
15
|
+
output: {};
|
|
16
|
+
outputFormat: string;
|
|
17
|
+
status: 200;
|
|
18
|
+
};
|
|
19
|
+
};
|
|
20
|
+
}, "/">;
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Widget Routes - Universal Login with built-in screens (SSR + Hydration)
|
|
3
|
+
*
|
|
4
|
+
* These routes serve the widget UI for each screen in the login flow.
|
|
5
|
+
* The widget is server-side rendered for instant display, then hydrated
|
|
6
|
+
* on the client for interactivity.
|
|
7
|
+
*
|
|
8
|
+
* Route pattern: /u/widget/:screenId?state=...
|
|
9
|
+
*
|
|
10
|
+
* Available screens:
|
|
11
|
+
* - /u/widget/identifier - Email/username input (first screen)
|
|
12
|
+
* - /u/widget/email-otp-challenge - Email OTP code verification
|
|
13
|
+
* - /u/widget/sms-otp-challenge - SMS OTP code verification
|
|
14
|
+
* - /u/widget/enter-password - Password authentication
|
|
15
|
+
* - /u/widget/signup - New user registration
|
|
16
|
+
* - /u/widget/forgot-password - Password reset request
|
|
17
|
+
* - /u/widget/reset-password - Set new password
|
|
18
|
+
*/
|
|
19
|
+
import { OpenAPIHono } from "@hono/zod-openapi";
|
|
20
|
+
import { Bindings, Variables } from "../../types";
|
|
21
|
+
export declare const widgetRoutes: OpenAPIHono<{
|
|
22
|
+
Bindings: Bindings;
|
|
23
|
+
Variables: Variables;
|
|
24
|
+
}, {
|
|
25
|
+
"/:screenId": {
|
|
26
|
+
$get: {
|
|
27
|
+
input: {
|
|
28
|
+
param: {
|
|
29
|
+
screenId: string;
|
|
30
|
+
};
|
|
31
|
+
} & {
|
|
32
|
+
query: {
|
|
33
|
+
state: string;
|
|
34
|
+
};
|
|
35
|
+
};
|
|
36
|
+
output: Response;
|
|
37
|
+
outputFormat: "json";
|
|
38
|
+
status: import("hono/utils/http-status").StatusCode;
|
|
39
|
+
} | {
|
|
40
|
+
input: {
|
|
41
|
+
param: {
|
|
42
|
+
screenId: string;
|
|
43
|
+
};
|
|
44
|
+
} & {
|
|
45
|
+
query: {
|
|
46
|
+
state: string;
|
|
47
|
+
};
|
|
48
|
+
};
|
|
49
|
+
output: {};
|
|
50
|
+
outputFormat: string;
|
|
51
|
+
status: 404;
|
|
52
|
+
};
|
|
53
|
+
};
|
|
54
|
+
} & {
|
|
55
|
+
"/:screenId": {
|
|
56
|
+
$post: {
|
|
57
|
+
input: {
|
|
58
|
+
param: {
|
|
59
|
+
screenId: string;
|
|
60
|
+
};
|
|
61
|
+
} & {
|
|
62
|
+
query: {
|
|
63
|
+
state: string;
|
|
64
|
+
action?: string | undefined;
|
|
65
|
+
};
|
|
66
|
+
} & {
|
|
67
|
+
json: {
|
|
68
|
+
data: Record<string, any>;
|
|
69
|
+
};
|
|
70
|
+
};
|
|
71
|
+
output: {
|
|
72
|
+
screen: any;
|
|
73
|
+
branding?: any;
|
|
74
|
+
} | {
|
|
75
|
+
redirect: string;
|
|
76
|
+
};
|
|
77
|
+
outputFormat: "json";
|
|
78
|
+
status: 200;
|
|
79
|
+
};
|
|
80
|
+
};
|
|
81
|
+
}, "/">;
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import { DataAdapters } from "@authhero/adapter-interfaces";
|
|
2
|
+
/**
|
|
3
|
+
* Management API scopes for the AuthHero Management API
|
|
4
|
+
*/
|
|
5
|
+
export declare const MANAGEMENT_API_SCOPES: {
|
|
6
|
+
description: string;
|
|
7
|
+
value: string;
|
|
8
|
+
}[];
|
|
9
|
+
export interface SeedOptions {
|
|
10
|
+
/**
|
|
11
|
+
* The admin user's username
|
|
12
|
+
*/
|
|
13
|
+
adminUsername: string;
|
|
14
|
+
/**
|
|
15
|
+
* The admin user's email address (optional)
|
|
16
|
+
*/
|
|
17
|
+
adminEmail?: string;
|
|
18
|
+
/**
|
|
19
|
+
* The admin user's password (will be hashed with bcrypt)
|
|
20
|
+
*/
|
|
21
|
+
adminPassword: string;
|
|
22
|
+
/**
|
|
23
|
+
* The tenant ID to create (defaults to "control_plane")
|
|
24
|
+
*/
|
|
25
|
+
tenantId?: string;
|
|
26
|
+
/**
|
|
27
|
+
* The tenant name (defaults to "Control Plane")
|
|
28
|
+
*/
|
|
29
|
+
tenantName?: string;
|
|
30
|
+
/**
|
|
31
|
+
* The audience URL for the tenant.
|
|
32
|
+
* For the main/management tenant, defaults to `urn:authhero:management`.
|
|
33
|
+
*/
|
|
34
|
+
audience?: string;
|
|
35
|
+
/**
|
|
36
|
+
* Whether this is the control plane tenant (the main management tenant).
|
|
37
|
+
* If true, the audience will default to `urn:authhero:management`.
|
|
38
|
+
* @default true
|
|
39
|
+
*/
|
|
40
|
+
isControlPlane?: boolean;
|
|
41
|
+
/**
|
|
42
|
+
* The default client ID (defaults to "default")
|
|
43
|
+
*/
|
|
44
|
+
clientId?: string;
|
|
45
|
+
/**
|
|
46
|
+
* Callback URLs for the default client
|
|
47
|
+
*/
|
|
48
|
+
callbacks?: string[];
|
|
49
|
+
/**
|
|
50
|
+
* Allowed logout URLs for the default client
|
|
51
|
+
*/
|
|
52
|
+
allowedLogoutUrls?: string[];
|
|
53
|
+
/**
|
|
54
|
+
* Whether to log progress (defaults to true)
|
|
55
|
+
*/
|
|
56
|
+
debug?: boolean;
|
|
57
|
+
/**
|
|
58
|
+
* The issuer URL (used to construct the Management API identifier)
|
|
59
|
+
*/
|
|
60
|
+
issuer?: string;
|
|
61
|
+
}
|
|
62
|
+
export interface SeedResult {
|
|
63
|
+
tenantId: string;
|
|
64
|
+
userId: string;
|
|
65
|
+
username: string;
|
|
66
|
+
clientId: string;
|
|
67
|
+
clientSecret: string;
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Seed the AuthHero database with initial data.
|
|
71
|
+
* Creates a default tenant, admin user, password connection, and default client.
|
|
72
|
+
*
|
|
73
|
+
* @example
|
|
74
|
+
* ```ts
|
|
75
|
+
* import { seed } from "authhero";
|
|
76
|
+
* import createAdapters from "@authhero/kysely-adapter";
|
|
77
|
+
*
|
|
78
|
+
* const adapters = createAdapters(db);
|
|
79
|
+
*
|
|
80
|
+
* await seed(adapters, {
|
|
81
|
+
* adminUsername: "admin",
|
|
82
|
+
* adminPassword: "admin",
|
|
83
|
+
* });
|
|
84
|
+
* ```
|
|
85
|
+
*/
|
|
86
|
+
export declare function seed(adapters: DataAdapters, options: SeedOptions): Promise<SeedResult>;
|