payload-auth 1.0.2 → 1.1.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/better-auth/adapter/index.d.ts +2 -2
- package/dist/better-auth/adapter/index.d.ts.map +1 -1
- package/dist/better-auth/adapter/index.js +115 -69
- package/dist/better-auth/adapter/transform/index.d.ts +22 -10
- package/dist/better-auth/adapter/transform/index.d.ts.map +1 -1
- package/dist/better-auth/adapter/transform/index.js +387 -96
- package/dist/better-auth/adapter/types.d.ts +2 -1
- package/dist/better-auth/adapter/types.d.ts.map +1 -1
- package/dist/better-auth/adapter/types.js +1 -1
- package/dist/better-auth/plugin/helpers/check-passkey-plugin.d.ts +3 -0
- package/dist/better-auth/plugin/helpers/check-passkey-plugin.d.ts.map +1 -0
- package/dist/better-auth/plugin/helpers/check-passkey-plugin.js +5 -0
- package/dist/better-auth/plugin/helpers/check-username-plugin.d.ts +3 -0
- package/dist/better-auth/plugin/helpers/check-username-plugin.d.ts.map +1 -0
- package/dist/better-auth/plugin/helpers/check-username-plugin.js +5 -0
- package/dist/better-auth/plugin/helpers/generate-verify-email-url.d.ts.map +1 -1
- package/dist/better-auth/plugin/helpers/generate-verify-email-url.js +8 -8
- package/dist/better-auth/plugin/helpers/get-admin-access.d.ts +8 -0
- package/dist/better-auth/plugin/helpers/get-admin-access.d.ts.map +1 -0
- package/dist/better-auth/plugin/helpers/get-admin-access.js +22 -0
- package/dist/better-auth/plugin/helpers/get-admin-routes.d.ts +14 -0
- package/dist/better-auth/plugin/helpers/get-admin-routes.d.ts.map +1 -0
- package/dist/better-auth/plugin/helpers/get-admin-routes.js +6 -0
- package/dist/better-auth/plugin/helpers/get-all-roles.d.ts +6 -0
- package/dist/better-auth/plugin/helpers/get-all-roles.d.ts.map +1 -0
- package/dist/better-auth/plugin/helpers/get-all-roles.js +20 -0
- package/dist/better-auth/plugin/helpers/get-ip.d.ts +1 -1
- package/dist/better-auth/plugin/helpers/get-ip.d.ts.map +1 -1
- package/dist/better-auth/plugin/helpers/get-ip.js +14 -14
- package/dist/better-auth/plugin/helpers/get-requst-collection.d.ts +3 -0
- package/dist/better-auth/plugin/helpers/get-requst-collection.d.ts.map +1 -0
- package/dist/better-auth/plugin/helpers/get-requst-collection.js +14 -0
- package/dist/better-auth/plugin/helpers/index.d.ts +1 -1
- package/dist/better-auth/plugin/helpers/index.js +2 -2
- package/dist/better-auth/plugin/{lib → helpers}/prepare-session-data.d.ts +3 -3
- package/dist/better-auth/plugin/helpers/prepare-session-data.d.ts.map +1 -0
- package/dist/better-auth/plugin/helpers/prepare-session-data.js +42 -0
- package/dist/better-auth/plugin/helpers/serialize-cookie.d.ts +4 -4
- package/dist/better-auth/plugin/helpers/serialize-cookie.d.ts.map +1 -1
- package/dist/better-auth/plugin/helpers/serialize-cookie.js +34 -34
- package/dist/better-auth/plugin/index.d.ts +7 -7
- package/dist/better-auth/plugin/index.d.ts.map +1 -1
- package/dist/better-auth/plugin/index.js +145 -37
- package/dist/better-auth/plugin/{collections → lib/build-collections}/accounts/hooks/sync-password-to-user.d.ts +1 -1
- package/dist/better-auth/plugin/lib/build-collections/accounts/hooks/sync-password-to-user.d.ts.map +1 -0
- package/dist/better-auth/plugin/lib/build-collections/accounts/hooks/sync-password-to-user.js +47 -0
- package/dist/better-auth/plugin/lib/build-collections/accounts/index.d.ts +7 -0
- package/dist/better-auth/plugin/lib/build-collections/accounts/index.d.ts.map +1 -0
- package/dist/better-auth/plugin/lib/build-collections/accounts/index.js +159 -0
- package/dist/better-auth/plugin/lib/build-collections/admin-invitations/hooks/get-url-after-read.d.ts +6 -0
- package/dist/better-auth/plugin/lib/build-collections/admin-invitations/hooks/get-url-after-read.d.ts.map +1 -0
- package/dist/better-auth/plugin/lib/build-collections/admin-invitations/hooks/get-url-after-read.js +11 -0
- package/dist/better-auth/plugin/lib/build-collections/admin-invitations/hooks/get-url-before-change.d.ts +3 -0
- package/dist/better-auth/plugin/lib/build-collections/admin-invitations/hooks/get-url-before-change.d.ts.map +1 -0
- package/dist/better-auth/plugin/lib/build-collections/admin-invitations/hooks/get-url-before-change.js +8 -0
- package/dist/better-auth/plugin/lib/build-collections/admin-invitations/index.d.ts +7 -0
- package/dist/better-auth/plugin/lib/build-collections/admin-invitations/index.d.ts.map +1 -0
- package/dist/better-auth/plugin/lib/build-collections/admin-invitations/index.js +107 -0
- package/dist/better-auth/plugin/lib/build-collections/api-keys.d.ts +6 -0
- package/dist/better-auth/plugin/lib/build-collections/api-keys.d.ts.map +1 -0
- package/dist/better-auth/plugin/lib/build-collections/api-keys.js +196 -0
- package/dist/better-auth/plugin/lib/build-collections/index.d.ts +12 -0
- package/dist/better-auth/plugin/lib/build-collections/index.d.ts.map +1 -0
- package/dist/better-auth/plugin/lib/build-collections/index.js +96 -0
- package/dist/better-auth/plugin/lib/build-collections/invitations.d.ts +6 -0
- package/dist/better-auth/plugin/lib/build-collections/invitations.d.ts.map +1 -0
- package/dist/better-auth/plugin/lib/build-collections/invitations.js +91 -0
- package/dist/better-auth/plugin/lib/build-collections/jwks.d.ts +6 -0
- package/dist/better-auth/plugin/lib/build-collections/jwks.d.ts.map +1 -0
- package/dist/better-auth/plugin/lib/build-collections/jwks.js +43 -0
- package/dist/better-auth/plugin/lib/build-collections/members.d.ts +6 -0
- package/dist/better-auth/plugin/lib/build-collections/members.d.ts.map +1 -0
- package/dist/better-auth/plugin/lib/build-collections/members.js +71 -0
- package/dist/better-auth/plugin/lib/build-collections/oauth-access-tokens.d.ts +6 -0
- package/dist/better-auth/plugin/lib/build-collections/oauth-access-tokens.d.ts.map +1 -0
- package/dist/better-auth/plugin/lib/build-collections/oauth-access-tokens.js +98 -0
- package/dist/better-auth/plugin/lib/build-collections/oauth-applications.d.ts +6 -0
- package/dist/better-auth/plugin/lib/build-collections/oauth-applications.d.ts.map +1 -0
- package/dist/better-auth/plugin/lib/build-collections/oauth-applications.js +113 -0
- package/dist/better-auth/plugin/lib/build-collections/oauth-consents.d.ts +6 -0
- package/dist/better-auth/plugin/lib/build-collections/oauth-consents.d.ts.map +1 -0
- package/dist/better-auth/plugin/lib/build-collections/oauth-consents.js +67 -0
- package/dist/better-auth/plugin/lib/build-collections/organizations.d.ts +6 -0
- package/dist/better-auth/plugin/lib/build-collections/organizations.d.ts.map +1 -0
- package/dist/better-auth/plugin/lib/build-collections/organizations.js +59 -0
- package/dist/better-auth/plugin/lib/build-collections/passkeys.d.ts +6 -0
- package/dist/better-auth/plugin/lib/build-collections/passkeys.d.ts.map +1 -0
- package/dist/better-auth/plugin/lib/build-collections/passkeys.js +108 -0
- package/dist/better-auth/plugin/lib/build-collections/sessions.d.ts +8 -0
- package/dist/better-auth/plugin/lib/build-collections/sessions.d.ts.map +1 -0
- package/dist/better-auth/plugin/lib/build-collections/sessions.js +123 -0
- package/dist/better-auth/plugin/lib/build-collections/sso-providers.d.ts +6 -0
- package/dist/better-auth/plugin/lib/build-collections/sso-providers.d.ts.map +1 -0
- package/dist/better-auth/plugin/lib/build-collections/sso-providers.js +83 -0
- package/dist/better-auth/plugin/lib/build-collections/teams.d.ts +6 -0
- package/dist/better-auth/plugin/lib/build-collections/teams.d.ts.map +1 -0
- package/dist/better-auth/plugin/lib/build-collections/teams.js +45 -0
- package/dist/better-auth/plugin/lib/build-collections/two-factors.d.ts +6 -0
- package/dist/better-auth/plugin/lib/build-collections/two-factors.d.ts.map +1 -0
- package/dist/better-auth/plugin/lib/build-collections/two-factors.js +56 -0
- package/dist/better-auth/plugin/lib/build-collections/users/better-auth-strategy.d.ts +8 -0
- package/dist/better-auth/plugin/lib/build-collections/users/better-auth-strategy.d.ts.map +1 -0
- package/dist/better-auth/plugin/lib/build-collections/users/better-auth-strategy.js +52 -0
- package/dist/better-auth/plugin/lib/build-collections/users/endpoints/forgot-password.d.ts +3 -0
- package/dist/better-auth/plugin/lib/build-collections/users/endpoints/forgot-password.d.ts.map +1 -0
- package/dist/better-auth/plugin/lib/build-collections/users/endpoints/forgot-password.js +96 -0
- package/dist/better-auth/plugin/lib/build-collections/users/endpoints/generate-invite-url.d.ts +13 -0
- package/dist/better-auth/plugin/lib/build-collections/users/endpoints/generate-invite-url.d.ts.map +1 -0
- package/dist/better-auth/plugin/lib/build-collections/users/endpoints/generate-invite-url.js +67 -0
- package/dist/better-auth/plugin/lib/build-collections/users/endpoints/login.d.ts +4 -0
- package/dist/better-auth/plugin/lib/build-collections/users/endpoints/login.d.ts.map +1 -0
- package/dist/better-auth/plugin/lib/build-collections/users/endpoints/login.js +115 -0
- package/dist/better-auth/plugin/lib/build-collections/users/endpoints/refresh-token.d.ts +3 -0
- package/dist/better-auth/plugin/lib/build-collections/users/endpoints/refresh-token.d.ts.map +1 -0
- package/dist/better-auth/plugin/lib/build-collections/users/endpoints/refresh-token.js +110 -0
- package/dist/better-auth/plugin/lib/build-collections/users/endpoints/reset-password.d.ts +3 -0
- package/dist/better-auth/plugin/lib/build-collections/users/endpoints/reset-password.d.ts.map +1 -0
- package/dist/better-auth/plugin/lib/build-collections/users/endpoints/reset-password.js +62 -0
- package/dist/better-auth/plugin/lib/build-collections/users/endpoints/send-invite-url.d.ts +3 -0
- package/dist/better-auth/plugin/lib/build-collections/users/endpoints/send-invite-url.d.ts.map +1 -0
- package/dist/better-auth/plugin/lib/build-collections/users/endpoints/send-invite-url.js +42 -0
- package/dist/better-auth/plugin/lib/build-collections/users/endpoints/set-admin-role.d.ts +4 -0
- package/dist/better-auth/plugin/lib/build-collections/users/endpoints/set-admin-role.d.ts.map +1 -0
- package/dist/better-auth/plugin/lib/build-collections/users/endpoints/set-admin-role.js +79 -0
- package/dist/better-auth/plugin/lib/build-collections/users/endpoints/signup.d.ts +4 -0
- package/dist/better-auth/plugin/lib/build-collections/users/endpoints/signup.d.ts.map +1 -0
- package/dist/better-auth/plugin/lib/build-collections/users/endpoints/signup.js +153 -0
- package/dist/better-auth/plugin/{collections → lib/build-collections}/users/hooks/after-login.d.ts +1 -1
- package/dist/better-auth/plugin/lib/build-collections/users/hooks/after-login.d.ts.map +1 -0
- package/dist/better-auth/plugin/lib/build-collections/users/hooks/after-login.js +75 -0
- package/dist/better-auth/plugin/{collections → lib/build-collections}/users/hooks/after-logout.d.ts +1 -1
- package/dist/better-auth/plugin/lib/build-collections/users/hooks/after-logout.d.ts.map +1 -0
- package/dist/better-auth/plugin/lib/build-collections/users/hooks/after-logout.js +74 -0
- package/dist/better-auth/plugin/lib/build-collections/users/hooks/before-delete.d.ts +7 -0
- package/dist/better-auth/plugin/lib/build-collections/users/hooks/before-delete.d.ts.map +1 -0
- package/dist/better-auth/plugin/lib/build-collections/users/hooks/before-delete.js +45 -0
- package/dist/better-auth/plugin/{collections → lib/build-collections}/users/hooks/before-login.d.ts +1 -1
- package/dist/better-auth/plugin/lib/build-collections/users/hooks/before-login.d.ts.map +1 -0
- package/dist/better-auth/plugin/lib/build-collections/users/hooks/before-login.js +18 -0
- package/dist/better-auth/plugin/lib/build-collections/users/hooks/on-verified-change.d.ts +3 -0
- package/dist/better-auth/plugin/lib/build-collections/users/hooks/on-verified-change.d.ts.map +1 -0
- package/dist/better-auth/plugin/lib/build-collections/users/hooks/on-verified-change.js +14 -0
- package/dist/better-auth/plugin/{collections → lib/build-collections}/users/hooks/sync-account.d.ts +1 -1
- package/dist/better-auth/plugin/lib/build-collections/users/hooks/sync-account.d.ts.map +1 -0
- package/dist/better-auth/plugin/lib/build-collections/users/hooks/sync-account.js +82 -0
- package/dist/better-auth/plugin/lib/build-collections/users/index.d.ts +8 -0
- package/dist/better-auth/plugin/lib/build-collections/users/index.d.ts.map +1 -0
- package/dist/better-auth/plugin/lib/build-collections/users/index.js +345 -0
- package/dist/better-auth/plugin/lib/build-collections/utils/get-timestamp-fields.d.ts +8 -0
- package/dist/better-auth/plugin/lib/build-collections/utils/get-timestamp-fields.d.ts.map +1 -0
- package/dist/better-auth/plugin/lib/build-collections/utils/get-timestamp-fields.js +31 -0
- package/dist/better-auth/plugin/lib/{payload-access.d.ts → build-collections/utils/payload-access.d.ts} +1 -1
- package/dist/better-auth/plugin/lib/build-collections/utils/payload-access.d.ts.map +1 -0
- package/dist/better-auth/plugin/lib/build-collections/utils/payload-access.js +64 -0
- package/dist/better-auth/plugin/lib/build-collections/verifications.d.ts +7 -0
- package/dist/better-auth/plugin/lib/build-collections/verifications.d.ts.map +1 -0
- package/dist/better-auth/plugin/lib/build-collections/verifications.js +63 -0
- package/dist/better-auth/plugin/lib/{config.d.ts → constants.d.ts} +13 -1
- package/dist/better-auth/plugin/lib/constants.d.ts.map +1 -0
- package/dist/better-auth/plugin/lib/constants.js +56 -0
- package/dist/better-auth/plugin/lib/get-payload-auth.d.ts +2 -2
- package/dist/better-auth/plugin/lib/get-payload-auth.d.ts.map +1 -1
- package/dist/better-auth/plugin/lib/get-payload-auth.js +2 -2
- package/dist/better-auth/plugin/lib/get-required-collection-slugs.d.ts +4 -4
- package/dist/better-auth/plugin/lib/get-required-collection-slugs.d.ts.map +1 -1
- package/dist/better-auth/plugin/lib/get-required-collection-slugs.js +26 -43
- package/dist/better-auth/plugin/lib/init-better-auth.d.ts +4 -3
- package/dist/better-auth/plugin/lib/init-better-auth.d.ts.map +1 -1
- package/dist/better-auth/plugin/lib/init-better-auth.js +7 -7
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/admin-plugin.d.ts +3 -0
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/admin-plugin.d.ts.map +1 -0
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/admin-plugin.js +8 -0
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/api-key-plugin.d.ts +2 -0
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/api-key-plugin.d.ts.map +1 -0
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/api-key-plugin.js +17 -0
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/index.d.ts +10 -0
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/index.d.ts.map +1 -0
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/index.js +118 -0
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/oidc-plugin.d.ts +2 -0
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/oidc-plugin.d.ts.map +1 -0
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/oidc-plugin.js +58 -0
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/organizations-plugin.d.ts +2 -0
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/organizations-plugin.d.ts.map +1 -0
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/organizations-plugin.js +86 -0
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/passkey-plugin.d.ts +2 -0
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/passkey-plugin.d.ts.map +1 -0
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/passkey-plugin.js +17 -0
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/sso-plugin.d.ts +2 -0
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/sso-plugin.d.ts.map +1 -0
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/sso-plugin.js +17 -0
- package/dist/better-auth/plugin/lib/{ensure-password-set-before-create.d.ts → sanitize-better-auth-options/utils/ensure-password-set-before-create.d.ts} +1 -1
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/ensure-password-set-before-create.d.ts.map +1 -0
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/ensure-password-set-before-create.js +23 -0
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/password.d.ts.map +1 -0
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/password.js +62 -0
- package/dist/better-auth/plugin/lib/{respect-save-to-jwt-fields-middleware.d.ts → sanitize-better-auth-options/utils/save-to-jwt-middleware.d.ts} +6 -6
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/save-to-jwt-middleware.d.ts.map +1 -0
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/save-to-jwt-middleware.js +30 -0
- package/dist/better-auth/plugin/payload/components/admin-buttons/index.d.ts +8 -0
- package/dist/better-auth/plugin/payload/components/admin-buttons/index.d.ts.map +1 -0
- package/dist/better-auth/plugin/payload/components/admin-buttons/index.js +115 -0
- package/dist/better-auth/plugin/payload/components/admin-buttons/index.scss +31 -0
- package/dist/better-auth/plugin/payload/components/admin-invite-button/index.d.ts +11 -0
- package/dist/better-auth/plugin/payload/components/admin-invite-button/index.d.ts.map +1 -0
- package/dist/better-auth/plugin/payload/components/admin-invite-button/index.js +196 -0
- package/dist/better-auth/plugin/payload/components/admin-invite-button/index.scss +131 -0
- package/dist/better-auth/plugin/payload/components/admin-social-provider-buttons/index.d.ts +14 -0
- package/dist/better-auth/plugin/payload/components/admin-social-provider-buttons/index.d.ts.map +1 -0
- package/dist/better-auth/plugin/payload/components/admin-social-provider-buttons/index.js +111 -0
- package/dist/better-auth/plugin/payload/components/admin-social-provider-buttons/index.scss +51 -0
- package/dist/better-auth/plugin/payload/components/form-header/index.d.ts +9 -0
- package/dist/better-auth/plugin/payload/components/form-header/index.d.ts.map +1 -0
- package/dist/better-auth/plugin/payload/components/form-header/index.js +23 -0
- package/dist/better-auth/plugin/payload/components/form-header/index.scss +8 -0
- package/dist/better-auth/plugin/payload/components/icons.d.ts +9 -0
- package/dist/better-auth/plugin/payload/components/icons.d.ts.map +1 -0
- package/dist/better-auth/plugin/payload/components/icons.js +437 -0
- package/dist/better-auth/plugin/payload/components/logo.d.ts +3 -2
- package/dist/better-auth/plugin/payload/components/logo.d.ts.map +1 -1
- package/dist/better-auth/plugin/payload/components/logo.js +22 -34
- package/dist/better-auth/plugin/payload/components/logout-button.d.ts +6 -0
- package/dist/better-auth/plugin/payload/components/logout-button.d.ts.map +1 -0
- package/dist/better-auth/plugin/payload/components/logout-button.js +27 -0
- package/dist/better-auth/plugin/payload/components/rsc-redirect.d.ts +7 -0
- package/dist/better-auth/plugin/payload/components/rsc-redirect.d.ts.map +1 -0
- package/dist/better-auth/plugin/payload/components/rsc-redirect.js +8 -0
- package/dist/better-auth/plugin/payload/components/styles.css +2 -2
- package/dist/better-auth/plugin/payload/components/token-field.d.ts +5 -0
- package/dist/better-auth/plugin/payload/components/token-field.d.ts.map +1 -0
- package/dist/better-auth/plugin/payload/components/token-field.js +30 -0
- package/dist/better-auth/plugin/payload/exports/client.d.ts +6 -3
- package/dist/better-auth/plugin/payload/exports/client.d.ts.map +1 -1
- package/dist/better-auth/plugin/payload/exports/client.js +7 -4
- package/dist/better-auth/plugin/payload/exports/rsc.d.ts +9 -5
- package/dist/better-auth/plugin/payload/exports/rsc.d.ts.map +1 -1
- package/dist/better-auth/plugin/payload/exports/rsc.js +10 -6
- package/dist/better-auth/plugin/payload/utils/generate-admin-invite-url.d.ts +3 -0
- package/dist/better-auth/plugin/payload/utils/generate-admin-invite-url.d.ts.map +1 -0
- package/dist/better-auth/plugin/payload/utils/generate-admin-invite-url.js +8 -0
- package/dist/better-auth/plugin/payload/utils/generate-metadata.d.ts +15 -0
- package/dist/better-auth/plugin/payload/utils/generate-metadata.d.ts.map +1 -0
- package/dist/better-auth/plugin/payload/utils/generate-metadata.js +74 -0
- package/dist/better-auth/plugin/payload/utils/get-safe-redirect.d.ts +2 -0
- package/dist/better-auth/plugin/payload/utils/get-safe-redirect.d.ts.map +1 -0
- package/dist/better-auth/plugin/payload/utils/get-safe-redirect.js +23 -0
- package/dist/better-auth/plugin/payload/views/admin-invite/client.d.ts +12 -0
- package/dist/better-auth/plugin/payload/views/admin-invite/client.d.ts.map +1 -0
- package/dist/better-auth/plugin/payload/views/admin-invite/client.js +92 -0
- package/dist/better-auth/plugin/payload/views/admin-invite/index.d.ts +11 -0
- package/dist/better-auth/plugin/payload/views/admin-invite/index.d.ts.map +1 -0
- package/dist/better-auth/plugin/payload/views/admin-invite/index.js +84 -0
- package/dist/better-auth/plugin/payload/views/admin-invite/index.scss +25 -0
- package/dist/better-auth/plugin/payload/views/create-first-admin/client.d.ts +14 -0
- package/dist/better-auth/plugin/payload/views/create-first-admin/client.d.ts.map +1 -0
- package/dist/better-auth/plugin/payload/views/create-first-admin/client.js +95 -0
- package/dist/better-auth/plugin/payload/views/create-first-admin/index.d.ts +10 -4
- package/dist/better-auth/plugin/payload/views/create-first-admin/index.d.ts.map +1 -1
- package/dist/better-auth/plugin/payload/views/create-first-admin/index.js +124 -92
- package/dist/better-auth/plugin/payload/views/create-first-admin/index.scss +29 -0
- package/dist/better-auth/plugin/payload/views/forgot-password/client.d.ts +8 -0
- package/dist/better-auth/plugin/payload/views/forgot-password/client.d.ts.map +1 -0
- package/dist/better-auth/plugin/payload/views/forgot-password/client.js +119 -0
- package/dist/better-auth/plugin/payload/views/forgot-password/index.d.ts +9 -0
- package/dist/better-auth/plugin/payload/views/forgot-password/index.d.ts.map +1 -0
- package/dist/better-auth/plugin/payload/views/forgot-password/index.js +69 -0
- package/dist/better-auth/plugin/payload/views/forgot-password/index.scss +0 -0
- package/dist/better-auth/plugin/payload/views/inactivity/index.d.ts +5 -0
- package/dist/better-auth/plugin/payload/views/inactivity/index.d.ts.map +1 -0
- package/dist/better-auth/plugin/payload/views/inactivity/index.js +12 -0
- package/dist/better-auth/plugin/payload/views/login/form/fields/login-field.d.ts +9 -0
- package/dist/better-auth/plugin/payload/views/login/form/fields/login-field.d.ts.map +1 -0
- package/dist/better-auth/plugin/payload/views/login/form/fields/login-field.js +54 -0
- package/dist/better-auth/plugin/payload/views/login/form/fields/password/index.d.ts +1 -0
- package/dist/better-auth/plugin/payload/views/login/form/fields/password/index.d.ts.map +1 -0
- package/dist/better-auth/plugin/payload/views/login/form/fields/password/index.js +121 -0
- package/dist/better-auth/plugin/payload/views/login/form/fields/password/index.scss +31 -0
- package/dist/better-auth/plugin/payload/views/login/form/fields/password/types.d.ts +56 -0
- package/dist/better-auth/plugin/payload/views/login/form/fields/password/types.d.ts.map +1 -0
- package/dist/better-auth/plugin/payload/views/login/form/fields/password/types.js +3 -0
- package/dist/better-auth/plugin/payload/views/login/form/index.d.ts +17 -0
- package/dist/better-auth/plugin/payload/views/login/form/index.d.ts.map +1 -0
- package/dist/better-auth/plugin/payload/views/login/form/index.js +137 -0
- package/dist/better-auth/plugin/payload/views/login/form/index.scss +23 -0
- package/dist/better-auth/plugin/payload/views/login/index.d.ts +10 -5
- package/dist/better-auth/plugin/payload/views/login/index.d.ts.map +1 -1
- package/dist/better-auth/plugin/payload/views/login/index.js +81 -61
- package/dist/better-auth/plugin/payload/views/login/index.scss +10 -0
- package/dist/better-auth/plugin/payload/views/logout/client.d.ts +8 -0
- package/dist/better-auth/plugin/payload/views/logout/client.d.ts.map +1 -0
- package/dist/better-auth/plugin/payload/views/logout/client.js +76 -0
- package/dist/better-auth/plugin/payload/views/logout/index.d.ts +8 -0
- package/dist/better-auth/plugin/payload/views/logout/index.d.ts.map +1 -0
- package/dist/better-auth/plugin/payload/views/logout/index.js +14 -0
- package/dist/better-auth/plugin/payload/views/logout/index.scss +0 -0
- package/dist/better-auth/plugin/payload/views/reset-password/client.d.ts +7 -0
- package/dist/better-auth/plugin/payload/views/reset-password/client.d.ts.map +1 -0
- package/dist/better-auth/plugin/payload/views/reset-password/client.js +72 -0
- package/dist/better-auth/plugin/payload/views/reset-password/index.d.ts +5 -0
- package/dist/better-auth/plugin/payload/views/reset-password/index.d.ts.map +1 -0
- package/dist/better-auth/plugin/payload/views/reset-password/index.js +81 -0
- package/dist/better-auth/plugin/payload/views/reset-password/index.scss +9 -0
- package/dist/better-auth/plugin/payload/views/reset-password/metadata.d.ts +3 -0
- package/dist/better-auth/plugin/payload/views/reset-password/metadata.d.ts.map +1 -0
- package/dist/better-auth/plugin/payload/views/reset-password/metadata.js +11 -0
- package/dist/better-auth/plugin/types.d.ts +170 -33
- package/dist/better-auth/plugin/types.d.ts.map +1 -1
- package/dist/better-auth/plugin/types.js +1 -1
- package/dist/clerk/plugin/components/sync-clerk-users-button.d.ts +1 -1
- package/dist/clerk/plugin/components/sync-clerk-users-button.d.ts.map +1 -1
- package/dist/clerk/utils/clerk-user.d.ts +0 -3
- package/dist/clerk/utils/clerk-user.d.ts.map +1 -1
- package/dist/clerk/utils/clerk-user.js +1 -3
- package/dist/clerk/utils/load-clerk-instance.d.ts +1 -1
- package/dist/clerk/utils/load-clerk-instance.d.ts.map +1 -1
- package/package.json +14 -14
- package/LICENSE.md +0 -17
- package/dist/better-auth/adapter/dev/bin/run.d.ts +0 -2
- package/dist/better-auth/adapter/dev/bin/run.d.ts.map +0 -1
- package/dist/better-auth/adapter/dev/bin/run.js +0 -64
- package/dist/better-auth/adapter/dev/bin/schema.d.ts +0 -23
- package/dist/better-auth/adapter/dev/bin/schema.d.ts.map +0 -1
- package/dist/better-auth/adapter/dev/bin/schema.js +0 -160
- package/dist/better-auth/adapter/dev/collections.d.ts +0 -4
- package/dist/better-auth/adapter/dev/collections.d.ts.map +0 -1
- package/dist/better-auth/adapter/dev/collections.js +0 -212
- package/dist/better-auth/adapter/dev/index.d.ts +0 -4
- package/dist/better-auth/adapter/dev/index.d.ts.map +0 -1
- package/dist/better-auth/adapter/dev/index.js +0 -168
- package/dist/better-auth/adapter/test/adapter.test.d.ts +0 -2
- package/dist/better-auth/adapter/test/adapter.test.d.ts.map +0 -1
- package/dist/better-auth/adapter/test/adapter.test.js +0 -181
- package/dist/better-auth/adapter/test/better-auth-adapter-test.d.ts +0 -8
- package/dist/better-auth/adapter/test/better-auth-adapter-test.d.ts.map +0 -1
- package/dist/better-auth/adapter/test/better-auth-adapter-test.js +0 -425
- package/dist/better-auth/adapter/test/schema.test.d.ts +0 -2
- package/dist/better-auth/adapter/test/schema.test.d.ts.map +0 -1
- package/dist/better-auth/adapter/test/schema.test.js +0 -796
- package/dist/better-auth/adapter/test/test_payload1/schema.d.ts +0 -24
- package/dist/better-auth/adapter/test/test_payload1/schema.d.ts.map +0 -1
- package/dist/better-auth/adapter/test/test_payload1/schema.js +0 -177
- package/dist/better-auth/adapter/test/test_payload2/schema.d.ts +0 -24
- package/dist/better-auth/adapter/test/test_payload2/schema.d.ts.map +0 -1
- package/dist/better-auth/adapter/test/test_payload2/schema.js +0 -167
- package/dist/better-auth/adapter/test/test_payload3/schema.d.ts +0 -24
- package/dist/better-auth/adapter/test/test_payload3/schema.d.ts.map +0 -1
- package/dist/better-auth/adapter/test/test_payload3/schema.js +0 -198
- package/dist/better-auth/plugin/collections/accounts/hooks/sync-password-to-user.d.ts.map +0 -1
- package/dist/better-auth/plugin/collections/accounts/hooks/sync-password-to-user.js +0 -47
- package/dist/better-auth/plugin/collections/users/endpoints/refresh-token.d.ts +0 -7
- package/dist/better-auth/plugin/collections/users/endpoints/refresh-token.d.ts.map +0 -1
- package/dist/better-auth/plugin/collections/users/endpoints/refresh-token.js +0 -106
- package/dist/better-auth/plugin/collections/users/hooks/after-login.d.ts.map +0 -1
- package/dist/better-auth/plugin/collections/users/hooks/after-login.js +0 -71
- package/dist/better-auth/plugin/collections/users/hooks/after-logout.d.ts.map +0 -1
- package/dist/better-auth/plugin/collections/users/hooks/after-logout.js +0 -49
- package/dist/better-auth/plugin/collections/users/hooks/before-login.d.ts.map +0 -1
- package/dist/better-auth/plugin/collections/users/hooks/before-login.js +0 -18
- package/dist/better-auth/plugin/collections/users/hooks/clean-up-user-after-delete.d.ts +0 -6
- package/dist/better-auth/plugin/collections/users/hooks/clean-up-user-after-delete.d.ts.map +0 -1
- package/dist/better-auth/plugin/collections/users/hooks/clean-up-user-after-delete.js +0 -33
- package/dist/better-auth/plugin/collections/users/hooks/on-verified-change.d.ts +0 -3
- package/dist/better-auth/plugin/collections/users/hooks/on-verified-change.d.ts.map +0 -1
- package/dist/better-auth/plugin/collections/users/hooks/on-verified-change.js +0 -14
- package/dist/better-auth/plugin/collections/users/hooks/sync-account.d.ts.map +0 -1
- package/dist/better-auth/plugin/collections/users/hooks/sync-account.js +0 -82
- package/dist/better-auth/plugin/lib/auth-strategy.d.ts +0 -9
- package/dist/better-auth/plugin/lib/auth-strategy.d.ts.map +0 -1
- package/dist/better-auth/plugin/lib/auth-strategy.js +0 -48
- package/dist/better-auth/plugin/lib/build-collection-configs.d.ts +0 -12
- package/dist/better-auth/plugin/lib/build-collection-configs.d.ts.map +0 -1
- package/dist/better-auth/plugin/lib/build-collection-configs.js +0 -1558
- package/dist/better-auth/plugin/lib/config.d.ts.map +0 -1
- package/dist/better-auth/plugin/lib/config.js +0 -44
- package/dist/better-auth/plugin/lib/ensure-password-set-before-create.d.ts.map +0 -1
- package/dist/better-auth/plugin/lib/ensure-password-set-before-create.js +0 -24
- package/dist/better-auth/plugin/lib/password.d.ts.map +0 -1
- package/dist/better-auth/plugin/lib/password.js +0 -63
- package/dist/better-auth/plugin/lib/payload-access.d.ts.map +0 -1
- package/dist/better-auth/plugin/lib/payload-access.js +0 -64
- package/dist/better-auth/plugin/lib/prepare-session-data.d.ts.map +0 -1
- package/dist/better-auth/plugin/lib/prepare-session-data.js +0 -42
- package/dist/better-auth/plugin/lib/respect-save-to-jwt-fields-middleware.d.ts.map +0 -1
- package/dist/better-auth/plugin/lib/respect-save-to-jwt-fields-middleware.js +0 -30
- package/dist/better-auth/plugin/lib/sanitize-auth-options.d.ts +0 -6
- package/dist/better-auth/plugin/lib/sanitize-auth-options.d.ts.map +0 -1
- package/dist/better-auth/plugin/lib/sanitize-auth-options.js +0 -298
- package/dist/better-auth/plugin/payload/components/admin-buttons.d.ts +0 -7
- package/dist/better-auth/plugin/payload/components/admin-buttons.d.ts.map +0 -1
- package/dist/better-auth/plugin/payload/components/admin-buttons.js +0 -219
- package/dist/better-auth/plugin/payload/components/login-redirect.d.ts +0 -2
- package/dist/better-auth/plugin/payload/components/login-redirect.d.ts.map +0 -1
- package/dist/better-auth/plugin/payload/components/login-redirect.js +0 -6
- package/dist/better-auth/plugin/payload/components/logout.d.ts +0 -3
- package/dist/better-auth/plugin/payload/components/logout.d.ts.map +0 -1
- package/dist/better-auth/plugin/payload/components/logout.js +0 -61
- package/dist/better-auth/plugin/payload/components/sign-in.d.ts +0 -4
- package/dist/better-auth/plugin/payload/components/sign-in.d.ts.map +0 -1
- package/dist/better-auth/plugin/payload/components/sign-in.js +0 -384
- package/dist/better-auth/plugin/payload/components/sign-up.d.ts +0 -7
- package/dist/better-auth/plugin/payload/components/sign-up.d.ts.map +0 -1
- package/dist/better-auth/plugin/payload/components/sign-up.js +0 -503
- package/dist/better-auth/plugin/payload/components/ui/button.d.ts +0 -11
- package/dist/better-auth/plugin/payload/components/ui/button.d.ts.map +0 -1
- package/dist/better-auth/plugin/payload/components/ui/button.js +0 -42
- package/dist/better-auth/plugin/payload/components/ui/card.d.ts +0 -10
- package/dist/better-auth/plugin/payload/components/ui/card.d.ts.map +0 -1
- package/dist/better-auth/plugin/payload/components/ui/card.js +0 -55
- package/dist/better-auth/plugin/payload/components/ui/checkbox.d.ts +0 -5
- package/dist/better-auth/plugin/payload/components/ui/checkbox.d.ts.map +0 -1
- package/dist/better-auth/plugin/payload/components/ui/checkbox.js +0 -23
- package/dist/better-auth/plugin/payload/components/ui/cn.d.ts +0 -3
- package/dist/better-auth/plugin/payload/components/ui/cn.d.ts.map +0 -1
- package/dist/better-auth/plugin/payload/components/ui/cn.js +0 -7
- package/dist/better-auth/plugin/payload/components/ui/input.d.ts +0 -4
- package/dist/better-auth/plugin/payload/components/ui/input.d.ts.map +0 -1
- package/dist/better-auth/plugin/payload/components/ui/input.js +0 -14
- package/dist/better-auth/plugin/payload/components/ui/label.d.ts +0 -5
- package/dist/better-auth/plugin/payload/components/ui/label.d.ts.map +0 -1
- package/dist/better-auth/plugin/payload/components/ui/label.js +0 -15
- package/dist/better-auth/plugin/payload/components/ui/password-input.d.ts +0 -3
- package/dist/better-auth/plugin/payload/components/ui/password-input.d.ts.map +0 -1
- package/dist/better-auth/plugin/payload/components/ui/password-input.js +0 -55
- /package/dist/better-auth/plugin/lib/{password.d.ts → sanitize-better-auth-options/utils/password.d.ts} +0 -0
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
export const getSyncPasswordToUserHook = (options)=>{
|
|
2
|
-
const hook = async ({ doc, req, operation, context })=>{
|
|
3
|
-
if (context?.syncAccountHook) return doc;
|
|
4
|
-
if (operation !== 'create' && operation !== 'update') {
|
|
5
|
-
return doc;
|
|
6
|
-
}
|
|
7
|
-
const userField = req.payload.betterAuth.options.account?.fields?.userId || 'userId';
|
|
8
|
-
if (!doc[userField]) {
|
|
9
|
-
return doc;
|
|
10
|
-
}
|
|
11
|
-
const account = await req.payload.findByID({
|
|
12
|
-
collection: options.accountSlug,
|
|
13
|
-
id: doc.id,
|
|
14
|
-
depth: 0,
|
|
15
|
-
req,
|
|
16
|
-
showHiddenFields: true
|
|
17
|
-
});
|
|
18
|
-
if (!account || !account.password) {
|
|
19
|
-
return doc;
|
|
20
|
-
}
|
|
21
|
-
const [salt, hash] = account.password.split(':');
|
|
22
|
-
if (!salt || !hash) {
|
|
23
|
-
return doc;
|
|
24
|
-
}
|
|
25
|
-
const userId = typeof doc[userField] === 'string' ? doc[userField] : doc[userField]?.id;
|
|
26
|
-
try {
|
|
27
|
-
await req.payload.update({
|
|
28
|
-
collection: options.userSlug,
|
|
29
|
-
id: userId,
|
|
30
|
-
data: {
|
|
31
|
-
salt,
|
|
32
|
-
hash
|
|
33
|
-
},
|
|
34
|
-
req,
|
|
35
|
-
context: {
|
|
36
|
-
syncPasswordToUser: true
|
|
37
|
-
}
|
|
38
|
-
});
|
|
39
|
-
} catch (error) {
|
|
40
|
-
console.error('Failed to sync password to user:', error);
|
|
41
|
-
}
|
|
42
|
-
return doc;
|
|
43
|
-
};
|
|
44
|
-
return hook;
|
|
45
|
-
};
|
|
46
|
-
|
|
47
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9iZXR0ZXItYXV0aC9wbHVnaW4vY29sbGVjdGlvbnMvYWNjb3VudHMvaG9va3Mvc3luYy1wYXNzd29yZC10by11c2VyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQ29sbGVjdGlvbkFmdGVyQ2hhbmdlSG9vayB9IGZyb20gJ3BheWxvYWQnXG5pbXBvcnQgdHlwZSB7IENvbGxlY3Rpb25Ib29rV2l0aEJldHRlckF1dGggfSBmcm9tICcuLi8uLi8uLi90eXBlcydcblxudHlwZSBDb2xsZWN0aW9uQWZ0ZXJDaGFuZ2VIb29rV2l0aEJldHRlckF1dGggPVxuICBDb2xsZWN0aW9uSG9va1dpdGhCZXR0ZXJBdXRoPENvbGxlY3Rpb25BZnRlckNoYW5nZUhvb2s+XG5cbnR5cGUgU3luY1Bhc3N3b3JkVG9Vc2VyT3B0aW9ucyA9IHtcbiAgdXNlclNsdWc6IHN0cmluZ1xuICBhY2NvdW50U2x1Zzogc3RyaW5nXG59XG5cbmV4cG9ydCBjb25zdCBnZXRTeW5jUGFzc3dvcmRUb1VzZXJIb29rID0gKFxuICBvcHRpb25zOiBTeW5jUGFzc3dvcmRUb1VzZXJPcHRpb25zLFxuKTogQ29sbGVjdGlvbkFmdGVyQ2hhbmdlSG9vayA9PiB7XG4gIGNvbnN0IGhvb2s6IENvbGxlY3Rpb25BZnRlckNoYW5nZUhvb2tXaXRoQmV0dGVyQXV0aCA9IGFzeW5jICh7XG4gICAgZG9jLFxuICAgIHJlcSxcbiAgICBvcGVyYXRpb24sXG4gICAgY29udGV4dCxcbiAgfSkgPT4ge1xuICAgIGlmIChjb250ZXh0Py5zeW5jQWNjb3VudEhvb2spIHJldHVybiBkb2NcblxuICAgIGlmIChvcGVyYXRpb24gIT09ICdjcmVhdGUnICYmIG9wZXJhdGlvbiAhPT0gJ3VwZGF0ZScpIHtcbiAgICAgIHJldHVybiBkb2NcbiAgICB9XG5cbiAgICBjb25zdCB1c2VyRmllbGQgPSByZXEucGF5bG9hZC5iZXR0ZXJBdXRoLm9wdGlvbnMuYWNjb3VudD8uZmllbGRzPy51c2VySWQgfHwgJ3VzZXJJZCdcblxuICAgIGlmICghZG9jW3VzZXJGaWVsZF0pIHtcbiAgICAgIHJldHVybiBkb2NcbiAgICB9XG5cbiAgICBjb25zdCBhY2NvdW50ID0gYXdhaXQgcmVxLnBheWxvYWQuZmluZEJ5SUQoe1xuICAgICAgY29sbGVjdGlvbjogb3B0aW9ucy5hY2NvdW50U2x1ZyxcbiAgICAgIGlkOiBkb2MuaWQsXG4gICAgICBkZXB0aDogMCxcbiAgICAgIHJlcSxcbiAgICAgIHNob3dIaWRkZW5GaWVsZHM6IHRydWUsXG4gICAgfSlcblxuICAgIGlmICghYWNjb3VudCB8fCAhYWNjb3VudC5wYXNzd29yZCkge1xuICAgICAgcmV0dXJuIGRvY1xuICAgIH1cblxuICAgIGNvbnN0IFtzYWx0LCBoYXNoXSA9IGFjY291bnQucGFzc3dvcmQuc3BsaXQoJzonKVxuXG4gICAgaWYgKCFzYWx0IHx8ICFoYXNoKSB7XG4gICAgICByZXR1cm4gZG9jXG4gICAgfVxuXG4gICAgY29uc3QgdXNlcklkID0gdHlwZW9mIGRvY1t1c2VyRmllbGRdID09PSAnc3RyaW5nJyA/IGRvY1t1c2VyRmllbGRdIDogZG9jW3VzZXJGaWVsZF0/LmlkXG5cbiAgICB0cnkge1xuICAgICAgYXdhaXQgcmVxLnBheWxvYWQudXBkYXRlKHtcbiAgICAgICAgY29sbGVjdGlvbjogb3B0aW9ucy51c2VyU2x1ZyxcbiAgICAgICAgaWQ6IHVzZXJJZCxcbiAgICAgICAgZGF0YToge1xuICAgICAgICAgIHNhbHQsXG4gICAgICAgICAgaGFzaCxcbiAgICAgICAgfSxcbiAgICAgICAgcmVxLFxuICAgICAgICBjb250ZXh0OiB7IHN5bmNQYXNzd29yZFRvVXNlcjogdHJ1ZSB9LFxuICAgICAgfSlcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgY29uc29sZS5lcnJvcignRmFpbGVkIHRvIHN5bmMgcGFzc3dvcmQgdG8gdXNlcjonLCBlcnJvcilcbiAgICB9XG5cbiAgICByZXR1cm4gZG9jXG4gIH1cblxuICByZXR1cm4gaG9vayBhcyBDb2xsZWN0aW9uQWZ0ZXJDaGFuZ2VIb29rXG59XG4iXSwibmFtZXMiOlsiZ2V0U3luY1Bhc3N3b3JkVG9Vc2VySG9vayIsIm9wdGlvbnMiLCJob29rIiwiZG9jIiwicmVxIiwib3BlcmF0aW9uIiwiY29udGV4dCIsInN5bmNBY2NvdW50SG9vayIsInVzZXJGaWVsZCIsInBheWxvYWQiLCJiZXR0ZXJBdXRoIiwiYWNjb3VudCIsImZpZWxkcyIsInVzZXJJZCIsImZpbmRCeUlEIiwiY29sbGVjdGlvbiIsImFjY291bnRTbHVnIiwiaWQiLCJkZXB0aCIsInNob3dIaWRkZW5GaWVsZHMiLCJwYXNzd29yZCIsInNhbHQiLCJoYXNoIiwic3BsaXQiLCJ1cGRhdGUiLCJ1c2VyU2x1ZyIsImRhdGEiLCJzeW5jUGFzc3dvcmRUb1VzZXIiLCJlcnJvciIsImNvbnNvbGUiXSwibWFwcGluZ3MiOiJBQVdBLE9BQU8sTUFBTUEsNEJBQTRCLENBQ3ZDQztJQUVBLE1BQU1DLE9BQWdELE9BQU8sRUFDM0RDLEdBQUcsRUFDSEMsR0FBRyxFQUNIQyxTQUFTLEVBQ1RDLE9BQU8sRUFDUjtRQUNDLElBQUlBLFNBQVNDLGlCQUFpQixPQUFPSjtRQUVyQyxJQUFJRSxjQUFjLFlBQVlBLGNBQWMsVUFBVTtZQUNwRCxPQUFPRjtRQUNUO1FBRUEsTUFBTUssWUFBWUosSUFBSUssT0FBTyxDQUFDQyxVQUFVLENBQUNULE9BQU8sQ0FBQ1UsT0FBTyxFQUFFQyxRQUFRQyxVQUFVO1FBRTVFLElBQUksQ0FBQ1YsR0FBRyxDQUFDSyxVQUFVLEVBQUU7WUFDbkIsT0FBT0w7UUFDVDtRQUVBLE1BQU1RLFVBQVUsTUFBTVAsSUFBSUssT0FBTyxDQUFDSyxRQUFRLENBQUM7WUFDekNDLFlBQVlkLFFBQVFlLFdBQVc7WUFDL0JDLElBQUlkLElBQUljLEVBQUU7WUFDVkMsT0FBTztZQUNQZDtZQUNBZSxrQkFBa0I7UUFDcEI7UUFFQSxJQUFJLENBQUNSLFdBQVcsQ0FBQ0EsUUFBUVMsUUFBUSxFQUFFO1lBQ2pDLE9BQU9qQjtRQUNUO1FBRUEsTUFBTSxDQUFDa0IsTUFBTUMsS0FBSyxHQUFHWCxRQUFRUyxRQUFRLENBQUNHLEtBQUssQ0FBQztRQUU1QyxJQUFJLENBQUNGLFFBQVEsQ0FBQ0MsTUFBTTtZQUNsQixPQUFPbkI7UUFDVDtRQUVBLE1BQU1VLFNBQVMsT0FBT1YsR0FBRyxDQUFDSyxVQUFVLEtBQUssV0FBV0wsR0FBRyxDQUFDSyxVQUFVLEdBQUdMLEdBQUcsQ0FBQ0ssVUFBVSxFQUFFUztRQUVyRixJQUFJO1lBQ0YsTUFBTWIsSUFBSUssT0FBTyxDQUFDZSxNQUFNLENBQUM7Z0JBQ3ZCVCxZQUFZZCxRQUFRd0IsUUFBUTtnQkFDNUJSLElBQUlKO2dCQUNKYSxNQUFNO29CQUNKTDtvQkFDQUM7Z0JBQ0Y7Z0JBQ0FsQjtnQkFDQUUsU0FBUztvQkFBRXFCLG9CQUFvQjtnQkFBSztZQUN0QztRQUNGLEVBQUUsT0FBT0MsT0FBTztZQUNkQyxRQUFRRCxLQUFLLENBQUMsb0NBQW9DQTtRQUNwRDtRQUVBLE9BQU96QjtJQUNUO0lBRUEsT0FBT0Q7QUFDVCxFQUFDIn0=
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { CollectionSlug, type Endpoint } from 'payload';
|
|
2
|
-
type RefreshTokenEndpointOptions = {
|
|
3
|
-
userSlug: CollectionSlug;
|
|
4
|
-
};
|
|
5
|
-
export declare const getRefreshTokenEndpoint: (options?: RefreshTokenEndpointOptions) => Endpoint;
|
|
6
|
-
export {};
|
|
7
|
-
//# sourceMappingURL=refresh-token.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"refresh-token.d.ts","sourceRoot":"","sources":["../../../../../../src/better-auth/plugin/collections/users/endpoints/refresh-token.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,KAAK,QAAQ,EAA2C,MAAM,SAAS,CAAA;AAKhG,KAAK,2BAA2B,GAAG;IACjC,QAAQ,EAAE,cAAc,CAAA;CACzB,CAAA;AAED,eAAO,MAAM,uBAAuB,GAAI,UAAU,2BAA2B,KAAG,QA+F/E,CAAA"}
|
|
@@ -1,106 +0,0 @@
|
|
|
1
|
-
import { setCookieCache } from 'better-auth/cookies';
|
|
2
|
-
import { getFieldsToSign, refreshOperation } from 'payload';
|
|
3
|
-
import { getPayloadAuth } from '../../../lib/get-payload-auth';
|
|
4
|
-
export const getRefreshTokenEndpoint = (options)=>{
|
|
5
|
-
const userSlug = options?.userSlug;
|
|
6
|
-
const endpoint = {
|
|
7
|
-
path: '/refresh-token',
|
|
8
|
-
method: 'post',
|
|
9
|
-
handler: async (req)=>{
|
|
10
|
-
const payload = await getPayloadAuth(req.payload.config);
|
|
11
|
-
const betterAuth = payload.betterAuth;
|
|
12
|
-
const authContext = await betterAuth?.$context;
|
|
13
|
-
const userCollection = payload.collections[userSlug];
|
|
14
|
-
if (!betterAuth || !authContext) {
|
|
15
|
-
return new Response(JSON.stringify({
|
|
16
|
-
message: 'BetterAuth not initialized'
|
|
17
|
-
}), {
|
|
18
|
-
status: 500
|
|
19
|
-
});
|
|
20
|
-
}
|
|
21
|
-
const sessionTokenName = authContext.authCookies.sessionToken.name;
|
|
22
|
-
const cookieHeader = req.headers.get('cookie') || '';
|
|
23
|
-
const hasSessionToken = cookieHeader.includes(`${sessionTokenName}=`);
|
|
24
|
-
if (!hasSessionToken) {
|
|
25
|
-
try {
|
|
26
|
-
const result = await refreshOperation({
|
|
27
|
-
collection: userCollection,
|
|
28
|
-
req
|
|
29
|
-
});
|
|
30
|
-
return new Response(JSON.stringify(result), {
|
|
31
|
-
status: 200
|
|
32
|
-
});
|
|
33
|
-
} catch (error) {
|
|
34
|
-
console.error('Token refresh failed:', error);
|
|
35
|
-
return new Response(JSON.stringify({
|
|
36
|
-
message: 'Token refresh failed'
|
|
37
|
-
}), {
|
|
38
|
-
status: 401
|
|
39
|
-
});
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
// @ts-ignore - @TODO, fix type of .api
|
|
43
|
-
const session = await betterAuth.api.getSession({
|
|
44
|
-
headers: req.headers,
|
|
45
|
-
query: {
|
|
46
|
-
disableCookieCache: true
|
|
47
|
-
}
|
|
48
|
-
});
|
|
49
|
-
if (!session?.session?.userId) {
|
|
50
|
-
return new Response(JSON.stringify({
|
|
51
|
-
message: 'No user in session'
|
|
52
|
-
}), {
|
|
53
|
-
status: 401
|
|
54
|
-
});
|
|
55
|
-
}
|
|
56
|
-
const user = await payload.findByID({
|
|
57
|
-
collection: userSlug,
|
|
58
|
-
id: session.session.userId
|
|
59
|
-
});
|
|
60
|
-
if (!user) {
|
|
61
|
-
return new Response(JSON.stringify({
|
|
62
|
-
message: 'No user found'
|
|
63
|
-
}), {
|
|
64
|
-
status: 401
|
|
65
|
-
});
|
|
66
|
-
}
|
|
67
|
-
const cookieCacheFields = getFieldsToSign({
|
|
68
|
-
collectionConfig: userCollection.config,
|
|
69
|
-
email: user.email,
|
|
70
|
-
user: user
|
|
71
|
-
});
|
|
72
|
-
const responseData = {
|
|
73
|
-
refreshedToken: null,
|
|
74
|
-
setCookie: !!authContext.options.session?.cookieCache?.enabled,
|
|
75
|
-
strategy: 'better-auth',
|
|
76
|
-
user: {
|
|
77
|
-
...user,
|
|
78
|
-
collection: userSlug
|
|
79
|
-
}
|
|
80
|
-
};
|
|
81
|
-
const response = new Response(JSON.stringify(responseData), {
|
|
82
|
-
status: 200
|
|
83
|
-
});
|
|
84
|
-
const ctx = {
|
|
85
|
-
context: authContext,
|
|
86
|
-
setCookie (name, value, options) {
|
|
87
|
-
const path = options?.path || '/';
|
|
88
|
-
const maxAge = options?.maxAge ? `; Max-Age=${options.maxAge}` : '';
|
|
89
|
-
const httpOnly = options?.httpOnly ? '; HttpOnly' : '';
|
|
90
|
-
const secure = options?.secure ? '; Secure' : '';
|
|
91
|
-
const sameSite = options?.sameSite ? `; SameSite=${options.sameSite}` : '; SameSite=Lax';
|
|
92
|
-
response.headers.set('Set-Cookie', `${name}=${value}; Path=${path}${maxAge}${httpOnly}${secure}${sameSite}`);
|
|
93
|
-
return name;
|
|
94
|
-
}
|
|
95
|
-
};
|
|
96
|
-
await setCookieCache(ctx, {
|
|
97
|
-
session: session.session,
|
|
98
|
-
user: cookieCacheFields
|
|
99
|
-
});
|
|
100
|
-
return response;
|
|
101
|
-
}
|
|
102
|
-
};
|
|
103
|
-
return endpoint;
|
|
104
|
-
};
|
|
105
|
-
|
|
106
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9iZXR0ZXItYXV0aC9wbHVnaW4vY29sbGVjdGlvbnMvdXNlcnMvZW5kcG9pbnRzL3JlZnJlc2gtdG9rZW4udHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgc2V0Q29va2llQ2FjaGUgfSBmcm9tICdiZXR0ZXItYXV0aC9jb29raWVzJ1xuaW1wb3J0IHsgQ29sbGVjdGlvblNsdWcsIHR5cGUgRW5kcG9pbnQsIGdldEZpZWxkc1RvU2lnbiwgcmVmcmVzaE9wZXJhdGlvbiwgVXNlciB9IGZyb20gJ3BheWxvYWQnXG5pbXBvcnQgeyBHZW5lcmljRW5kcG9pbnRDb250ZXh0IH0gZnJvbSAnYmV0dGVyLWF1dGgvdHlwZXMnXG5pbXBvcnQgeyBFbmRwb2ludFdpdGhCZXR0ZXJBdXRoIH0gZnJvbSAnLi4vLi4vLi4vdHlwZXMnXG5pbXBvcnQgeyBnZXRQYXlsb2FkQXV0aCB9IGZyb20gJy4uLy4uLy4uL2xpYi9nZXQtcGF5bG9hZC1hdXRoJ1xuXG50eXBlIFJlZnJlc2hUb2tlbkVuZHBvaW50T3B0aW9ucyA9IHtcbiAgdXNlclNsdWc6IENvbGxlY3Rpb25TbHVnXG59XG5cbmV4cG9ydCBjb25zdCBnZXRSZWZyZXNoVG9rZW5FbmRwb2ludCA9IChvcHRpb25zPzogUmVmcmVzaFRva2VuRW5kcG9pbnRPcHRpb25zKTogRW5kcG9pbnQgPT4ge1xuICBjb25zdCB1c2VyU2x1ZyA9IG9wdGlvbnM/LnVzZXJTbHVnXG5cbiAgY29uc3QgZW5kcG9pbnQ6IEVuZHBvaW50V2l0aEJldHRlckF1dGggPSB7XG4gICAgcGF0aDogJy9yZWZyZXNoLXRva2VuJyxcbiAgICBtZXRob2Q6ICdwb3N0JyxcbiAgICBoYW5kbGVyOiBhc3luYyAocmVxKSA9PiB7XG4gICAgICBjb25zdCBwYXlsb2FkID0gYXdhaXQgZ2V0UGF5bG9hZEF1dGgocmVxLnBheWxvYWQuY29uZmlnKVxuICAgICAgY29uc3QgYmV0dGVyQXV0aCA9IHBheWxvYWQuYmV0dGVyQXV0aFxuICAgICAgY29uc3QgYXV0aENvbnRleHQgPSBhd2FpdCBiZXR0ZXJBdXRoPy4kY29udGV4dFxuICAgICAgY29uc3QgdXNlckNvbGxlY3Rpb24gPSBwYXlsb2FkLmNvbGxlY3Rpb25zW3VzZXJTbHVnIGFzIENvbGxlY3Rpb25TbHVnXVxuXG4gICAgICBpZiAoIWJldHRlckF1dGggfHwgIWF1dGhDb250ZXh0KSB7XG4gICAgICAgIHJldHVybiBuZXcgUmVzcG9uc2UoSlNPTi5zdHJpbmdpZnkoeyBtZXNzYWdlOiAnQmV0dGVyQXV0aCBub3QgaW5pdGlhbGl6ZWQnIH0pLCB7XG4gICAgICAgICAgc3RhdHVzOiA1MDAsXG4gICAgICAgIH0pXG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHNlc3Npb25Ub2tlbk5hbWUgPSBhdXRoQ29udGV4dC5hdXRoQ29va2llcy5zZXNzaW9uVG9rZW4ubmFtZVxuICAgICAgY29uc3QgY29va2llSGVhZGVyID0gcmVxLmhlYWRlcnMuZ2V0KCdjb29raWUnKSB8fCAnJ1xuICAgICAgY29uc3QgaGFzU2Vzc2lvblRva2VuID0gY29va2llSGVhZGVyLmluY2x1ZGVzKGAke3Nlc3Npb25Ub2tlbk5hbWV9PWApXG5cbiAgICAgIGlmICghaGFzU2Vzc2lvblRva2VuKSB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgcmVmcmVzaE9wZXJhdGlvbih7IGNvbGxlY3Rpb246IHVzZXJDb2xsZWN0aW9uLCByZXEgfSlcbiAgICAgICAgICByZXR1cm4gbmV3IFJlc3BvbnNlKEpTT04uc3RyaW5naWZ5KHJlc3VsdCksIHsgc3RhdHVzOiAyMDAgfSlcbiAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICBjb25zb2xlLmVycm9yKCdUb2tlbiByZWZyZXNoIGZhaWxlZDonLCBlcnJvcilcbiAgICAgICAgICByZXR1cm4gbmV3IFJlc3BvbnNlKEpTT04uc3RyaW5naWZ5KHsgbWVzc2FnZTogJ1Rva2VuIHJlZnJlc2ggZmFpbGVkJyB9KSwgeyBzdGF0dXM6IDQwMSB9KVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIEB0cy1pZ25vcmUgLSBAVE9ETywgZml4IHR5cGUgb2YgLmFwaVxuICAgICAgY29uc3Qgc2Vzc2lvbiA9IGF3YWl0IGJldHRlckF1dGguYXBpLmdldFNlc3Npb24oe1xuICAgICAgICBoZWFkZXJzOiByZXEuaGVhZGVycyxcbiAgICAgICAgcXVlcnk6IHsgZGlzYWJsZUNvb2tpZUNhY2hlOiB0cnVlIH0sXG4gICAgICB9KVxuXG4gICAgICBpZiAoIXNlc3Npb24/LnNlc3Npb24/LnVzZXJJZCkge1xuICAgICAgICByZXR1cm4gbmV3IFJlc3BvbnNlKEpTT04uc3RyaW5naWZ5KHsgbWVzc2FnZTogJ05vIHVzZXIgaW4gc2Vzc2lvbicgfSksIHsgc3RhdHVzOiA0MDEgfSlcbiAgICAgIH1cblxuICAgICAgY29uc3QgdXNlciA9IGF3YWl0IHBheWxvYWQuZmluZEJ5SUQoe1xuICAgICAgICBjb2xsZWN0aW9uOiB1c2VyU2x1ZyBhcyBzdHJpbmcsXG4gICAgICAgIGlkOiBzZXNzaW9uLnNlc3Npb24udXNlcklkLFxuICAgICAgfSlcblxuICAgICAgaWYgKCF1c2VyKSB7XG4gICAgICAgIHJldHVybiBuZXcgUmVzcG9uc2UoSlNPTi5zdHJpbmdpZnkoeyBtZXNzYWdlOiAnTm8gdXNlciBmb3VuZCcgfSksIHsgc3RhdHVzOiA0MDEgfSlcbiAgICAgIH1cblxuICAgICAgY29uc3QgY29va2llQ2FjaGVGaWVsZHMgPSBnZXRGaWVsZHNUb1NpZ24oe1xuICAgICAgICBjb2xsZWN0aW9uQ29uZmlnOiB1c2VyQ29sbGVjdGlvbi5jb25maWcsXG4gICAgICAgIGVtYWlsOiB1c2VyLmVtYWlsLFxuICAgICAgICB1c2VyOiB1c2VyIGFzIFVzZXIsXG4gICAgICB9KVxuXG4gICAgICBjb25zdCByZXNwb25zZURhdGEgPSB7XG4gICAgICAgIHJlZnJlc2hlZFRva2VuOiBudWxsLFxuICAgICAgICBzZXRDb29raWU6ICEhYXV0aENvbnRleHQub3B0aW9ucy5zZXNzaW9uPy5jb29raWVDYWNoZT8uZW5hYmxlZCxcbiAgICAgICAgc3RyYXRlZ3k6ICdiZXR0ZXItYXV0aCcsXG4gICAgICAgIHVzZXI6IHsgLi4udXNlciwgY29sbGVjdGlvbjogdXNlclNsdWcgfSxcbiAgICAgIH1cblxuICAgICAgY29uc3QgcmVzcG9uc2UgPSBuZXcgUmVzcG9uc2UoSlNPTi5zdHJpbmdpZnkocmVzcG9uc2VEYXRhKSwge1xuICAgICAgICBzdGF0dXM6IDIwMCxcbiAgICAgIH0pXG5cbiAgICAgIGNvbnN0IGN0eCA9IHtcbiAgICAgICAgY29udGV4dDogYXV0aENvbnRleHQsXG4gICAgICAgIHNldENvb2tpZShuYW1lLCB2YWx1ZSwgb3B0aW9ucykge1xuICAgICAgICAgIGNvbnN0IHBhdGggPSBvcHRpb25zPy5wYXRoIHx8ICcvJ1xuICAgICAgICAgIGNvbnN0IG1heEFnZSA9IG9wdGlvbnM/Lm1heEFnZSA/IGA7IE1heC1BZ2U9JHtvcHRpb25zLm1heEFnZX1gIDogJydcbiAgICAgICAgICBjb25zdCBodHRwT25seSA9IG9wdGlvbnM/Lmh0dHBPbmx5ID8gJzsgSHR0cE9ubHknIDogJydcbiAgICAgICAgICBjb25zdCBzZWN1cmUgPSBvcHRpb25zPy5zZWN1cmUgPyAnOyBTZWN1cmUnIDogJydcbiAgICAgICAgICBjb25zdCBzYW1lU2l0ZSA9IG9wdGlvbnM/LnNhbWVTaXRlID8gYDsgU2FtZVNpdGU9JHtvcHRpb25zLnNhbWVTaXRlfWAgOiAnOyBTYW1lU2l0ZT1MYXgnXG5cbiAgICAgICAgICByZXNwb25zZS5oZWFkZXJzLnNldChcbiAgICAgICAgICAgICdTZXQtQ29va2llJyxcbiAgICAgICAgICAgIGAke25hbWV9PSR7dmFsdWV9OyBQYXRoPSR7cGF0aH0ke21heEFnZX0ke2h0dHBPbmx5fSR7c2VjdXJlfSR7c2FtZVNpdGV9YCxcbiAgICAgICAgICApXG4gICAgICAgICAgcmV0dXJuIG5hbWVcbiAgICAgICAgfSxcbiAgICAgIH0gYXMgR2VuZXJpY0VuZHBvaW50Q29udGV4dFxuXG4gICAgICBhd2FpdCBzZXRDb29raWVDYWNoZShjdHgsIHtcbiAgICAgICAgc2Vzc2lvbjogc2Vzc2lvbi5zZXNzaW9uLFxuICAgICAgICB1c2VyOiBjb29raWVDYWNoZUZpZWxkcyBhcyBhbnksXG4gICAgICB9KVxuXG4gICAgICByZXR1cm4gcmVzcG9uc2VcbiAgICB9LFxuICB9XG5cbiAgcmV0dXJuIGVuZHBvaW50IGFzIHVua25vd24gYXMgRW5kcG9pbnRcbn1cbiJdLCJuYW1lcyI6WyJzZXRDb29raWVDYWNoZSIsImdldEZpZWxkc1RvU2lnbiIsInJlZnJlc2hPcGVyYXRpb24iLCJnZXRQYXlsb2FkQXV0aCIsImdldFJlZnJlc2hUb2tlbkVuZHBvaW50Iiwib3B0aW9ucyIsInVzZXJTbHVnIiwiZW5kcG9pbnQiLCJwYXRoIiwibWV0aG9kIiwiaGFuZGxlciIsInJlcSIsInBheWxvYWQiLCJjb25maWciLCJiZXR0ZXJBdXRoIiwiYXV0aENvbnRleHQiLCIkY29udGV4dCIsInVzZXJDb2xsZWN0aW9uIiwiY29sbGVjdGlvbnMiLCJSZXNwb25zZSIsIkpTT04iLCJzdHJpbmdpZnkiLCJtZXNzYWdlIiwic3RhdHVzIiwic2Vzc2lvblRva2VuTmFtZSIsImF1dGhDb29raWVzIiwic2Vzc2lvblRva2VuIiwibmFtZSIsImNvb2tpZUhlYWRlciIsImhlYWRlcnMiLCJnZXQiLCJoYXNTZXNzaW9uVG9rZW4iLCJpbmNsdWRlcyIsInJlc3VsdCIsImNvbGxlY3Rpb24iLCJlcnJvciIsImNvbnNvbGUiLCJzZXNzaW9uIiwiYXBpIiwiZ2V0U2Vzc2lvbiIsInF1ZXJ5IiwiZGlzYWJsZUNvb2tpZUNhY2hlIiwidXNlcklkIiwidXNlciIsImZpbmRCeUlEIiwiaWQiLCJjb29raWVDYWNoZUZpZWxkcyIsImNvbGxlY3Rpb25Db25maWciLCJlbWFpbCIsInJlc3BvbnNlRGF0YSIsInJlZnJlc2hlZFRva2VuIiwic2V0Q29va2llIiwiY29va2llQ2FjaGUiLCJlbmFibGVkIiwic3RyYXRlZ3kiLCJyZXNwb25zZSIsImN0eCIsImNvbnRleHQiLCJ2YWx1ZSIsIm1heEFnZSIsImh0dHBPbmx5Iiwic2VjdXJlIiwic2FtZVNpdGUiLCJzZXQiXSwibWFwcGluZ3MiOiJBQUFBLFNBQVNBLGNBQWMsUUFBUSxzQkFBcUI7QUFDcEQsU0FBd0NDLGVBQWUsRUFBRUMsZ0JBQWdCLFFBQWMsVUFBUztBQUdoRyxTQUFTQyxjQUFjLFFBQVEsZ0NBQStCO0FBTTlELE9BQU8sTUFBTUMsMEJBQTBCLENBQUNDO0lBQ3RDLE1BQU1DLFdBQVdELFNBQVNDO0lBRTFCLE1BQU1DLFdBQW1DO1FBQ3ZDQyxNQUFNO1FBQ05DLFFBQVE7UUFDUkMsU0FBUyxPQUFPQztZQUNkLE1BQU1DLFVBQVUsTUFBTVQsZUFBZVEsSUFBSUMsT0FBTyxDQUFDQyxNQUFNO1lBQ3ZELE1BQU1DLGFBQWFGLFFBQVFFLFVBQVU7WUFDckMsTUFBTUMsY0FBYyxNQUFNRCxZQUFZRTtZQUN0QyxNQUFNQyxpQkFBaUJMLFFBQVFNLFdBQVcsQ0FBQ1osU0FBMkI7WUFFdEUsSUFBSSxDQUFDUSxjQUFjLENBQUNDLGFBQWE7Z0JBQy9CLE9BQU8sSUFBSUksU0FBU0MsS0FBS0MsU0FBUyxDQUFDO29CQUFFQyxTQUFTO2dCQUE2QixJQUFJO29CQUM3RUMsUUFBUTtnQkFDVjtZQUNGO1lBRUEsTUFBTUMsbUJBQW1CVCxZQUFZVSxXQUFXLENBQUNDLFlBQVksQ0FBQ0MsSUFBSTtZQUNsRSxNQUFNQyxlQUFlakIsSUFBSWtCLE9BQU8sQ0FBQ0MsR0FBRyxDQUFDLGFBQWE7WUFDbEQsTUFBTUMsa0JBQWtCSCxhQUFhSSxRQUFRLENBQUMsR0FBR1IsaUJBQWlCLENBQUMsQ0FBQztZQUVwRSxJQUFJLENBQUNPLGlCQUFpQjtnQkFDcEIsSUFBSTtvQkFDRixNQUFNRSxTQUFTLE1BQU0vQixpQkFBaUI7d0JBQUVnQyxZQUFZakI7d0JBQWdCTjtvQkFBSTtvQkFDeEUsT0FBTyxJQUFJUSxTQUFTQyxLQUFLQyxTQUFTLENBQUNZLFNBQVM7d0JBQUVWLFFBQVE7b0JBQUk7Z0JBQzVELEVBQUUsT0FBT1ksT0FBTztvQkFDZEMsUUFBUUQsS0FBSyxDQUFDLHlCQUF5QkE7b0JBQ3ZDLE9BQU8sSUFBSWhCLFNBQVNDLEtBQUtDLFNBQVMsQ0FBQzt3QkFBRUMsU0FBUztvQkFBdUIsSUFBSTt3QkFBRUMsUUFBUTtvQkFBSTtnQkFDekY7WUFDRjtZQUVBLHVDQUF1QztZQUN2QyxNQUFNYyxVQUFVLE1BQU12QixXQUFXd0IsR0FBRyxDQUFDQyxVQUFVLENBQUM7Z0JBQzlDVixTQUFTbEIsSUFBSWtCLE9BQU87Z0JBQ3BCVyxPQUFPO29CQUFFQyxvQkFBb0I7Z0JBQUs7WUFDcEM7WUFFQSxJQUFJLENBQUNKLFNBQVNBLFNBQVNLLFFBQVE7Z0JBQzdCLE9BQU8sSUFBSXZCLFNBQVNDLEtBQUtDLFNBQVMsQ0FBQztvQkFBRUMsU0FBUztnQkFBcUIsSUFBSTtvQkFBRUMsUUFBUTtnQkFBSTtZQUN2RjtZQUVBLE1BQU1vQixPQUFPLE1BQU0vQixRQUFRZ0MsUUFBUSxDQUFDO2dCQUNsQ1YsWUFBWTVCO2dCQUNadUMsSUFBSVIsUUFBUUEsT0FBTyxDQUFDSyxNQUFNO1lBQzVCO1lBRUEsSUFBSSxDQUFDQyxNQUFNO2dCQUNULE9BQU8sSUFBSXhCLFNBQVNDLEtBQUtDLFNBQVMsQ0FBQztvQkFBRUMsU0FBUztnQkFBZ0IsSUFBSTtvQkFBRUMsUUFBUTtnQkFBSTtZQUNsRjtZQUVBLE1BQU11QixvQkFBb0I3QyxnQkFBZ0I7Z0JBQ3hDOEMsa0JBQWtCOUIsZUFBZUosTUFBTTtnQkFDdkNtQyxPQUFPTCxLQUFLSyxLQUFLO2dCQUNqQkwsTUFBTUE7WUFDUjtZQUVBLE1BQU1NLGVBQWU7Z0JBQ25CQyxnQkFBZ0I7Z0JBQ2hCQyxXQUFXLENBQUMsQ0FBQ3BDLFlBQVlWLE9BQU8sQ0FBQ2dDLE9BQU8sRUFBRWUsYUFBYUM7Z0JBQ3ZEQyxVQUFVO2dCQUNWWCxNQUFNO29CQUFFLEdBQUdBLElBQUk7b0JBQUVULFlBQVk1QjtnQkFBUztZQUN4QztZQUVBLE1BQU1pRCxXQUFXLElBQUlwQyxTQUFTQyxLQUFLQyxTQUFTLENBQUM0QixlQUFlO2dCQUMxRDFCLFFBQVE7WUFDVjtZQUVBLE1BQU1pQyxNQUFNO2dCQUNWQyxTQUFTMUM7Z0JBQ1RvQyxXQUFVeEIsSUFBSSxFQUFFK0IsS0FBSyxFQUFFckQsT0FBTztvQkFDNUIsTUFBTUcsT0FBT0gsU0FBU0csUUFBUTtvQkFDOUIsTUFBTW1ELFNBQVN0RCxTQUFTc0QsU0FBUyxDQUFDLFVBQVUsRUFBRXRELFFBQVFzRCxNQUFNLEVBQUUsR0FBRztvQkFDakUsTUFBTUMsV0FBV3ZELFNBQVN1RCxXQUFXLGVBQWU7b0JBQ3BELE1BQU1DLFNBQVN4RCxTQUFTd0QsU0FBUyxhQUFhO29CQUM5QyxNQUFNQyxXQUFXekQsU0FBU3lELFdBQVcsQ0FBQyxXQUFXLEVBQUV6RCxRQUFReUQsUUFBUSxFQUFFLEdBQUc7b0JBRXhFUCxTQUFTMUIsT0FBTyxDQUFDa0MsR0FBRyxDQUNsQixjQUNBLEdBQUdwQyxLQUFLLENBQUMsRUFBRStCLE1BQU0sT0FBTyxFQUFFbEQsT0FBT21ELFNBQVNDLFdBQVdDLFNBQVNDLFVBQVU7b0JBRTFFLE9BQU9uQztnQkFDVDtZQUNGO1lBRUEsTUFBTTNCLGVBQWV3RCxLQUFLO2dCQUN4Qm5CLFNBQVNBLFFBQVFBLE9BQU87Z0JBQ3hCTSxNQUFNRztZQUNSO1lBRUEsT0FBT1M7UUFDVDtJQUNGO0lBRUEsT0FBT2hEO0FBQ1QsRUFBQyJ9
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"after-login.d.ts","sourceRoot":"","sources":["../../../../../../src/better-auth/plugin/collections/users/hooks/after-login.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,wBAAwB,EAAE,MAAM,SAAS,CAAA;AAKlD,KAAK,iBAAiB,GAAG;IACvB,mBAAmB,EAAE,MAAM,CAAA;IAC3B,sBAAsB,EAAE,MAAM,CAAA;CAC/B,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,iBAAiB,GAAI,SAAS,iBAAiB,KAAG,wBA+D9D,CAAA"}
|
|
@@ -1,71 +0,0 @@
|
|
|
1
|
-
import { generateId } from 'better-auth';
|
|
2
|
-
import { createAuthMiddleware } from 'better-auth/api';
|
|
3
|
-
import { setCookieCache } from 'better-auth/cookies';
|
|
4
|
-
import { parseSetCookie } from 'next/dist/compiled/@edge-runtime/cookies';
|
|
5
|
-
import { cookies } from 'next/headers';
|
|
6
|
-
import { getPayloadAuth } from '../../../lib/get-payload-auth';
|
|
7
|
-
import { getIp } from '../../../helpers/get-ip';
|
|
8
|
-
import { prepareSessionData } from '../../../lib/prepare-session-data';
|
|
9
|
-
/**
|
|
10
|
-
* This hook is used to sync the admin login token with better-auth session token
|
|
11
|
-
* It also creates a new session in better-auth
|
|
12
|
-
*/ export const getAfterLoginHook = (options)=>{
|
|
13
|
-
const hook = async ({ collection, context, req, token, user })=>{
|
|
14
|
-
const config = req.payload.config;
|
|
15
|
-
const payload = await getPayloadAuth(config);
|
|
16
|
-
const cookieStore = await cookies();
|
|
17
|
-
const authContext = await payload.betterAuth.$context;
|
|
18
|
-
const sessionExpiration = payload.betterAuth.options.session?.expiresIn || 60 * 60 * 24 * 7 // 7 days
|
|
19
|
-
;
|
|
20
|
-
// we can't use internal adapter as we can cause a race condition unless we pass req to the payload.create
|
|
21
|
-
const session = await payload.create({
|
|
22
|
-
collection: options.sessionsCollectionSlug,
|
|
23
|
-
data: {
|
|
24
|
-
ipAddress: getIp(req.headers, payload.betterAuth.options) || '',
|
|
25
|
-
userAgent: req.headers?.get('user-agent') || '',
|
|
26
|
-
user: user.id,
|
|
27
|
-
token: generateId(32),
|
|
28
|
-
expiresAt: new Date(Date.now() + sessionExpiration * 1000)
|
|
29
|
-
},
|
|
30
|
-
req
|
|
31
|
-
});
|
|
32
|
-
const betterAuthHandleRequest = createAuthMiddleware(async (ctx)=>{
|
|
33
|
-
ctx.context = {
|
|
34
|
-
...authContext,
|
|
35
|
-
user: user
|
|
36
|
-
};
|
|
37
|
-
await ctx.setSignedCookie(ctx.context.authCookies.sessionToken.name, session.token, ctx.context.secret, ctx.context.authCookies.sessionToken.options);
|
|
38
|
-
const filteredSessionData = await prepareSessionData({
|
|
39
|
-
newSession: {
|
|
40
|
-
session,
|
|
41
|
-
user
|
|
42
|
-
},
|
|
43
|
-
payloadConfig: config,
|
|
44
|
-
collectionSlugs: {
|
|
45
|
-
userCollectionSlug: options.usersCollectionSlug,
|
|
46
|
-
sessionCollectionSlug: options.sessionsCollectionSlug
|
|
47
|
-
}
|
|
48
|
-
});
|
|
49
|
-
await setCookieCache(ctx, filteredSessionData);
|
|
50
|
-
if ('responseHeaders' in ctx) {
|
|
51
|
-
return ctx.responseHeaders;
|
|
52
|
-
}
|
|
53
|
-
return null;
|
|
54
|
-
});
|
|
55
|
-
const responseHeaders = await betterAuthHandleRequest(req);
|
|
56
|
-
const responseCookies = responseHeaders?.getSetCookie().map((cookie)=>parseSetCookie(cookie)).filter(Boolean);
|
|
57
|
-
if (responseCookies) {
|
|
58
|
-
for (const cookieData of responseCookies){
|
|
59
|
-
const { name, value, ...options } = cookieData;
|
|
60
|
-
cookieStore.set({
|
|
61
|
-
...options,
|
|
62
|
-
name,
|
|
63
|
-
value: decodeURIComponent(value)
|
|
64
|
-
});
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
};
|
|
68
|
-
return hook;
|
|
69
|
-
};
|
|
70
|
-
|
|
71
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9iZXR0ZXItYXV0aC9wbHVnaW4vY29sbGVjdGlvbnMvdXNlcnMvaG9va3MvYWZ0ZXItbG9naW4udHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZ2VuZXJhdGVJZCwgU2Vzc2lvbiB9IGZyb20gJ2JldHRlci1hdXRoJ1xuaW1wb3J0IHsgY3JlYXRlQXV0aE1pZGRsZXdhcmUgfSBmcm9tICdiZXR0ZXItYXV0aC9hcGknXG5pbXBvcnQgeyBzZXRDb29raWVDYWNoZSB9IGZyb20gJ2JldHRlci1hdXRoL2Nvb2tpZXMnXG5pbXBvcnQgeyBwYXJzZVNldENvb2tpZSwgdHlwZSBSZXNwb25zZUNvb2tpZSB9IGZyb20gJ25leHQvZGlzdC9jb21waWxlZC9AZWRnZS1ydW50aW1lL2Nvb2tpZXMnXG5pbXBvcnQgeyBjb29raWVzIH0gZnJvbSAnbmV4dC9oZWFkZXJzJ1xuaW1wb3J0IHsgQ29sbGVjdGlvbkFmdGVyTG9naW5Ib29rIH0gZnJvbSAncGF5bG9hZCdcbmltcG9ydCB7IGdldFBheWxvYWRBdXRoIH0gZnJvbSAnLi4vLi4vLi4vbGliL2dldC1wYXlsb2FkLWF1dGgnXG5pbXBvcnQgeyBnZXRJcCB9IGZyb20gJy4uLy4uLy4uL2hlbHBlcnMvZ2V0LWlwJ1xuaW1wb3J0IHsgcHJlcGFyZVNlc3Npb25EYXRhIH0gZnJvbSAnLi4vLi4vLi4vbGliL3ByZXBhcmUtc2Vzc2lvbi1kYXRhJ1xuXG50eXBlIEFmdGVyTG9naW5PcHRpb25zID0ge1xuICB1c2Vyc0NvbGxlY3Rpb25TbHVnOiBzdHJpbmdcbiAgc2Vzc2lvbnNDb2xsZWN0aW9uU2x1Zzogc3RyaW5nXG59XG5cbi8qKlxuICogVGhpcyBob29rIGlzIHVzZWQgdG8gc3luYyB0aGUgYWRtaW4gbG9naW4gdG9rZW4gd2l0aCBiZXR0ZXItYXV0aCBzZXNzaW9uIHRva2VuXG4gKiBJdCBhbHNvIGNyZWF0ZXMgYSBuZXcgc2Vzc2lvbiBpbiBiZXR0ZXItYXV0aFxuICovXG5leHBvcnQgY29uc3QgZ2V0QWZ0ZXJMb2dpbkhvb2sgPSAob3B0aW9uczogQWZ0ZXJMb2dpbk9wdGlvbnMpOiBDb2xsZWN0aW9uQWZ0ZXJMb2dpbkhvb2sgPT4ge1xuICBjb25zdCBob29rOiBDb2xsZWN0aW9uQWZ0ZXJMb2dpbkhvb2sgPSBhc3luYyAoeyBjb2xsZWN0aW9uLCBjb250ZXh0LCByZXEsIHRva2VuLCB1c2VyIH0pID0+IHtcbiAgICBjb25zdCBjb25maWcgPSByZXEucGF5bG9hZC5jb25maWdcbiAgICBjb25zdCBwYXlsb2FkID0gYXdhaXQgZ2V0UGF5bG9hZEF1dGgoY29uZmlnKVxuICAgIGNvbnN0IGNvb2tpZVN0b3JlID0gYXdhaXQgY29va2llcygpXG4gICAgY29uc3QgYXV0aENvbnRleHQgPSBhd2FpdCBwYXlsb2FkLmJldHRlckF1dGguJGNvbnRleHRcblxuICAgIGNvbnN0IHNlc3Npb25FeHBpcmF0aW9uID0gcGF5bG9hZC5iZXR0ZXJBdXRoLm9wdGlvbnMuc2Vzc2lvbj8uZXhwaXJlc0luIHx8IDYwICogNjAgKiAyNCAqIDcgLy8gNyBkYXlzXG4gICAgLy8gd2UgY2FuJ3QgdXNlIGludGVybmFsIGFkYXB0ZXIgYXMgd2UgY2FuIGNhdXNlIGEgcmFjZSBjb25kaXRpb24gdW5sZXNzIHdlIHBhc3MgcmVxIHRvIHRoZSBwYXlsb2FkLmNyZWF0ZVxuICAgIGNvbnN0IHNlc3Npb24gPSAoYXdhaXQgcGF5bG9hZC5jcmVhdGUoe1xuICAgICAgY29sbGVjdGlvbjogb3B0aW9ucy5zZXNzaW9uc0NvbGxlY3Rpb25TbHVnLFxuICAgICAgZGF0YToge1xuICAgICAgICBpcEFkZHJlc3M6IGdldElwKHJlcS5oZWFkZXJzLCBwYXlsb2FkLmJldHRlckF1dGgub3B0aW9ucykgfHwgJycsXG4gICAgICAgIHVzZXJBZ2VudDogcmVxLmhlYWRlcnM/LmdldCgndXNlci1hZ2VudCcpIHx8ICcnLFxuICAgICAgICB1c2VyOiB1c2VyLmlkLFxuICAgICAgICB0b2tlbjogZ2VuZXJhdGVJZCgzMiksXG4gICAgICAgIGV4cGlyZXNBdDogbmV3IERhdGUoRGF0ZS5ub3coKSArIHNlc3Npb25FeHBpcmF0aW9uICogMTAwMCksXG4gICAgICB9LFxuICAgICAgcmVxLFxuICAgIH0pKSBhcyBTZXNzaW9uXG5cbiAgICBjb25zdCBiZXR0ZXJBdXRoSGFuZGxlUmVxdWVzdCA9IGNyZWF0ZUF1dGhNaWRkbGV3YXJlKGFzeW5jIChjdHgpOiBQcm9taXNlPEhlYWRlcnMgfCBudWxsPiA9PiB7XG4gICAgICBjdHguY29udGV4dCA9IHsgLi4uYXV0aENvbnRleHQsIHVzZXI6IHVzZXIgfVxuICAgICAgYXdhaXQgY3R4LnNldFNpZ25lZENvb2tpZShcbiAgICAgICAgY3R4LmNvbnRleHQuYXV0aENvb2tpZXMuc2Vzc2lvblRva2VuLm5hbWUsXG4gICAgICAgIHNlc3Npb24udG9rZW4sXG4gICAgICAgIGN0eC5jb250ZXh0LnNlY3JldCxcbiAgICAgICAgY3R4LmNvbnRleHQuYXV0aENvb2tpZXMuc2Vzc2lvblRva2VuLm9wdGlvbnMsXG4gICAgICApXG4gICAgICBjb25zdCBmaWx0ZXJlZFNlc3Npb25EYXRhID0gYXdhaXQgcHJlcGFyZVNlc3Npb25EYXRhKHtcbiAgICAgICAgbmV3U2Vzc2lvbjogeyBzZXNzaW9uLCB1c2VyIH0sXG4gICAgICAgIHBheWxvYWRDb25maWc6IGNvbmZpZyxcbiAgICAgICAgY29sbGVjdGlvblNsdWdzOiB7XG4gICAgICAgICAgdXNlckNvbGxlY3Rpb25TbHVnOiBvcHRpb25zLnVzZXJzQ29sbGVjdGlvblNsdWcsXG4gICAgICAgICAgc2Vzc2lvbkNvbGxlY3Rpb25TbHVnOiBvcHRpb25zLnNlc3Npb25zQ29sbGVjdGlvblNsdWcsXG4gICAgICAgIH0sXG4gICAgICB9KVxuICAgICAgYXdhaXQgc2V0Q29va2llQ2FjaGUoY3R4LCBmaWx0ZXJlZFNlc3Npb25EYXRhIGFzIGFueSlcbiAgICAgIGlmICgncmVzcG9uc2VIZWFkZXJzJyBpbiBjdHgpIHtcbiAgICAgICAgcmV0dXJuIGN0eC5yZXNwb25zZUhlYWRlcnMgYXMgSGVhZGVyc1xuICAgICAgfVxuICAgICAgcmV0dXJuIG51bGxcbiAgICB9KVxuXG4gICAgY29uc3QgcmVzcG9uc2VIZWFkZXJzID0gYXdhaXQgYmV0dGVyQXV0aEhhbmRsZVJlcXVlc3QocmVxKVxuICAgIGNvbnN0IHJlc3BvbnNlQ29va2llcyA9IHJlc3BvbnNlSGVhZGVyc1xuICAgICAgPy5nZXRTZXRDb29raWUoKVxuICAgICAgLm1hcCgoY29va2llKSA9PiBwYXJzZVNldENvb2tpZShjb29raWUpKVxuICAgICAgLmZpbHRlcihCb29sZWFuKSBhcyBSZXNwb25zZUNvb2tpZVtdXG5cbiAgICBpZiAocmVzcG9uc2VDb29raWVzKSB7XG4gICAgICBmb3IgKGNvbnN0IGNvb2tpZURhdGEgb2YgcmVzcG9uc2VDb29raWVzKSB7XG4gICAgICAgIGNvbnN0IHsgbmFtZSwgdmFsdWUsIC4uLm9wdGlvbnMgfSA9IGNvb2tpZURhdGFcbiAgICAgICAgY29va2llU3RvcmUuc2V0KHtcbiAgICAgICAgICAuLi5vcHRpb25zLFxuICAgICAgICAgIG5hbWUsXG4gICAgICAgICAgdmFsdWU6IGRlY29kZVVSSUNvbXBvbmVudCh2YWx1ZSksXG4gICAgICAgIH0pXG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGhvb2sgYXMgQ29sbGVjdGlvbkFmdGVyTG9naW5Ib29rXG59XG4iXSwibmFtZXMiOlsiZ2VuZXJhdGVJZCIsImNyZWF0ZUF1dGhNaWRkbGV3YXJlIiwic2V0Q29va2llQ2FjaGUiLCJwYXJzZVNldENvb2tpZSIsImNvb2tpZXMiLCJnZXRQYXlsb2FkQXV0aCIsImdldElwIiwicHJlcGFyZVNlc3Npb25EYXRhIiwiZ2V0QWZ0ZXJMb2dpbkhvb2siLCJvcHRpb25zIiwiaG9vayIsImNvbGxlY3Rpb24iLCJjb250ZXh0IiwicmVxIiwidG9rZW4iLCJ1c2VyIiwiY29uZmlnIiwicGF5bG9hZCIsImNvb2tpZVN0b3JlIiwiYXV0aENvbnRleHQiLCJiZXR0ZXJBdXRoIiwiJGNvbnRleHQiLCJzZXNzaW9uRXhwaXJhdGlvbiIsInNlc3Npb24iLCJleHBpcmVzSW4iLCJjcmVhdGUiLCJzZXNzaW9uc0NvbGxlY3Rpb25TbHVnIiwiZGF0YSIsImlwQWRkcmVzcyIsImhlYWRlcnMiLCJ1c2VyQWdlbnQiLCJnZXQiLCJpZCIsImV4cGlyZXNBdCIsIkRhdGUiLCJub3ciLCJiZXR0ZXJBdXRoSGFuZGxlUmVxdWVzdCIsImN0eCIsInNldFNpZ25lZENvb2tpZSIsImF1dGhDb29raWVzIiwic2Vzc2lvblRva2VuIiwibmFtZSIsInNlY3JldCIsImZpbHRlcmVkU2Vzc2lvbkRhdGEiLCJuZXdTZXNzaW9uIiwicGF5bG9hZENvbmZpZyIsImNvbGxlY3Rpb25TbHVncyIsInVzZXJDb2xsZWN0aW9uU2x1ZyIsInVzZXJzQ29sbGVjdGlvblNsdWciLCJzZXNzaW9uQ29sbGVjdGlvblNsdWciLCJyZXNwb25zZUhlYWRlcnMiLCJyZXNwb25zZUNvb2tpZXMiLCJnZXRTZXRDb29raWUiLCJtYXAiLCJjb29raWUiLCJmaWx0ZXIiLCJCb29sZWFuIiwiY29va2llRGF0YSIsInZhbHVlIiwic2V0IiwiZGVjb2RlVVJJQ29tcG9uZW50Il0sIm1hcHBpbmdzIjoiQUFBQSxTQUFTQSxVQUFVLFFBQWlCLGNBQWE7QUFDakQsU0FBU0Msb0JBQW9CLFFBQVEsa0JBQWlCO0FBQ3RELFNBQVNDLGNBQWMsUUFBUSxzQkFBcUI7QUFDcEQsU0FBU0MsY0FBYyxRQUE2QiwyQ0FBMEM7QUFDOUYsU0FBU0MsT0FBTyxRQUFRLGVBQWM7QUFFdEMsU0FBU0MsY0FBYyxRQUFRLGdDQUErQjtBQUM5RCxTQUFTQyxLQUFLLFFBQVEsMEJBQXlCO0FBQy9DLFNBQVNDLGtCQUFrQixRQUFRLG9DQUFtQztBQU90RTs7O0NBR0MsR0FDRCxPQUFPLE1BQU1DLG9CQUFvQixDQUFDQztJQUNoQyxNQUFNQyxPQUFpQyxPQUFPLEVBQUVDLFVBQVUsRUFBRUMsT0FBTyxFQUFFQyxHQUFHLEVBQUVDLEtBQUssRUFBRUMsSUFBSSxFQUFFO1FBQ3JGLE1BQU1DLFNBQVNILElBQUlJLE9BQU8sQ0FBQ0QsTUFBTTtRQUNqQyxNQUFNQyxVQUFVLE1BQU1aLGVBQWVXO1FBQ3JDLE1BQU1FLGNBQWMsTUFBTWQ7UUFDMUIsTUFBTWUsY0FBYyxNQUFNRixRQUFRRyxVQUFVLENBQUNDLFFBQVE7UUFFckQsTUFBTUMsb0JBQW9CTCxRQUFRRyxVQUFVLENBQUNYLE9BQU8sQ0FBQ2MsT0FBTyxFQUFFQyxhQUFhLEtBQUssS0FBSyxLQUFLLEVBQUUsU0FBUzs7UUFDckcsMEdBQTBHO1FBQzFHLE1BQU1ELFVBQVcsTUFBTU4sUUFBUVEsTUFBTSxDQUFDO1lBQ3BDZCxZQUFZRixRQUFRaUIsc0JBQXNCO1lBQzFDQyxNQUFNO2dCQUNKQyxXQUFXdEIsTUFBTU8sSUFBSWdCLE9BQU8sRUFBRVosUUFBUUcsVUFBVSxDQUFDWCxPQUFPLEtBQUs7Z0JBQzdEcUIsV0FBV2pCLElBQUlnQixPQUFPLEVBQUVFLElBQUksaUJBQWlCO2dCQUM3Q2hCLE1BQU1BLEtBQUtpQixFQUFFO2dCQUNibEIsT0FBT2QsV0FBVztnQkFDbEJpQyxXQUFXLElBQUlDLEtBQUtBLEtBQUtDLEdBQUcsS0FBS2Isb0JBQW9CO1lBQ3ZEO1lBQ0FUO1FBQ0Y7UUFFQSxNQUFNdUIsMEJBQTBCbkMscUJBQXFCLE9BQU9vQztZQUMxREEsSUFBSXpCLE9BQU8sR0FBRztnQkFBRSxHQUFHTyxXQUFXO2dCQUFFSixNQUFNQTtZQUFLO1lBQzNDLE1BQU1zQixJQUFJQyxlQUFlLENBQ3ZCRCxJQUFJekIsT0FBTyxDQUFDMkIsV0FBVyxDQUFDQyxZQUFZLENBQUNDLElBQUksRUFDekNsQixRQUFRVCxLQUFLLEVBQ2J1QixJQUFJekIsT0FBTyxDQUFDOEIsTUFBTSxFQUNsQkwsSUFBSXpCLE9BQU8sQ0FBQzJCLFdBQVcsQ0FBQ0MsWUFBWSxDQUFDL0IsT0FBTztZQUU5QyxNQUFNa0Msc0JBQXNCLE1BQU1wQyxtQkFBbUI7Z0JBQ25EcUMsWUFBWTtvQkFBRXJCO29CQUFTUjtnQkFBSztnQkFDNUI4QixlQUFlN0I7Z0JBQ2Y4QixpQkFBaUI7b0JBQ2ZDLG9CQUFvQnRDLFFBQVF1QyxtQkFBbUI7b0JBQy9DQyx1QkFBdUJ4QyxRQUFRaUIsc0JBQXNCO2dCQUN2RDtZQUNGO1lBQ0EsTUFBTXhCLGVBQWVtQyxLQUFLTTtZQUMxQixJQUFJLHFCQUFxQk4sS0FBSztnQkFDNUIsT0FBT0EsSUFBSWEsZUFBZTtZQUM1QjtZQUNBLE9BQU87UUFDVDtRQUVBLE1BQU1BLGtCQUFrQixNQUFNZCx3QkFBd0J2QjtRQUN0RCxNQUFNc0Msa0JBQWtCRCxpQkFDcEJFLGVBQ0RDLElBQUksQ0FBQ0MsU0FBV25ELGVBQWVtRCxTQUMvQkMsT0FBT0M7UUFFVixJQUFJTCxpQkFBaUI7WUFDbkIsS0FBSyxNQUFNTSxjQUFjTixnQkFBaUI7Z0JBQ3hDLE1BQU0sRUFBRVYsSUFBSSxFQUFFaUIsS0FBSyxFQUFFLEdBQUdqRCxTQUFTLEdBQUdnRDtnQkFDcEN2QyxZQUFZeUMsR0FBRyxDQUFDO29CQUNkLEdBQUdsRCxPQUFPO29CQUNWZ0M7b0JBQ0FpQixPQUFPRSxtQkFBbUJGO2dCQUM1QjtZQUNGO1FBQ0Y7SUFDRjtJQUVBLE9BQU9oRDtBQUNULEVBQUMifQ==
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"after-logout.d.ts","sourceRoot":"","sources":["../../../../../../src/better-auth/plugin/collections/users/hooks/after-logout.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAA;AAOxD,KAAK,kBAAkB,GAAG;IACxB,sBAAsB,EAAE,MAAM,CAAA;CAC/B,CAAA;AAED,eAAO,MAAM,kBAAkB,GAAI,SAAS,kBAAkB,KAAG,yBAgDhE,CAAA"}
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
import { cookies } from 'next/headers';
|
|
2
|
-
import { getPayloadAuth } from '../../../lib/get-payload-auth';
|
|
3
|
-
export const getAfterLogoutHook = (options)=>{
|
|
4
|
-
const hook = async ({ req })=>{
|
|
5
|
-
const cookieStore = await cookies();
|
|
6
|
-
const payload = await getPayloadAuth(req.payload.config);
|
|
7
|
-
const authContext = await payload.betterAuth.$context;
|
|
8
|
-
const sessionTokenName = authContext.authCookies.sessionToken.name;
|
|
9
|
-
const sessionDataName = authContext.authCookies.sessionData.name;
|
|
10
|
-
const dontRememberTokenName = authContext.authCookies.dontRememberToken.name;
|
|
11
|
-
const sessionCookieValue = cookieStore.get(sessionTokenName)?.value;
|
|
12
|
-
if (sessionCookieValue) {
|
|
13
|
-
const payload = req.payload;
|
|
14
|
-
const [token] = sessionCookieValue.split('.');
|
|
15
|
-
const { docs: sessions } = await payload.find({
|
|
16
|
-
collection: options.sessionsCollectionSlug,
|
|
17
|
-
where: {
|
|
18
|
-
token: {
|
|
19
|
-
equals: token
|
|
20
|
-
}
|
|
21
|
-
},
|
|
22
|
-
limit: 1
|
|
23
|
-
});
|
|
24
|
-
const session = sessions.at(0);
|
|
25
|
-
if (session) {
|
|
26
|
-
await payload.delete({
|
|
27
|
-
collection: options.sessionsCollectionSlug,
|
|
28
|
-
id: session.id
|
|
29
|
-
});
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
const baseMultiSessionName = sessionTokenName + '_multi';
|
|
33
|
-
const multiSessionCookies = cookieStore.getAll();
|
|
34
|
-
multiSessionCookies.forEach((cookie)=>{
|
|
35
|
-
if (cookie.name.startsWith(baseMultiSessionName)) {
|
|
36
|
-
cookieStore.delete(cookie.name);
|
|
37
|
-
}
|
|
38
|
-
});
|
|
39
|
-
//TODO: this is a hack to delete the admin session cookie
|
|
40
|
-
// we need to find a better way to do this (BETTER AUTH HARDCODED THIS)
|
|
41
|
-
cookieStore.delete('admin_session');
|
|
42
|
-
cookieStore.delete(sessionTokenName);
|
|
43
|
-
cookieStore.delete(sessionDataName);
|
|
44
|
-
cookieStore.delete(dontRememberTokenName);
|
|
45
|
-
};
|
|
46
|
-
return hook;
|
|
47
|
-
};
|
|
48
|
-
|
|
49
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9iZXR0ZXItYXV0aC9wbHVnaW4vY29sbGVjdGlvbnMvdXNlcnMvaG9va3MvYWZ0ZXItbG9nb3V0LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNvb2tpZXMgfSBmcm9tICduZXh0L2hlYWRlcnMnXG5pbXBvcnQgdHlwZSB7IENvbGxlY3Rpb25BZnRlckxvZ291dEhvb2sgfSBmcm9tICdwYXlsb2FkJ1xuaW1wb3J0IHR5cGUgeyBDb2xsZWN0aW9uSG9va1dpdGhCZXR0ZXJBdXRoIH0gZnJvbSAnLi4vLi4vLi4vdHlwZXMnXG5pbXBvcnQgeyBnZXRQYXlsb2FkQXV0aCB9IGZyb20gJy4uLy4uLy4uL2xpYi9nZXQtcGF5bG9hZC1hdXRoJ1xuXG50eXBlIENvbGxlY3Rpb25BZnRlckxvZ291dEhvb2tXaXRoQmV0dGVyQXV0aCA9XG4gIENvbGxlY3Rpb25Ib29rV2l0aEJldHRlckF1dGg8Q29sbGVjdGlvbkFmdGVyTG9nb3V0SG9vaz5cblxudHlwZSBBZnRlckxvZ291dE9wdGlvbnMgPSB7XG4gIHNlc3Npb25zQ29sbGVjdGlvblNsdWc6IHN0cmluZ1xufVxuXG5leHBvcnQgY29uc3QgZ2V0QWZ0ZXJMb2dvdXRIb29rID0gKG9wdGlvbnM6IEFmdGVyTG9nb3V0T3B0aW9ucyk6IENvbGxlY3Rpb25BZnRlckxvZ291dEhvb2sgPT4ge1xuICBjb25zdCBob29rOiBDb2xsZWN0aW9uQWZ0ZXJMb2dvdXRIb29rV2l0aEJldHRlckF1dGggPSBhc3luYyAoeyByZXEgfSkgPT4ge1xuICAgIGNvbnN0IGNvb2tpZVN0b3JlID0gYXdhaXQgY29va2llcygpXG4gICAgY29uc3QgcGF5bG9hZCA9IGF3YWl0IGdldFBheWxvYWRBdXRoKHJlcS5wYXlsb2FkLmNvbmZpZylcbiAgICBjb25zdCBhdXRoQ29udGV4dCA9IGF3YWl0IHBheWxvYWQuYmV0dGVyQXV0aC4kY29udGV4dFxuICAgIGNvbnN0IHNlc3Npb25Ub2tlbk5hbWUgPSBhdXRoQ29udGV4dC5hdXRoQ29va2llcy5zZXNzaW9uVG9rZW4ubmFtZVxuXG4gICAgY29uc3Qgc2Vzc2lvbkRhdGFOYW1lID0gYXV0aENvbnRleHQuYXV0aENvb2tpZXMuc2Vzc2lvbkRhdGEubmFtZVxuICAgIGNvbnN0IGRvbnRSZW1lbWJlclRva2VuTmFtZSA9IGF1dGhDb250ZXh0LmF1dGhDb29raWVzLmRvbnRSZW1lbWJlclRva2VuLm5hbWVcblxuICAgIGNvbnN0IHNlc3Npb25Db29raWVWYWx1ZSA9IGNvb2tpZVN0b3JlLmdldChzZXNzaW9uVG9rZW5OYW1lKT8udmFsdWVcbiAgICBpZiAoc2Vzc2lvbkNvb2tpZVZhbHVlKSB7XG4gICAgICBjb25zdCBwYXlsb2FkID0gcmVxLnBheWxvYWRcbiAgICAgIGNvbnN0IFt0b2tlbl0gPSBzZXNzaW9uQ29va2llVmFsdWUuc3BsaXQoJy4nKVxuICAgICAgY29uc3QgeyBkb2NzOiBzZXNzaW9ucyB9ID0gYXdhaXQgcGF5bG9hZC5maW5kKHtcbiAgICAgICAgY29sbGVjdGlvbjogb3B0aW9ucy5zZXNzaW9uc0NvbGxlY3Rpb25TbHVnLFxuICAgICAgICB3aGVyZToge1xuICAgICAgICAgIHRva2VuOiB7IGVxdWFsczogdG9rZW4gfSxcbiAgICAgICAgfSxcbiAgICAgICAgbGltaXQ6IDEsXG4gICAgICB9KVxuICAgICAgY29uc3Qgc2Vzc2lvbiA9IHNlc3Npb25zLmF0KDApXG4gICAgICBpZiAoc2Vzc2lvbikge1xuICAgICAgICBhd2FpdCBwYXlsb2FkLmRlbGV0ZSh7XG4gICAgICAgICAgY29sbGVjdGlvbjogb3B0aW9ucy5zZXNzaW9uc0NvbGxlY3Rpb25TbHVnLFxuICAgICAgICAgIGlkOiBzZXNzaW9uLmlkLFxuICAgICAgICB9KVxuICAgICAgfVxuICAgIH1cblxuICAgIGNvbnN0IGJhc2VNdWx0aVNlc3Npb25OYW1lID0gc2Vzc2lvblRva2VuTmFtZSArICdfbXVsdGknXG4gICAgY29uc3QgbXVsdGlTZXNzaW9uQ29va2llcyA9IGNvb2tpZVN0b3JlLmdldEFsbCgpXG4gICAgbXVsdGlTZXNzaW9uQ29va2llcy5mb3JFYWNoKChjb29raWUpID0+IHtcbiAgICAgIGlmIChjb29raWUubmFtZS5zdGFydHNXaXRoKGJhc2VNdWx0aVNlc3Npb25OYW1lKSkge1xuICAgICAgICBjb29raWVTdG9yZS5kZWxldGUoY29va2llLm5hbWUpXG4gICAgICB9XG4gICAgfSlcblxuICAgIC8vVE9ETzogdGhpcyBpcyBhIGhhY2sgdG8gZGVsZXRlIHRoZSBhZG1pbiBzZXNzaW9uIGNvb2tpZVxuICAgIC8vIHdlIG5lZWQgdG8gZmluZCBhIGJldHRlciB3YXkgdG8gZG8gdGhpcyAoQkVUVEVSIEFVVEggSEFSRENPREVEIFRISVMpXG4gICAgY29va2llU3RvcmUuZGVsZXRlKCdhZG1pbl9zZXNzaW9uJylcblxuICAgIGNvb2tpZVN0b3JlLmRlbGV0ZShzZXNzaW9uVG9rZW5OYW1lKVxuICAgIGNvb2tpZVN0b3JlLmRlbGV0ZShzZXNzaW9uRGF0YU5hbWUpXG4gICAgY29va2llU3RvcmUuZGVsZXRlKGRvbnRSZW1lbWJlclRva2VuTmFtZSlcbiAgfVxuXG4gIHJldHVybiBob29rIGFzIENvbGxlY3Rpb25BZnRlckxvZ291dEhvb2tcbn1cbiJdLCJuYW1lcyI6WyJjb29raWVzIiwiZ2V0UGF5bG9hZEF1dGgiLCJnZXRBZnRlckxvZ291dEhvb2siLCJvcHRpb25zIiwiaG9vayIsInJlcSIsImNvb2tpZVN0b3JlIiwicGF5bG9hZCIsImNvbmZpZyIsImF1dGhDb250ZXh0IiwiYmV0dGVyQXV0aCIsIiRjb250ZXh0Iiwic2Vzc2lvblRva2VuTmFtZSIsImF1dGhDb29raWVzIiwic2Vzc2lvblRva2VuIiwibmFtZSIsInNlc3Npb25EYXRhTmFtZSIsInNlc3Npb25EYXRhIiwiZG9udFJlbWVtYmVyVG9rZW5OYW1lIiwiZG9udFJlbWVtYmVyVG9rZW4iLCJzZXNzaW9uQ29va2llVmFsdWUiLCJnZXQiLCJ2YWx1ZSIsInRva2VuIiwic3BsaXQiLCJkb2NzIiwic2Vzc2lvbnMiLCJmaW5kIiwiY29sbGVjdGlvbiIsInNlc3Npb25zQ29sbGVjdGlvblNsdWciLCJ3aGVyZSIsImVxdWFscyIsImxpbWl0Iiwic2Vzc2lvbiIsImF0IiwiZGVsZXRlIiwiaWQiLCJiYXNlTXVsdGlTZXNzaW9uTmFtZSIsIm11bHRpU2Vzc2lvbkNvb2tpZXMiLCJnZXRBbGwiLCJmb3JFYWNoIiwiY29va2llIiwic3RhcnRzV2l0aCJdLCJtYXBwaW5ncyI6IkFBQUEsU0FBU0EsT0FBTyxRQUFRLGVBQWM7QUFHdEMsU0FBU0MsY0FBYyxRQUFRLGdDQUErQjtBQVM5RCxPQUFPLE1BQU1DLHFCQUFxQixDQUFDQztJQUNqQyxNQUFNQyxPQUFnRCxPQUFPLEVBQUVDLEdBQUcsRUFBRTtRQUNsRSxNQUFNQyxjQUFjLE1BQU1OO1FBQzFCLE1BQU1PLFVBQVUsTUFBTU4sZUFBZUksSUFBSUUsT0FBTyxDQUFDQyxNQUFNO1FBQ3ZELE1BQU1DLGNBQWMsTUFBTUYsUUFBUUcsVUFBVSxDQUFDQyxRQUFRO1FBQ3JELE1BQU1DLG1CQUFtQkgsWUFBWUksV0FBVyxDQUFDQyxZQUFZLENBQUNDLElBQUk7UUFFbEUsTUFBTUMsa0JBQWtCUCxZQUFZSSxXQUFXLENBQUNJLFdBQVcsQ0FBQ0YsSUFBSTtRQUNoRSxNQUFNRyx3QkFBd0JULFlBQVlJLFdBQVcsQ0FBQ00saUJBQWlCLENBQUNKLElBQUk7UUFFNUUsTUFBTUsscUJBQXFCZCxZQUFZZSxHQUFHLENBQUNULG1CQUFtQlU7UUFDOUQsSUFBSUYsb0JBQW9CO1lBQ3RCLE1BQU1iLFVBQVVGLElBQUlFLE9BQU87WUFDM0IsTUFBTSxDQUFDZ0IsTUFBTSxHQUFHSCxtQkFBbUJJLEtBQUssQ0FBQztZQUN6QyxNQUFNLEVBQUVDLE1BQU1DLFFBQVEsRUFBRSxHQUFHLE1BQU1uQixRQUFRb0IsSUFBSSxDQUFDO2dCQUM1Q0MsWUFBWXpCLFFBQVEwQixzQkFBc0I7Z0JBQzFDQyxPQUFPO29CQUNMUCxPQUFPO3dCQUFFUSxRQUFRUjtvQkFBTTtnQkFDekI7Z0JBQ0FTLE9BQU87WUFDVDtZQUNBLE1BQU1DLFVBQVVQLFNBQVNRLEVBQUUsQ0FBQztZQUM1QixJQUFJRCxTQUFTO2dCQUNYLE1BQU0xQixRQUFRNEIsTUFBTSxDQUFDO29CQUNuQlAsWUFBWXpCLFFBQVEwQixzQkFBc0I7b0JBQzFDTyxJQUFJSCxRQUFRRyxFQUFFO2dCQUNoQjtZQUNGO1FBQ0Y7UUFFQSxNQUFNQyx1QkFBdUJ6QixtQkFBbUI7UUFDaEQsTUFBTTBCLHNCQUFzQmhDLFlBQVlpQyxNQUFNO1FBQzlDRCxvQkFBb0JFLE9BQU8sQ0FBQyxDQUFDQztZQUMzQixJQUFJQSxPQUFPMUIsSUFBSSxDQUFDMkIsVUFBVSxDQUFDTCx1QkFBdUI7Z0JBQ2hEL0IsWUFBWTZCLE1BQU0sQ0FBQ00sT0FBTzFCLElBQUk7WUFDaEM7UUFDRjtRQUVBLHlEQUF5RDtRQUN6RCx1RUFBdUU7UUFDdkVULFlBQVk2QixNQUFNLENBQUM7UUFFbkI3QixZQUFZNkIsTUFBTSxDQUFDdkI7UUFDbkJOLFlBQVk2QixNQUFNLENBQUNuQjtRQUNuQlYsWUFBWTZCLE1BQU0sQ0FBQ2pCO0lBQ3JCO0lBRUEsT0FBT2Q7QUFDVCxFQUFDIn0=
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"before-login.d.ts","sourceRoot":"","sources":["../../../../../../src/better-auth/plugin/collections/users/hooks/before-login.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,yBAAyB,EAAE,MAAM,SAAS,CAAA;AAG7D;;GAEG;AACH,eAAO,MAAM,kBAAkB,QAAO,yBAmBrC,CAAA"}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { APIError } from 'payload';
|
|
2
|
-
import { getPayloadAuth } from '../../../lib/get-payload-auth';
|
|
3
|
-
/**
|
|
4
|
-
* This hook blocks login attempts if email verification is required and the user's email is not verified
|
|
5
|
-
*/ export const getBeforeLoginHook = ()=>{
|
|
6
|
-
const hook = async ({ req, user })=>{
|
|
7
|
-
const config = req.payload.config;
|
|
8
|
-
const payload = await getPayloadAuth(config);
|
|
9
|
-
const requireEmailVerification = payload.betterAuth.options.emailAndPassword?.requireEmailVerification ?? false;
|
|
10
|
-
if (requireEmailVerification && !user.emailVerified) {
|
|
11
|
-
throw new APIError('Email verification required. Please verify your email before logging in.', 403);
|
|
12
|
-
}
|
|
13
|
-
return user;
|
|
14
|
-
};
|
|
15
|
-
return hook;
|
|
16
|
-
};
|
|
17
|
-
|
|
18
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9iZXR0ZXItYXV0aC9wbHVnaW4vY29sbGVjdGlvbnMvdXNlcnMvaG9va3MvYmVmb3JlLWxvZ2luLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFQSUVycm9yLCBDb2xsZWN0aW9uQmVmb3JlTG9naW5Ib29rIH0gZnJvbSAncGF5bG9hZCdcbmltcG9ydCB7IGdldFBheWxvYWRBdXRoIH0gZnJvbSAnLi4vLi4vLi4vbGliL2dldC1wYXlsb2FkLWF1dGgnXG5cbi8qKlxuICogVGhpcyBob29rIGJsb2NrcyBsb2dpbiBhdHRlbXB0cyBpZiBlbWFpbCB2ZXJpZmljYXRpb24gaXMgcmVxdWlyZWQgYW5kIHRoZSB1c2VyJ3MgZW1haWwgaXMgbm90IHZlcmlmaWVkXG4gKi9cbmV4cG9ydCBjb25zdCBnZXRCZWZvcmVMb2dpbkhvb2sgPSAoKTogQ29sbGVjdGlvbkJlZm9yZUxvZ2luSG9vayA9PiB7XG4gIGNvbnN0IGhvb2s6IENvbGxlY3Rpb25CZWZvcmVMb2dpbkhvb2sgPSBhc3luYyAoeyByZXEsIHVzZXIgfSkgPT4ge1xuICAgIGNvbnN0IGNvbmZpZyA9IHJlcS5wYXlsb2FkLmNvbmZpZ1xuICAgIGNvbnN0IHBheWxvYWQgPSBhd2FpdCBnZXRQYXlsb2FkQXV0aChjb25maWcpXG5cbiAgICBjb25zdCByZXF1aXJlRW1haWxWZXJpZmljYXRpb24gPVxuICAgICAgcGF5bG9hZC5iZXR0ZXJBdXRoLm9wdGlvbnMuZW1haWxBbmRQYXNzd29yZD8ucmVxdWlyZUVtYWlsVmVyaWZpY2F0aW9uID8/IGZhbHNlXG5cbiAgICBpZiAocmVxdWlyZUVtYWlsVmVyaWZpY2F0aW9uICYmICF1c2VyLmVtYWlsVmVyaWZpZWQpIHtcbiAgICAgIHRocm93IG5ldyBBUElFcnJvcihcbiAgICAgICAgJ0VtYWlsIHZlcmlmaWNhdGlvbiByZXF1aXJlZC4gUGxlYXNlIHZlcmlmeSB5b3VyIGVtYWlsIGJlZm9yZSBsb2dnaW5nIGluLicsXG4gICAgICAgIDQwMyxcbiAgICAgIClcbiAgICB9XG5cbiAgICByZXR1cm4gdXNlclxuICB9XG5cbiAgcmV0dXJuIGhvb2tcbn1cbiJdLCJuYW1lcyI6WyJBUElFcnJvciIsImdldFBheWxvYWRBdXRoIiwiZ2V0QmVmb3JlTG9naW5Ib29rIiwiaG9vayIsInJlcSIsInVzZXIiLCJjb25maWciLCJwYXlsb2FkIiwicmVxdWlyZUVtYWlsVmVyaWZpY2F0aW9uIiwiYmV0dGVyQXV0aCIsIm9wdGlvbnMiLCJlbWFpbEFuZFBhc3N3b3JkIiwiZW1haWxWZXJpZmllZCJdLCJtYXBwaW5ncyI6IkFBQUEsU0FBU0EsUUFBUSxRQUFtQyxVQUFTO0FBQzdELFNBQVNDLGNBQWMsUUFBUSxnQ0FBK0I7QUFFOUQ7O0NBRUMsR0FDRCxPQUFPLE1BQU1DLHFCQUFxQjtJQUNoQyxNQUFNQyxPQUFrQyxPQUFPLEVBQUVDLEdBQUcsRUFBRUMsSUFBSSxFQUFFO1FBQzFELE1BQU1DLFNBQVNGLElBQUlHLE9BQU8sQ0FBQ0QsTUFBTTtRQUNqQyxNQUFNQyxVQUFVLE1BQU1OLGVBQWVLO1FBRXJDLE1BQU1FLDJCQUNKRCxRQUFRRSxVQUFVLENBQUNDLE9BQU8sQ0FBQ0MsZ0JBQWdCLEVBQUVILDRCQUE0QjtRQUUzRSxJQUFJQSw0QkFBNEIsQ0FBQ0gsS0FBS08sYUFBYSxFQUFFO1lBQ25ELE1BQU0sSUFBSVosU0FDUiw0RUFDQTtRQUVKO1FBRUEsT0FBT0s7SUFDVDtJQUVBLE9BQU9GO0FBQ1QsRUFBQyJ9
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import type { CollectionAfterDeleteHook } from 'payload';
|
|
2
|
-
import type { CollectionHookWithBetterAuth } from '../../../types';
|
|
3
|
-
type CollectionAfterDeleteHookWithBetterAuth = CollectionHookWithBetterAuth<CollectionAfterDeleteHook>;
|
|
4
|
-
export declare const cleanUpUserAfterDelete: CollectionAfterDeleteHookWithBetterAuth;
|
|
5
|
-
export {};
|
|
6
|
-
//# sourceMappingURL=clean-up-user-after-delete.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"clean-up-user-after-delete.d.ts","sourceRoot":"","sources":["../../../../../../src/better-auth/plugin/collections/users/hooks/clean-up-user-after-delete.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAA;AACxD,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,gBAAgB,CAAA;AAElE,KAAK,uCAAuC,GAC1C,4BAA4B,CAAC,yBAAyB,CAAC,CAAA;AAEzD,eAAO,MAAM,sBAAsB,EAAE,uCAiCpC,CAAA"}
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
export const cleanUpUserAfterDelete = async ({ doc, req })=>{
|
|
2
|
-
try {
|
|
3
|
-
const { payload } = req;
|
|
4
|
-
const betterAuthContext = await payload.betterAuth.$context;
|
|
5
|
-
const userId = doc.id;
|
|
6
|
-
const beforeDelete = betterAuthContext.options.user?.deleteUser?.beforeDelete;
|
|
7
|
-
if (typeof beforeDelete === 'function') {
|
|
8
|
-
await beforeDelete(doc, req);
|
|
9
|
-
}
|
|
10
|
-
await betterAuthContext.internalAdapter.deleteSessions(userId);
|
|
11
|
-
await betterAuthContext.internalAdapter.deleteAccounts(userId);
|
|
12
|
-
if (payload.collections.verifications) {
|
|
13
|
-
await payload.delete({
|
|
14
|
-
collection: payload.collections.verifications.config.slug,
|
|
15
|
-
where: {
|
|
16
|
-
value: {
|
|
17
|
-
like: `"${userId}"`
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
});
|
|
21
|
-
}
|
|
22
|
-
const afterDelete = betterAuthContext.options.user?.deleteUser?.afterDelete;
|
|
23
|
-
if (typeof afterDelete === 'function') {
|
|
24
|
-
await afterDelete(doc, req);
|
|
25
|
-
}
|
|
26
|
-
return doc;
|
|
27
|
-
} catch (error) {
|
|
28
|
-
console.error('Error in user afterDelete hook:', error);
|
|
29
|
-
return doc;
|
|
30
|
-
}
|
|
31
|
-
};
|
|
32
|
-
|
|
33
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9iZXR0ZXItYXV0aC9wbHVnaW4vY29sbGVjdGlvbnMvdXNlcnMvaG9va3MvY2xlYW4tdXAtdXNlci1hZnRlci1kZWxldGUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBDb2xsZWN0aW9uQWZ0ZXJEZWxldGVIb29rIH0gZnJvbSAncGF5bG9hZCdcbmltcG9ydCB0eXBlIHsgQ29sbGVjdGlvbkhvb2tXaXRoQmV0dGVyQXV0aCB9IGZyb20gJy4uLy4uLy4uL3R5cGVzJ1xuXG50eXBlIENvbGxlY3Rpb25BZnRlckRlbGV0ZUhvb2tXaXRoQmV0dGVyQXV0aCA9XG4gIENvbGxlY3Rpb25Ib29rV2l0aEJldHRlckF1dGg8Q29sbGVjdGlvbkFmdGVyRGVsZXRlSG9vaz5cblxuZXhwb3J0IGNvbnN0IGNsZWFuVXBVc2VyQWZ0ZXJEZWxldGU6IENvbGxlY3Rpb25BZnRlckRlbGV0ZUhvb2tXaXRoQmV0dGVyQXV0aCA9IGFzeW5jICh7XG4gIGRvYyxcbiAgcmVxLFxufSkgPT4ge1xuICB0cnkge1xuICAgIGNvbnN0IHsgcGF5bG9hZCB9ID0gcmVxXG4gICAgY29uc3QgYmV0dGVyQXV0aENvbnRleHQgPSBhd2FpdCBwYXlsb2FkLmJldHRlckF1dGguJGNvbnRleHRcbiAgICBjb25zdCB1c2VySWQgPSBkb2MuaWRcbiAgICBjb25zdCBiZWZvcmVEZWxldGUgPSBiZXR0ZXJBdXRoQ29udGV4dC5vcHRpb25zLnVzZXI/LmRlbGV0ZVVzZXI/LmJlZm9yZURlbGV0ZVxuICAgIGlmICh0eXBlb2YgYmVmb3JlRGVsZXRlID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICBhd2FpdCBiZWZvcmVEZWxldGUoZG9jLCByZXEgYXMgUmVxdWVzdClcbiAgICB9XG4gICAgYXdhaXQgYmV0dGVyQXV0aENvbnRleHQuaW50ZXJuYWxBZGFwdGVyLmRlbGV0ZVNlc3Npb25zKHVzZXJJZClcbiAgICBhd2FpdCBiZXR0ZXJBdXRoQ29udGV4dC5pbnRlcm5hbEFkYXB0ZXIuZGVsZXRlQWNjb3VudHModXNlcklkKVxuICAgIGlmIChwYXlsb2FkLmNvbGxlY3Rpb25zLnZlcmlmaWNhdGlvbnMpIHtcbiAgICAgIGF3YWl0IHBheWxvYWQuZGVsZXRlKHtcbiAgICAgICAgY29sbGVjdGlvbjogcGF5bG9hZC5jb2xsZWN0aW9ucy52ZXJpZmljYXRpb25zLmNvbmZpZy5zbHVnLFxuICAgICAgICB3aGVyZToge1xuICAgICAgICAgIHZhbHVlOiB7XG4gICAgICAgICAgICBsaWtlOiBgXCIke3VzZXJJZH1cImAsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIH0pXG4gICAgfVxuICAgIGNvbnN0IGFmdGVyRGVsZXRlID0gYmV0dGVyQXV0aENvbnRleHQub3B0aW9ucy51c2VyPy5kZWxldGVVc2VyPy5hZnRlckRlbGV0ZVxuICAgIGlmICh0eXBlb2YgYWZ0ZXJEZWxldGUgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIGF3YWl0IGFmdGVyRGVsZXRlKGRvYywgcmVxIGFzIFJlcXVlc3QpXG4gICAgfVxuICAgIHJldHVybiBkb2NcbiAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICBjb25zb2xlLmVycm9yKCdFcnJvciBpbiB1c2VyIGFmdGVyRGVsZXRlIGhvb2s6JywgZXJyb3IpXG4gICAgcmV0dXJuIGRvY1xuICB9XG59XG4iXSwibmFtZXMiOlsiY2xlYW5VcFVzZXJBZnRlckRlbGV0ZSIsImRvYyIsInJlcSIsInBheWxvYWQiLCJiZXR0ZXJBdXRoQ29udGV4dCIsImJldHRlckF1dGgiLCIkY29udGV4dCIsInVzZXJJZCIsImlkIiwiYmVmb3JlRGVsZXRlIiwib3B0aW9ucyIsInVzZXIiLCJkZWxldGVVc2VyIiwiaW50ZXJuYWxBZGFwdGVyIiwiZGVsZXRlU2Vzc2lvbnMiLCJkZWxldGVBY2NvdW50cyIsImNvbGxlY3Rpb25zIiwidmVyaWZpY2F0aW9ucyIsImRlbGV0ZSIsImNvbGxlY3Rpb24iLCJjb25maWciLCJzbHVnIiwid2hlcmUiLCJ2YWx1ZSIsImxpa2UiLCJhZnRlckRlbGV0ZSIsImVycm9yIiwiY29uc29sZSJdLCJtYXBwaW5ncyI6IkFBTUEsT0FBTyxNQUFNQSx5QkFBa0UsT0FBTyxFQUNwRkMsR0FBRyxFQUNIQyxHQUFHLEVBQ0o7SUFDQyxJQUFJO1FBQ0YsTUFBTSxFQUFFQyxPQUFPLEVBQUUsR0FBR0Q7UUFDcEIsTUFBTUUsb0JBQW9CLE1BQU1ELFFBQVFFLFVBQVUsQ0FBQ0MsUUFBUTtRQUMzRCxNQUFNQyxTQUFTTixJQUFJTyxFQUFFO1FBQ3JCLE1BQU1DLGVBQWVMLGtCQUFrQk0sT0FBTyxDQUFDQyxJQUFJLEVBQUVDLFlBQVlIO1FBQ2pFLElBQUksT0FBT0EsaUJBQWlCLFlBQVk7WUFDdEMsTUFBTUEsYUFBYVIsS0FBS0M7UUFDMUI7UUFDQSxNQUFNRSxrQkFBa0JTLGVBQWUsQ0FBQ0MsY0FBYyxDQUFDUDtRQUN2RCxNQUFNSCxrQkFBa0JTLGVBQWUsQ0FBQ0UsY0FBYyxDQUFDUjtRQUN2RCxJQUFJSixRQUFRYSxXQUFXLENBQUNDLGFBQWEsRUFBRTtZQUNyQyxNQUFNZCxRQUFRZSxNQUFNLENBQUM7Z0JBQ25CQyxZQUFZaEIsUUFBUWEsV0FBVyxDQUFDQyxhQUFhLENBQUNHLE1BQU0sQ0FBQ0MsSUFBSTtnQkFDekRDLE9BQU87b0JBQ0xDLE9BQU87d0JBQ0xDLE1BQU0sQ0FBQyxDQUFDLEVBQUVqQixPQUFPLENBQUMsQ0FBQztvQkFDckI7Z0JBQ0Y7WUFDRjtRQUNGO1FBQ0EsTUFBTWtCLGNBQWNyQixrQkFBa0JNLE9BQU8sQ0FBQ0MsSUFBSSxFQUFFQyxZQUFZYTtRQUNoRSxJQUFJLE9BQU9BLGdCQUFnQixZQUFZO1lBQ3JDLE1BQU1BLFlBQVl4QixLQUFLQztRQUN6QjtRQUNBLE9BQU9EO0lBQ1QsRUFBRSxPQUFPeUIsT0FBTztRQUNkQyxRQUFRRCxLQUFLLENBQUMsbUNBQW1DQTtRQUNqRCxPQUFPekI7SUFDVDtBQUNGLEVBQUMifQ==
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"on-verified-change.d.ts","sourceRoot":"","sources":["../../../../../../src/better-auth/plugin/collections/users/hooks/on-verified-change.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,MAAM,SAAS,CAAA;AAEpD,eAAO,MAAM,gBAAgB,EAAE,0BAc9B,CAAA"}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
export const onVerifiedChange = async ({ data, originalDoc })=>{
|
|
2
|
-
const isVerifiedChangingToTrue = Boolean(data._verified) && !Boolean(originalDoc?._verified);
|
|
3
|
-
const isEmailVerifiedChangingToTrue = Boolean(data.emailVerified) && !Boolean(originalDoc?.emailVerified);
|
|
4
|
-
if (!isVerifiedChangingToTrue && !isEmailVerifiedChangingToTrue) {
|
|
5
|
-
return data;
|
|
6
|
-
}
|
|
7
|
-
return {
|
|
8
|
-
...data,
|
|
9
|
-
_verified: true,
|
|
10
|
-
emailVerified: true
|
|
11
|
-
};
|
|
12
|
-
};
|
|
13
|
-
|
|
14
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9iZXR0ZXItYXV0aC9wbHVnaW4vY29sbGVjdGlvbnMvdXNlcnMvaG9va3Mvb24tdmVyaWZpZWQtY2hhbmdlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbGxlY3Rpb25CZWZvcmVDaGFuZ2VIb29rIH0gZnJvbSAncGF5bG9hZCdcblxuZXhwb3J0IGNvbnN0IG9uVmVyaWZpZWRDaGFuZ2U6IENvbGxlY3Rpb25CZWZvcmVDaGFuZ2VIb29rID0gYXN5bmMgKHsgZGF0YSwgb3JpZ2luYWxEb2MgfSkgPT4ge1xuICBjb25zdCBpc1ZlcmlmaWVkQ2hhbmdpbmdUb1RydWUgPSBCb29sZWFuKGRhdGEuX3ZlcmlmaWVkKSAmJiAhQm9vbGVhbihvcmlnaW5hbERvYz8uX3ZlcmlmaWVkKVxuICBjb25zdCBpc0VtYWlsVmVyaWZpZWRDaGFuZ2luZ1RvVHJ1ZSA9XG4gICAgQm9vbGVhbihkYXRhLmVtYWlsVmVyaWZpZWQpICYmICFCb29sZWFuKG9yaWdpbmFsRG9jPy5lbWFpbFZlcmlmaWVkKVxuXG4gIGlmICghaXNWZXJpZmllZENoYW5naW5nVG9UcnVlICYmICFpc0VtYWlsVmVyaWZpZWRDaGFuZ2luZ1RvVHJ1ZSkge1xuICAgIHJldHVybiBkYXRhXG4gIH1cblxuICByZXR1cm4ge1xuICAgIC4uLmRhdGEsXG4gICAgX3ZlcmlmaWVkOiB0cnVlLFxuICAgIGVtYWlsVmVyaWZpZWQ6IHRydWUsXG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJvblZlcmlmaWVkQ2hhbmdlIiwiZGF0YSIsIm9yaWdpbmFsRG9jIiwiaXNWZXJpZmllZENoYW5naW5nVG9UcnVlIiwiQm9vbGVhbiIsIl92ZXJpZmllZCIsImlzRW1haWxWZXJpZmllZENoYW5naW5nVG9UcnVlIiwiZW1haWxWZXJpZmllZCJdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxNQUFNQSxtQkFBK0MsT0FBTyxFQUFFQyxJQUFJLEVBQUVDLFdBQVcsRUFBRTtJQUN0RixNQUFNQywyQkFBMkJDLFFBQVFILEtBQUtJLFNBQVMsS0FBSyxDQUFDRCxRQUFRRixhQUFhRztJQUNsRixNQUFNQyxnQ0FDSkYsUUFBUUgsS0FBS00sYUFBYSxLQUFLLENBQUNILFFBQVFGLGFBQWFLO0lBRXZELElBQUksQ0FBQ0osNEJBQTRCLENBQUNHLCtCQUErQjtRQUMvRCxPQUFPTDtJQUNUO0lBRUEsT0FBTztRQUNMLEdBQUdBLElBQUk7UUFDUEksV0FBVztRQUNYRSxlQUFlO0lBQ2pCO0FBQ0YsRUFBQyJ9
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"sync-account.d.ts","sourceRoot":"","sources":["../../../../../../src/better-auth/plugin/collections/users/hooks/sync-account.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAA;AAOxD,KAAK,kBAAkB,GAAG;IACxB,QAAQ,EAAE,MAAM,CAAA;IAChB,WAAW,EAAE,MAAM,CAAA;CACpB,CAAA;AAED,eAAO,MAAM,kBAAkB,GAAI,SAAS,kBAAkB,KAAG,yBA2EhE,CAAA"}
|
|
@@ -1,82 +0,0 @@
|
|
|
1
|
-
import { BETTER_AUTH_CONTEXT_KEY } from '../../../../adapter';
|
|
2
|
-
export const getSyncAccountHook = (options)=>{
|
|
3
|
-
const hook = async ({ doc, req, operation, context })=>{
|
|
4
|
-
if (context?.syncPasswordToUser) return doc;
|
|
5
|
-
if (operation !== 'create' && operation !== 'update') return doc;
|
|
6
|
-
const user = await req.payload.findByID({
|
|
7
|
-
collection: options.userSlug,
|
|
8
|
-
id: doc.id,
|
|
9
|
-
depth: 0,
|
|
10
|
-
req,
|
|
11
|
-
showHiddenFields: true
|
|
12
|
-
});
|
|
13
|
-
if (!user || !user.hash || !user.salt) return doc;
|
|
14
|
-
const passwordValue = `${user.salt}:${user.hash}`;
|
|
15
|
-
const userField = req.payload.betterAuth.options.account?.fields?.userId || 'userId';
|
|
16
|
-
if (operation === 'create' && !(BETTER_AUTH_CONTEXT_KEY in context)) {
|
|
17
|
-
try {
|
|
18
|
-
await req.payload.create({
|
|
19
|
-
collection: options.accountSlug,
|
|
20
|
-
data: {
|
|
21
|
-
[userField]: doc.id,
|
|
22
|
-
accountId: doc.id.toString(),
|
|
23
|
-
providerId: 'credential',
|
|
24
|
-
password: passwordValue,
|
|
25
|
-
context: {
|
|
26
|
-
syncAccountHook: true
|
|
27
|
-
}
|
|
28
|
-
},
|
|
29
|
-
req
|
|
30
|
-
});
|
|
31
|
-
} catch (error) {
|
|
32
|
-
console.error('Failed to create account for user:', error);
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
if (operation === 'update') {
|
|
36
|
-
try {
|
|
37
|
-
const accounts = await req.payload.find({
|
|
38
|
-
collection: options.accountSlug,
|
|
39
|
-
where: {
|
|
40
|
-
and: [
|
|
41
|
-
{
|
|
42
|
-
[userField]: {
|
|
43
|
-
equals: doc.id
|
|
44
|
-
}
|
|
45
|
-
},
|
|
46
|
-
{
|
|
47
|
-
providerId: {
|
|
48
|
-
equals: 'credential'
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
]
|
|
52
|
-
},
|
|
53
|
-
req,
|
|
54
|
-
depth: 0,
|
|
55
|
-
context: {
|
|
56
|
-
syncAccountHook: true
|
|
57
|
-
}
|
|
58
|
-
});
|
|
59
|
-
const account = accounts.docs.at(0);
|
|
60
|
-
if (account) {
|
|
61
|
-
await req.payload.update({
|
|
62
|
-
collection: options.accountSlug,
|
|
63
|
-
id: account.id,
|
|
64
|
-
data: {
|
|
65
|
-
password: passwordValue
|
|
66
|
-
},
|
|
67
|
-
req,
|
|
68
|
-
context: {
|
|
69
|
-
syncAccountHook: true
|
|
70
|
-
}
|
|
71
|
-
});
|
|
72
|
-
}
|
|
73
|
-
} catch (error) {
|
|
74
|
-
console.error('Failed to sync hash/salt to account:', error);
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
return doc;
|
|
78
|
-
};
|
|
79
|
-
return hook;
|
|
80
|
-
};
|
|
81
|
-
|
|
82
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9iZXR0ZXItYXV0aC9wbHVnaW4vY29sbGVjdGlvbnMvdXNlcnMvaG9va3Mvc3luYy1hY2NvdW50LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQ29sbGVjdGlvbkFmdGVyQ2hhbmdlSG9vayB9IGZyb20gJ3BheWxvYWQnXG5pbXBvcnQgdHlwZSB7IENvbGxlY3Rpb25Ib29rV2l0aEJldHRlckF1dGggfSBmcm9tICcuLi8uLi8uLi90eXBlcydcbmltcG9ydCB7IEJFVFRFUl9BVVRIX0NPTlRFWFRfS0VZIH0gZnJvbSAnLi4vLi4vLi4vLi4vYWRhcHRlcidcblxudHlwZSBDb2xsZWN0aW9uQWZ0ZXJDaGFuZ2VIb29rV2l0aEJldHRlckF1dGggPVxuICBDb2xsZWN0aW9uSG9va1dpdGhCZXR0ZXJBdXRoPENvbGxlY3Rpb25BZnRlckNoYW5nZUhvb2s+XG5cbnR5cGUgU3luY0FjY291bnRPcHRpb25zID0ge1xuICB1c2VyU2x1Zzogc3RyaW5nXG4gIGFjY291bnRTbHVnOiBzdHJpbmdcbn1cblxuZXhwb3J0IGNvbnN0IGdldFN5bmNBY2NvdW50SG9vayA9IChvcHRpb25zOiBTeW5jQWNjb3VudE9wdGlvbnMpOiBDb2xsZWN0aW9uQWZ0ZXJDaGFuZ2VIb29rID0+IHtcbiAgY29uc3QgaG9vazogQ29sbGVjdGlvbkFmdGVyQ2hhbmdlSG9va1dpdGhCZXR0ZXJBdXRoID0gYXN5bmMgKHtcbiAgICBkb2MsXG4gICAgcmVxLFxuICAgIG9wZXJhdGlvbixcbiAgICBjb250ZXh0LFxuICB9KSA9PiB7XG4gICAgaWYgKGNvbnRleHQ/LnN5bmNQYXNzd29yZFRvVXNlcikgcmV0dXJuIGRvY1xuXG4gICAgaWYgKG9wZXJhdGlvbiAhPT0gJ2NyZWF0ZScgJiYgb3BlcmF0aW9uICE9PSAndXBkYXRlJykgcmV0dXJuIGRvY1xuXG4gICAgY29uc3QgdXNlciA9IGF3YWl0IHJlcS5wYXlsb2FkLmZpbmRCeUlEKHtcbiAgICAgIGNvbGxlY3Rpb246IG9wdGlvbnMudXNlclNsdWcsXG4gICAgICBpZDogZG9jLmlkLFxuICAgICAgZGVwdGg6IDAsXG4gICAgICByZXEsXG4gICAgICBzaG93SGlkZGVuRmllbGRzOiB0cnVlLFxuICAgIH0pXG5cbiAgICBpZiAoIXVzZXIgfHwgIXVzZXIuaGFzaCB8fCAhdXNlci5zYWx0KSByZXR1cm4gZG9jXG5cbiAgICBjb25zdCBwYXNzd29yZFZhbHVlID0gYCR7dXNlci5zYWx0fToke3VzZXIuaGFzaH1gXG4gICAgY29uc3QgdXNlckZpZWxkID0gcmVxLnBheWxvYWQuYmV0dGVyQXV0aC5vcHRpb25zLmFjY291bnQ/LmZpZWxkcz8udXNlcklkIHx8ICd1c2VySWQnXG5cbiAgICBpZiAob3BlcmF0aW9uID09PSAnY3JlYXRlJyAmJiAhKEJFVFRFUl9BVVRIX0NPTlRFWFRfS0VZIGluIGNvbnRleHQpKSB7XG4gICAgICB0cnkge1xuICAgICAgICBhd2FpdCByZXEucGF5bG9hZC5jcmVhdGUoe1xuICAgICAgICAgIGNvbGxlY3Rpb246IG9wdGlvbnMuYWNjb3VudFNsdWcsXG4gICAgICAgICAgZGF0YToge1xuICAgICAgICAgICAgW3VzZXJGaWVsZF06IGRvYy5pZCxcbiAgICAgICAgICAgIGFjY291bnRJZDogZG9jLmlkLnRvU3RyaW5nKCksXG4gICAgICAgICAgICBwcm92aWRlcklkOiAnY3JlZGVudGlhbCcsXG4gICAgICAgICAgICBwYXNzd29yZDogcGFzc3dvcmRWYWx1ZSxcbiAgICAgICAgICAgIGNvbnRleHQ6IHsgc3luY0FjY291bnRIb29rOiB0cnVlIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgICByZXEsXG4gICAgICAgIH0pXG4gICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBjb25zb2xlLmVycm9yKCdGYWlsZWQgdG8gY3JlYXRlIGFjY291bnQgZm9yIHVzZXI6JywgZXJyb3IpXG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKG9wZXJhdGlvbiA9PT0gJ3VwZGF0ZScpIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IGFjY291bnRzID0gYXdhaXQgcmVxLnBheWxvYWQuZmluZCh7XG4gICAgICAgICAgY29sbGVjdGlvbjogb3B0aW9ucy5hY2NvdW50U2x1ZyxcbiAgICAgICAgICB3aGVyZToge1xuICAgICAgICAgICAgYW5kOiBbeyBbdXNlckZpZWxkXTogeyBlcXVhbHM6IGRvYy5pZCB9IH0sIHsgcHJvdmlkZXJJZDogeyBlcXVhbHM6ICdjcmVkZW50aWFsJyB9IH1dLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgcmVxLFxuICAgICAgICAgIGRlcHRoOiAwLFxuICAgICAgICAgIGNvbnRleHQ6IHsgc3luY0FjY291bnRIb29rOiB0cnVlIH0sXG4gICAgICAgIH0pXG5cbiAgICAgICAgY29uc3QgYWNjb3VudCA9IGFjY291bnRzLmRvY3MuYXQoMClcbiAgICAgICAgaWYgKGFjY291bnQpIHtcbiAgICAgICAgICBhd2FpdCByZXEucGF5bG9hZC51cGRhdGUoe1xuICAgICAgICAgICAgY29sbGVjdGlvbjogb3B0aW9ucy5hY2NvdW50U2x1ZyxcbiAgICAgICAgICAgIGlkOiBhY2NvdW50LmlkLFxuICAgICAgICAgICAgZGF0YToge1xuICAgICAgICAgICAgICBwYXNzd29yZDogcGFzc3dvcmRWYWx1ZSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICByZXEsXG4gICAgICAgICAgICBjb250ZXh0OiB7IHN5bmNBY2NvdW50SG9vazogdHJ1ZSB9LFxuICAgICAgICAgIH0pXG4gICAgICAgIH1cbiAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoJ0ZhaWxlZCB0byBzeW5jIGhhc2gvc2FsdCB0byBhY2NvdW50OicsIGVycm9yKVxuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBkb2NcbiAgfVxuXG4gIHJldHVybiBob29rIGFzIENvbGxlY3Rpb25BZnRlckNoYW5nZUhvb2tcbn1cbiJdLCJuYW1lcyI6WyJCRVRURVJfQVVUSF9DT05URVhUX0tFWSIsImdldFN5bmNBY2NvdW50SG9vayIsIm9wdGlvbnMiLCJob29rIiwiZG9jIiwicmVxIiwib3BlcmF0aW9uIiwiY29udGV4dCIsInN5bmNQYXNzd29yZFRvVXNlciIsInVzZXIiLCJwYXlsb2FkIiwiZmluZEJ5SUQiLCJjb2xsZWN0aW9uIiwidXNlclNsdWciLCJpZCIsImRlcHRoIiwic2hvd0hpZGRlbkZpZWxkcyIsImhhc2giLCJzYWx0IiwicGFzc3dvcmRWYWx1ZSIsInVzZXJGaWVsZCIsImJldHRlckF1dGgiLCJhY2NvdW50IiwiZmllbGRzIiwidXNlcklkIiwiY3JlYXRlIiwiYWNjb3VudFNsdWciLCJkYXRhIiwiYWNjb3VudElkIiwidG9TdHJpbmciLCJwcm92aWRlcklkIiwicGFzc3dvcmQiLCJzeW5jQWNjb3VudEhvb2siLCJlcnJvciIsImNvbnNvbGUiLCJhY2NvdW50cyIsImZpbmQiLCJ3aGVyZSIsImFuZCIsImVxdWFscyIsImRvY3MiLCJhdCIsInVwZGF0ZSJdLCJtYXBwaW5ncyI6IkFBRUEsU0FBU0EsdUJBQXVCLFFBQVEsc0JBQXFCO0FBVTdELE9BQU8sTUFBTUMscUJBQXFCLENBQUNDO0lBQ2pDLE1BQU1DLE9BQWdELE9BQU8sRUFDM0RDLEdBQUcsRUFDSEMsR0FBRyxFQUNIQyxTQUFTLEVBQ1RDLE9BQU8sRUFDUjtRQUNDLElBQUlBLFNBQVNDLG9CQUFvQixPQUFPSjtRQUV4QyxJQUFJRSxjQUFjLFlBQVlBLGNBQWMsVUFBVSxPQUFPRjtRQUU3RCxNQUFNSyxPQUFPLE1BQU1KLElBQUlLLE9BQU8sQ0FBQ0MsUUFBUSxDQUFDO1lBQ3RDQyxZQUFZVixRQUFRVyxRQUFRO1lBQzVCQyxJQUFJVixJQUFJVSxFQUFFO1lBQ1ZDLE9BQU87WUFDUFY7WUFDQVcsa0JBQWtCO1FBQ3BCO1FBRUEsSUFBSSxDQUFDUCxRQUFRLENBQUNBLEtBQUtRLElBQUksSUFBSSxDQUFDUixLQUFLUyxJQUFJLEVBQUUsT0FBT2Q7UUFFOUMsTUFBTWUsZ0JBQWdCLEdBQUdWLEtBQUtTLElBQUksQ0FBQyxDQUFDLEVBQUVULEtBQUtRLElBQUksRUFBRTtRQUNqRCxNQUFNRyxZQUFZZixJQUFJSyxPQUFPLENBQUNXLFVBQVUsQ0FBQ25CLE9BQU8sQ0FBQ29CLE9BQU8sRUFBRUMsUUFBUUMsVUFBVTtRQUU1RSxJQUFJbEIsY0FBYyxZQUFZLENBQUVOLENBQUFBLDJCQUEyQk8sT0FBTSxHQUFJO1lBQ25FLElBQUk7Z0JBQ0YsTUFBTUYsSUFBSUssT0FBTyxDQUFDZSxNQUFNLENBQUM7b0JBQ3ZCYixZQUFZVixRQUFRd0IsV0FBVztvQkFDL0JDLE1BQU07d0JBQ0osQ0FBQ1AsVUFBVSxFQUFFaEIsSUFBSVUsRUFBRTt3QkFDbkJjLFdBQVd4QixJQUFJVSxFQUFFLENBQUNlLFFBQVE7d0JBQzFCQyxZQUFZO3dCQUNaQyxVQUFVWjt3QkFDVlosU0FBUzs0QkFBRXlCLGlCQUFpQjt3QkFBSztvQkFDbkM7b0JBQ0EzQjtnQkFDRjtZQUNGLEVBQUUsT0FBTzRCLE9BQU87Z0JBQ2RDLFFBQVFELEtBQUssQ0FBQyxzQ0FBc0NBO1lBQ3REO1FBQ0Y7UUFFQSxJQUFJM0IsY0FBYyxVQUFVO1lBQzFCLElBQUk7Z0JBQ0YsTUFBTTZCLFdBQVcsTUFBTTlCLElBQUlLLE9BQU8sQ0FBQzBCLElBQUksQ0FBQztvQkFDdEN4QixZQUFZVixRQUFRd0IsV0FBVztvQkFDL0JXLE9BQU87d0JBQ0xDLEtBQUs7NEJBQUM7Z0NBQUUsQ0FBQ2xCLFVBQVUsRUFBRTtvQ0FBRW1CLFFBQVFuQyxJQUFJVSxFQUFFO2dDQUFDOzRCQUFFOzRCQUFHO2dDQUFFZ0IsWUFBWTtvQ0FBRVMsUUFBUTtnQ0FBYTs0QkFBRTt5QkFBRTtvQkFDdEY7b0JBQ0FsQztvQkFDQVUsT0FBTztvQkFDUFIsU0FBUzt3QkFBRXlCLGlCQUFpQjtvQkFBSztnQkFDbkM7Z0JBRUEsTUFBTVYsVUFBVWEsU0FBU0ssSUFBSSxDQUFDQyxFQUFFLENBQUM7Z0JBQ2pDLElBQUluQixTQUFTO29CQUNYLE1BQU1qQixJQUFJSyxPQUFPLENBQUNnQyxNQUFNLENBQUM7d0JBQ3ZCOUIsWUFBWVYsUUFBUXdCLFdBQVc7d0JBQy9CWixJQUFJUSxRQUFRUixFQUFFO3dCQUNkYSxNQUFNOzRCQUNKSSxVQUFVWjt3QkFDWjt3QkFDQWQ7d0JBQ0FFLFNBQVM7NEJBQUV5QixpQkFBaUI7d0JBQUs7b0JBQ25DO2dCQUNGO1lBQ0YsRUFBRSxPQUFPQyxPQUFPO2dCQUNkQyxRQUFRRCxLQUFLLENBQUMsd0NBQXdDQTtZQUN4RDtRQUNGO1FBRUEsT0FBTzdCO0lBQ1Q7SUFFQSxPQUFPRDtBQUNULEVBQUMifQ==
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import type { AuthStrategy } from 'payload';
|
|
2
|
-
/**
|
|
3
|
-
* Auth strategy for BetterAuth
|
|
4
|
-
* @param adminRoles - Admin roles
|
|
5
|
-
* @param userSlug - User collection slug
|
|
6
|
-
* @returns Auth strategy
|
|
7
|
-
*/
|
|
8
|
-
export declare function betterAuthStrategy(adminRoles?: string[], userSlug?: string): AuthStrategy;
|
|
9
|
-
//# sourceMappingURL=auth-strategy.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"auth-strategy.d.ts","sourceRoot":"","sources":["../../../../src/better-auth/plugin/lib/auth-strategy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAI3C;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,CAAC,EAAE,MAAM,EAAE,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,YAAY,CAkCzF"}
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
import { getPayloadAuth } from './get-payload-auth';
|
|
2
|
-
/**
|
|
3
|
-
* Auth strategy for BetterAuth
|
|
4
|
-
* @param adminRoles - Admin roles
|
|
5
|
-
* @param userSlug - User collection slug
|
|
6
|
-
* @returns Auth strategy
|
|
7
|
-
*/ export function betterAuthStrategy(adminRoles, userSlug) {
|
|
8
|
-
return {
|
|
9
|
-
name: 'better-auth',
|
|
10
|
-
authenticate: async ({ payload, headers })=>{
|
|
11
|
-
const payloadAuth = await getPayloadAuth(payload.config);
|
|
12
|
-
const session = await payloadAuth.betterAuth.api.getSession({
|
|
13
|
-
headers
|
|
14
|
-
});
|
|
15
|
-
const sessionUserIdField = payloadAuth.betterAuth.options.session?.fields?.userId ?? 'userId';
|
|
16
|
-
const userId = session?.session?.[sessionUserIdField] ?? session?.user?.id;
|
|
17
|
-
if (!session || !userId) {
|
|
18
|
-
return {
|
|
19
|
-
user: null
|
|
20
|
-
};
|
|
21
|
-
}
|
|
22
|
-
try {
|
|
23
|
-
const user = await payloadAuth.findByID({
|
|
24
|
-
collection: userSlug ?? 'users',
|
|
25
|
-
id: userId
|
|
26
|
-
});
|
|
27
|
-
if (!user) {
|
|
28
|
-
return {
|
|
29
|
-
user: null
|
|
30
|
-
};
|
|
31
|
-
}
|
|
32
|
-
return {
|
|
33
|
-
user: {
|
|
34
|
-
...user,
|
|
35
|
-
collection: userSlug ?? 'users',
|
|
36
|
-
_strategy: 'better-auth'
|
|
37
|
-
}
|
|
38
|
-
};
|
|
39
|
-
} catch {
|
|
40
|
-
return {
|
|
41
|
-
user: null
|
|
42
|
-
};
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
};
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9iZXR0ZXItYXV0aC9wbHVnaW4vbGliL2F1dGgtc3RyYXRlZ3kudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBBdXRoU3RyYXRlZ3kgfSBmcm9tICdwYXlsb2FkJ1xuaW1wb3J0IHsgZ2V0UGF5bG9hZEF1dGggfSBmcm9tICcuL2dldC1wYXlsb2FkLWF1dGgnXG5pbXBvcnQgdHlwZSB7IFRQbHVnaW5zIH0gZnJvbSAnLi4nXG5cbi8qKlxuICogQXV0aCBzdHJhdGVneSBmb3IgQmV0dGVyQXV0aFxuICogQHBhcmFtIGFkbWluUm9sZXMgLSBBZG1pbiByb2xlc1xuICogQHBhcmFtIHVzZXJTbHVnIC0gVXNlciBjb2xsZWN0aW9uIHNsdWdcbiAqIEByZXR1cm5zIEF1dGggc3RyYXRlZ3lcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGJldHRlckF1dGhTdHJhdGVneShhZG1pblJvbGVzPzogc3RyaW5nW10sIHVzZXJTbHVnPzogc3RyaW5nKTogQXV0aFN0cmF0ZWd5IHtcbiAgcmV0dXJuIHtcbiAgICBuYW1lOiAnYmV0dGVyLWF1dGgnLFxuICAgIGF1dGhlbnRpY2F0ZTogYXN5bmMgKHsgcGF5bG9hZCwgaGVhZGVycyB9KSA9PiB7XG4gICAgICBjb25zdCBwYXlsb2FkQXV0aCA9IGF3YWl0IGdldFBheWxvYWRBdXRoPE5vbk51bGxhYmxlPFRQbHVnaW5zPj4ocGF5bG9hZC5jb25maWcpXG4gICAgICBjb25zdCBzZXNzaW9uID0gYXdhaXQgcGF5bG9hZEF1dGguYmV0dGVyQXV0aC5hcGkuZ2V0U2Vzc2lvbih7IGhlYWRlcnMgfSlcbiAgICAgIGNvbnN0IHNlc3Npb25Vc2VySWRGaWVsZCA9IHBheWxvYWRBdXRoLmJldHRlckF1dGgub3B0aW9ucy5zZXNzaW9uPy5maWVsZHM/LnVzZXJJZCA/PyAndXNlcklkJ1xuICAgICAgY29uc3QgdXNlcklkID0gKHNlc3Npb24/LnNlc3Npb24gYXMgYW55KT8uW3Nlc3Npb25Vc2VySWRGaWVsZF0gPz8gc2Vzc2lvbj8udXNlcj8uaWRcblxuICAgICAgaWYgKCFzZXNzaW9uIHx8ICF1c2VySWQpIHtcbiAgICAgICAgcmV0dXJuIHsgdXNlcjogbnVsbCB9XG4gICAgICB9XG4gICAgICB0cnkge1xuICAgICAgICBjb25zdCB1c2VyID0gYXdhaXQgcGF5bG9hZEF1dGguZmluZEJ5SUQoe1xuICAgICAgICAgIGNvbGxlY3Rpb246IHVzZXJTbHVnID8/ICd1c2VycycsXG4gICAgICAgICAgaWQ6IHVzZXJJZCxcbiAgICAgICAgfSlcblxuICAgICAgICBpZiAoIXVzZXIpIHtcbiAgICAgICAgICByZXR1cm4geyB1c2VyOiBudWxsIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgdXNlcjoge1xuICAgICAgICAgICAgLi4udXNlcixcbiAgICAgICAgICAgIGNvbGxlY3Rpb246IHVzZXJTbHVnID8/ICd1c2VycycsXG4gICAgICAgICAgICBfc3RyYXRlZ3k6ICdiZXR0ZXItYXV0aCcsXG4gICAgICAgICAgfSxcbiAgICAgICAgfVxuICAgICAgfSBjYXRjaCB7XG4gICAgICAgIHJldHVybiB7IHVzZXI6IG51bGwgfVxuICAgICAgfVxuICAgIH0sXG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJnZXRQYXlsb2FkQXV0aCIsImJldHRlckF1dGhTdHJhdGVneSIsImFkbWluUm9sZXMiLCJ1c2VyU2x1ZyIsIm5hbWUiLCJhdXRoZW50aWNhdGUiLCJwYXlsb2FkIiwiaGVhZGVycyIsInBheWxvYWRBdXRoIiwiY29uZmlnIiwic2Vzc2lvbiIsImJldHRlckF1dGgiLCJhcGkiLCJnZXRTZXNzaW9uIiwic2Vzc2lvblVzZXJJZEZpZWxkIiwib3B0aW9ucyIsImZpZWxkcyIsInVzZXJJZCIsInVzZXIiLCJpZCIsImZpbmRCeUlEIiwiY29sbGVjdGlvbiIsIl9zdHJhdGVneSJdLCJtYXBwaW5ncyI6IkFBQ0EsU0FBU0EsY0FBYyxRQUFRLHFCQUFvQjtBQUduRDs7Ozs7Q0FLQyxHQUNELE9BQU8sU0FBU0MsbUJBQW1CQyxVQUFxQixFQUFFQyxRQUFpQjtJQUN6RSxPQUFPO1FBQ0xDLE1BQU07UUFDTkMsY0FBYyxPQUFPLEVBQUVDLE9BQU8sRUFBRUMsT0FBTyxFQUFFO1lBQ3ZDLE1BQU1DLGNBQWMsTUFBTVIsZUFBc0NNLFFBQVFHLE1BQU07WUFDOUUsTUFBTUMsVUFBVSxNQUFNRixZQUFZRyxVQUFVLENBQUNDLEdBQUcsQ0FBQ0MsVUFBVSxDQUFDO2dCQUFFTjtZQUFRO1lBQ3RFLE1BQU1PLHFCQUFxQk4sWUFBWUcsVUFBVSxDQUFDSSxPQUFPLENBQUNMLE9BQU8sRUFBRU0sUUFBUUMsVUFBVTtZQUNyRixNQUFNQSxTQUFTLEFBQUNQLFNBQVNBLFNBQWlCLENBQUNJLG1CQUFtQixJQUFJSixTQUFTUSxNQUFNQztZQUVqRixJQUFJLENBQUNULFdBQVcsQ0FBQ08sUUFBUTtnQkFDdkIsT0FBTztvQkFBRUMsTUFBTTtnQkFBSztZQUN0QjtZQUNBLElBQUk7Z0JBQ0YsTUFBTUEsT0FBTyxNQUFNVixZQUFZWSxRQUFRLENBQUM7b0JBQ3RDQyxZQUFZbEIsWUFBWTtvQkFDeEJnQixJQUFJRjtnQkFDTjtnQkFFQSxJQUFJLENBQUNDLE1BQU07b0JBQ1QsT0FBTzt3QkFBRUEsTUFBTTtvQkFBSztnQkFDdEI7Z0JBRUEsT0FBTztvQkFDTEEsTUFBTTt3QkFDSixHQUFHQSxJQUFJO3dCQUNQRyxZQUFZbEIsWUFBWTt3QkFDeEJtQixXQUFXO29CQUNiO2dCQUNGO1lBQ0YsRUFBRSxPQUFNO2dCQUNOLE9BQU87b0JBQUVKLE1BQU07Z0JBQUs7WUFDdEI7UUFDRjtJQUNGO0FBQ0YifQ==
|