@robelest/convex-auth 0.0.4-preview.2 → 0.0.4-preview.21
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/README.md +67 -26
- package/dist/authorization/index.d.ts +63 -0
- package/dist/authorization/index.d.ts.map +1 -0
- package/dist/authorization/index.js +63 -0
- package/dist/authorization/index.js.map +1 -0
- package/dist/bin.js +6185 -0
- package/dist/client/core/types.d.ts +20 -0
- package/dist/client/core/types.d.ts.map +1 -0
- package/dist/client/index.d.ts +2 -299
- package/dist/client/index.d.ts.map +1 -1
- package/dist/client/index.js +407 -534
- package/dist/client/index.js.map +1 -1
- package/dist/component/_generated/api.d.ts +42 -0
- package/dist/component/_generated/api.d.ts.map +1 -1
- package/dist/component/_generated/api.js.map +1 -1
- package/dist/component/_generated/component.d.ts +2546 -90
- package/dist/component/_generated/component.d.ts.map +1 -1
- package/dist/component/client/core/types.d.ts +2 -0
- package/dist/component/client/index.d.ts +2 -0
- package/dist/component/convex.config.d.ts +2 -2
- package/dist/component/functions.d.ts +11 -9
- package/dist/component/functions.d.ts.map +1 -1
- package/dist/component/functions.js.map +1 -1
- package/dist/component/index.d.ts +7 -11
- package/dist/component/index.js +2 -3
- package/dist/component/model.d.ts +153 -0
- package/dist/component/model.d.ts.map +1 -0
- package/dist/component/model.js +349 -0
- package/dist/component/model.js.map +1 -0
- package/dist/component/providers/anonymous.d.ts +54 -0
- package/dist/component/providers/anonymous.d.ts.map +1 -0
- package/dist/component/providers/credentials.d.ts +5 -5
- package/dist/component/providers/credentials.d.ts.map +1 -1
- package/dist/component/providers/device.d.ts +67 -0
- package/dist/component/providers/device.d.ts.map +1 -0
- package/dist/component/providers/email.d.ts +62 -0
- package/dist/component/providers/email.d.ts.map +1 -0
- package/dist/component/providers/oauth.d.ts.map +1 -1
- package/dist/component/providers/oauth.js.map +1 -1
- package/dist/component/providers/passkey.d.ts +57 -0
- package/dist/component/providers/passkey.d.ts.map +1 -0
- package/dist/component/providers/password.d.ts +88 -0
- package/dist/component/providers/password.d.ts.map +1 -0
- package/dist/component/providers/phone.d.ts +48 -0
- package/dist/component/providers/phone.d.ts.map +1 -0
- package/dist/component/providers/sso.d.ts +50 -0
- package/dist/component/providers/sso.d.ts.map +1 -0
- package/dist/component/providers/totp.d.ts +45 -0
- package/dist/component/providers/totp.d.ts.map +1 -0
- package/dist/component/public/enterprise/audit.d.ts +73 -0
- package/dist/component/public/enterprise/audit.d.ts.map +1 -0
- package/dist/component/public/enterprise/audit.js +108 -0
- package/dist/component/public/enterprise/audit.js.map +1 -0
- package/dist/component/public/enterprise/core.d.ts +176 -0
- package/dist/component/public/enterprise/core.d.ts.map +1 -0
- package/dist/component/public/enterprise/core.js +292 -0
- package/dist/component/public/enterprise/core.js.map +1 -0
- package/dist/component/public/enterprise/domains.d.ts +174 -0
- package/dist/component/public/enterprise/domains.d.ts.map +1 -0
- package/dist/component/public/enterprise/domains.js +271 -0
- package/dist/component/public/enterprise/domains.js.map +1 -0
- package/dist/component/public/enterprise/scim.d.ts +245 -0
- package/dist/component/public/enterprise/scim.d.ts.map +1 -0
- package/dist/component/public/enterprise/scim.js +344 -0
- package/dist/component/public/enterprise/scim.js.map +1 -0
- package/dist/component/public/enterprise/secrets.d.ts +78 -0
- package/dist/component/public/enterprise/secrets.d.ts.map +1 -0
- package/dist/component/public/enterprise/secrets.js +118 -0
- package/dist/component/public/enterprise/secrets.js.map +1 -0
- package/dist/component/public/enterprise/webhooks.d.ts +211 -0
- package/dist/component/public/enterprise/webhooks.d.ts.map +1 -0
- package/dist/component/public/enterprise/webhooks.js +300 -0
- package/dist/component/public/enterprise/webhooks.js.map +1 -0
- package/dist/component/public/factors/devices.d.ts +157 -0
- package/dist/component/public/factors/devices.d.ts.map +1 -0
- package/dist/component/public/factors/devices.js +216 -0
- package/dist/component/public/factors/devices.js.map +1 -0
- package/dist/component/public/factors/passkeys.d.ts +175 -0
- package/dist/component/public/factors/passkeys.d.ts.map +1 -0
- package/dist/component/public/factors/passkeys.js +238 -0
- package/dist/component/public/factors/passkeys.js.map +1 -0
- package/dist/component/public/factors/totp.d.ts +189 -0
- package/dist/component/public/factors/totp.d.ts.map +1 -0
- package/dist/component/public/factors/totp.js +254 -0
- package/dist/component/public/factors/totp.js.map +1 -0
- package/dist/component/public/groups/core.d.ts +137 -0
- package/dist/component/public/groups/core.d.ts.map +1 -0
- package/dist/component/public/groups/core.js +321 -0
- package/dist/component/public/groups/core.js.map +1 -0
- package/dist/component/public/groups/invites.d.ts +217 -0
- package/dist/component/public/groups/invites.d.ts.map +1 -0
- package/dist/component/public/groups/invites.js +457 -0
- package/dist/component/public/groups/invites.js.map +1 -0
- package/dist/component/public/groups/members.d.ts +204 -0
- package/dist/component/public/groups/members.d.ts.map +1 -0
- package/dist/component/public/groups/members.js +355 -0
- package/dist/component/public/groups/members.js.map +1 -0
- package/dist/component/public/identity/accounts.d.ts +147 -0
- package/dist/component/public/identity/accounts.d.ts.map +1 -0
- package/dist/component/public/identity/accounts.js +200 -0
- package/dist/component/public/identity/accounts.js.map +1 -0
- package/dist/component/public/identity/codes.d.ts +104 -0
- package/dist/component/public/identity/codes.d.ts.map +1 -0
- package/dist/component/public/identity/codes.js +140 -0
- package/dist/component/public/identity/codes.js.map +1 -0
- package/dist/component/public/identity/sessions.d.ts +128 -0
- package/dist/component/public/identity/sessions.d.ts.map +1 -0
- package/dist/component/public/identity/sessions.js +192 -0
- package/dist/component/public/identity/sessions.js.map +1 -0
- package/dist/component/public/identity/tokens.d.ts +169 -0
- package/dist/component/public/identity/tokens.d.ts.map +1 -0
- package/dist/component/public/identity/tokens.js +227 -0
- package/dist/component/public/identity/tokens.js.map +1 -0
- package/dist/component/public/identity/users.d.ts +212 -0
- package/dist/component/public/identity/users.d.ts.map +1 -0
- package/dist/component/public/identity/users.js +311 -0
- package/dist/component/public/identity/users.js.map +1 -0
- package/dist/component/public/identity/verifiers.d.ts +116 -0
- package/dist/component/public/identity/verifiers.d.ts.map +1 -0
- package/dist/component/public/identity/verifiers.js +154 -0
- package/dist/component/public/identity/verifiers.js.map +1 -0
- package/dist/component/public/security/keys.d.ts +209 -0
- package/dist/component/public/security/keys.d.ts.map +1 -0
- package/dist/component/public/security/keys.js +319 -0
- package/dist/component/public/security/keys.js.map +1 -0
- package/dist/component/public/security/limits.d.ts +114 -0
- package/dist/component/public/security/limits.d.ts.map +1 -0
- package/dist/component/public/security/limits.js +169 -0
- package/dist/component/public/security/limits.js.map +1 -0
- package/dist/component/public.d.ts +24 -271
- package/dist/component/public.d.ts.map +1 -1
- package/dist/component/public.js +21 -1229
- package/dist/component/schema.d.ts +473 -110
- package/dist/component/schema.js +162 -73
- package/dist/component/schema.js.map +1 -1
- package/dist/component/server/auth.d.ts +318 -373
- package/dist/component/server/auth.d.ts.map +1 -1
- package/dist/component/server/auth.js +204 -123
- package/dist/component/server/auth.js.map +1 -1
- package/dist/component/server/authError.js +34 -0
- package/dist/component/server/authError.js.map +1 -0
- package/dist/component/server/{providers.js → config.js} +43 -12
- package/dist/component/server/config.js.map +1 -0
- package/dist/component/server/cookies.js +3 -0
- package/dist/component/server/cookies.js.map +1 -1
- package/dist/component/server/core.js +713 -0
- package/dist/component/server/core.js.map +1 -0
- package/dist/component/server/crypto.js +38 -0
- package/dist/component/server/crypto.js.map +1 -0
- package/dist/component/server/{implementation/db.js → db.js} +2 -1
- package/dist/component/server/db.js.map +1 -0
- package/dist/component/server/device.js +109 -0
- package/dist/component/server/device.js.map +1 -0
- package/dist/component/server/enterprise/config.js +46 -0
- package/dist/component/server/enterprise/config.js.map +1 -0
- package/dist/component/server/enterprise/domain.js +885 -0
- package/dist/component/server/enterprise/domain.js.map +1 -0
- package/dist/component/server/enterprise/http.js +766 -0
- package/dist/component/server/enterprise/http.js.map +1 -0
- package/dist/component/server/enterprise/oidc.js +248 -0
- package/dist/component/server/enterprise/oidc.js.map +1 -0
- package/dist/component/server/enterprise/policy.js +85 -0
- package/dist/component/server/enterprise/policy.js.map +1 -0
- package/dist/component/server/enterprise/saml.js +338 -0
- package/dist/component/server/enterprise/saml.js.map +1 -0
- package/dist/component/server/enterprise/scim.js +97 -0
- package/dist/component/server/enterprise/scim.js.map +1 -0
- package/dist/component/server/enterprise/shared.js +51 -0
- package/dist/component/server/enterprise/shared.js.map +1 -0
- package/dist/component/server/errors.d.ts +1 -0
- package/dist/component/server/errors.js +24 -16
- package/dist/component/server/errors.js.map +1 -1
- package/dist/component/server/http.js +288 -0
- package/dist/component/server/http.js.map +1 -0
- package/dist/component/server/identity.js +13 -0
- package/dist/component/server/identity.js.map +1 -0
- package/dist/{server/implementation → component/server}/keys.js +9 -31
- package/dist/component/server/keys.js.map +1 -0
- package/dist/component/server/limits.js +61 -0
- package/dist/component/server/limits.js.map +1 -0
- package/dist/component/server/mutations/account.js +44 -0
- package/dist/component/server/mutations/account.js.map +1 -0
- package/dist/component/server/{implementation/mutations → mutations}/code.js +7 -4
- package/dist/component/server/mutations/code.js.map +1 -0
- package/dist/component/server/mutations/invalidate.js +32 -0
- package/dist/component/server/mutations/invalidate.js.map +1 -0
- package/dist/component/server/mutations/oauth.js +110 -0
- package/dist/component/server/mutations/oauth.js.map +1 -0
- package/dist/component/server/mutations/refresh.js +119 -0
- package/dist/component/server/mutations/refresh.js.map +1 -0
- package/dist/component/server/mutations/register.js +83 -0
- package/dist/component/server/mutations/register.js.map +1 -0
- package/dist/component/server/mutations/retrieve.js +65 -0
- package/dist/component/server/mutations/retrieve.js.map +1 -0
- package/dist/component/server/mutations/signature.js +32 -0
- package/dist/component/server/mutations/signature.js.map +1 -0
- package/dist/component/server/{implementation/mutations → mutations}/signin.js +2 -2
- package/dist/component/server/mutations/signin.js.map +1 -0
- package/dist/component/server/mutations/signout.js +27 -0
- package/dist/component/server/mutations/signout.js.map +1 -0
- package/dist/component/server/mutations/store/refs.js +15 -0
- package/dist/component/server/mutations/store/refs.js.map +1 -0
- package/dist/component/server/mutations/store.js +85 -0
- package/dist/component/server/mutations/store.js.map +1 -0
- package/dist/component/server/mutations/verifier.js +18 -0
- package/dist/component/server/mutations/verifier.js.map +1 -0
- package/dist/component/server/mutations/verify.js +98 -0
- package/dist/component/server/mutations/verify.js.map +1 -0
- package/dist/component/server/oauth.js +106 -60
- package/dist/component/server/oauth.js.map +1 -1
- package/dist/component/server/passkey.js +328 -0
- package/dist/component/server/passkey.js.map +1 -0
- package/dist/{server/implementation → component/server}/redirects.js +13 -11
- package/dist/component/server/redirects.js.map +1 -0
- package/dist/component/server/refresh.js +96 -0
- package/dist/component/server/refresh.js.map +1 -0
- package/dist/component/server/runtime.d.ts +136 -0
- package/dist/component/server/runtime.d.ts.map +1 -0
- package/dist/component/server/runtime.js +413 -0
- package/dist/component/server/runtime.js.map +1 -0
- package/dist/{server/implementation → component/server}/sessions.js +14 -8
- package/dist/component/server/sessions.js.map +1 -0
- package/dist/component/server/signin.js +201 -0
- package/dist/component/server/signin.js.map +1 -0
- package/dist/component/server/tokens.js +17 -0
- package/dist/component/server/tokens.js.map +1 -0
- package/dist/component/server/totp.js +148 -0
- package/dist/component/server/totp.js.map +1 -0
- package/dist/component/server/types.d.ts +387 -298
- package/dist/component/server/types.d.ts.map +1 -1
- package/dist/component/server/{implementation/types.js → types.js} +1 -1
- package/dist/component/server/types.js.map +1 -0
- package/dist/component/server/{implementation/users.js → users.js} +54 -35
- package/dist/component/server/users.js.map +1 -0
- package/dist/component/server/utils.js +110 -4
- package/dist/component/server/utils.js.map +1 -1
- package/dist/core/types.d.ts +369 -0
- package/dist/core/types.d.ts.map +1 -0
- package/dist/factors/device.js +105 -0
- package/dist/factors/device.js.map +1 -0
- package/dist/factors/passkey.js +181 -0
- package/dist/factors/passkey.js.map +1 -0
- package/dist/factors/totp.js +122 -0
- package/dist/factors/totp.js.map +1 -0
- package/dist/providers/anonymous.d.ts +3 -9
- package/dist/providers/anonymous.d.ts.map +1 -1
- package/dist/providers/anonymous.js +1 -18
- package/dist/providers/anonymous.js.map +1 -1
- package/dist/providers/credentials.d.ts +8 -10
- package/dist/providers/credentials.d.ts.map +1 -1
- package/dist/providers/credentials.js +3 -5
- package/dist/providers/credentials.js.map +1 -1
- package/dist/providers/device.d.ts +18 -10
- package/dist/providers/device.d.ts.map +1 -1
- package/dist/providers/device.js +4 -8
- package/dist/providers/device.js.map +1 -1
- package/dist/providers/email.d.ts +50 -23
- package/dist/providers/email.d.ts.map +1 -1
- package/dist/providers/email.js +58 -34
- package/dist/providers/email.js.map +1 -1
- package/dist/providers/index.d.ts +7 -3
- package/dist/providers/index.js +4 -1
- package/dist/providers/oauth.d.ts.map +1 -1
- package/dist/providers/oauth.js.map +1 -1
- package/dist/providers/passkey.d.ts +12 -9
- package/dist/providers/passkey.d.ts.map +1 -1
- package/dist/providers/passkey.js +1 -7
- package/dist/providers/passkey.js.map +1 -1
- package/dist/providers/password.d.ts +6 -12
- package/dist/providers/password.d.ts.map +1 -1
- package/dist/providers/password.js +189 -89
- package/dist/providers/password.js.map +1 -1
- package/dist/providers/phone.d.ts +40 -11
- package/dist/providers/phone.d.ts.map +1 -1
- package/dist/providers/phone.js +52 -21
- package/dist/providers/phone.js.map +1 -1
- package/dist/providers/sso.d.ts +50 -0
- package/dist/providers/sso.d.ts.map +1 -0
- package/dist/providers/sso.js +34 -0
- package/dist/providers/sso.js.map +1 -0
- package/dist/providers/totp.d.ts +12 -9
- package/dist/providers/totp.d.ts.map +1 -1
- package/dist/providers/totp.js +1 -7
- package/dist/providers/totp.js.map +1 -1
- package/dist/runtime/browser.js +68 -0
- package/dist/runtime/browser.js.map +1 -0
- package/dist/runtime/invite.js +51 -0
- package/dist/runtime/invite.js.map +1 -0
- package/dist/runtime/proxy.js +70 -0
- package/dist/runtime/proxy.js.map +1 -0
- package/dist/runtime/storage.js +37 -0
- package/dist/runtime/storage.js.map +1 -0
- package/dist/server/auth.d.ts +335 -370
- package/dist/server/auth.d.ts.map +1 -1
- package/dist/server/auth.js +204 -123
- package/dist/server/auth.js.map +1 -1
- package/dist/server/authError.d.ts +46 -0
- package/dist/server/authError.d.ts.map +1 -0
- package/dist/server/authError.js +34 -0
- package/dist/server/authError.js.map +1 -0
- package/dist/server/config.d.ts +1 -0
- package/dist/server/{providers.js → config.js} +43 -12
- package/dist/server/config.js.map +1 -0
- package/dist/server/cookies.d.ts +1 -38
- package/dist/server/cookies.js +3 -0
- package/dist/server/cookies.js.map +1 -1
- package/dist/server/core.d.ts +1436 -0
- package/dist/server/core.d.ts.map +1 -0
- package/dist/server/core.js +713 -0
- package/dist/server/core.js.map +1 -0
- package/dist/server/crypto.d.ts +8 -0
- package/dist/server/crypto.d.ts.map +1 -0
- package/dist/server/crypto.js +38 -0
- package/dist/server/crypto.js.map +1 -0
- package/dist/server/db.d.ts +1 -0
- package/dist/server/{implementation/db.js → db.js} +2 -1
- package/dist/server/db.js.map +1 -0
- package/dist/server/device.d.ts +1 -0
- package/dist/server/device.js +109 -0
- package/dist/server/device.js.map +1 -0
- package/dist/server/enterprise/config.d.ts +1 -0
- package/dist/server/enterprise/config.js +46 -0
- package/dist/server/enterprise/config.js.map +1 -0
- package/dist/server/enterprise/domain.d.ts +409 -0
- package/dist/server/enterprise/domain.d.ts.map +1 -0
- package/dist/server/enterprise/domain.js +885 -0
- package/dist/server/enterprise/domain.js.map +1 -0
- package/dist/server/enterprise/http.d.ts +26 -0
- package/dist/server/enterprise/http.d.ts.map +1 -0
- package/dist/server/enterprise/http.js +766 -0
- package/dist/server/enterprise/http.js.map +1 -0
- package/dist/server/enterprise/oidc.d.ts +1 -0
- package/dist/server/enterprise/oidc.js +248 -0
- package/dist/server/enterprise/oidc.js.map +1 -0
- package/dist/server/enterprise/policy.d.ts +1 -0
- package/dist/server/enterprise/policy.js +85 -0
- package/dist/server/enterprise/policy.js.map +1 -0
- package/dist/server/enterprise/saml.d.ts +1 -0
- package/dist/server/enterprise/saml.js +338 -0
- package/dist/server/enterprise/saml.js.map +1 -0
- package/dist/server/enterprise/scim.d.ts +1 -0
- package/dist/server/enterprise/scim.js +97 -0
- package/dist/server/enterprise/scim.js.map +1 -0
- package/dist/server/enterprise/shared.d.ts +5 -0
- package/dist/server/enterprise/shared.d.ts.map +1 -0
- package/dist/server/enterprise/shared.js +51 -0
- package/dist/server/enterprise/shared.js.map +1 -0
- package/dist/server/enterprise/validators.d.ts +1 -0
- package/dist/server/enterprise/validators.js +60 -0
- package/dist/server/enterprise/validators.js.map +1 -0
- package/dist/server/errors.d.ts +33 -1
- package/dist/server/errors.d.ts.map +1 -1
- package/dist/server/errors.js +44 -1
- package/dist/server/errors.js.map +1 -1
- package/dist/server/http.d.ts +59 -0
- package/dist/server/http.d.ts.map +1 -0
- package/dist/server/http.js +288 -0
- package/dist/server/http.js.map +1 -0
- package/dist/server/identity.d.ts +1 -0
- package/dist/server/identity.js +13 -0
- package/dist/server/identity.js.map +1 -0
- package/dist/server/index.d.ts +4 -182
- package/dist/server/index.js +4 -376
- package/dist/server/keys.d.ts +1 -0
- package/dist/{component/server/implementation → server}/keys.js +9 -31
- package/dist/server/keys.js.map +1 -0
- package/dist/server/limits.d.ts +1 -0
- package/dist/server/limits.js +61 -0
- package/dist/server/limits.js.map +1 -0
- package/dist/server/mounts.d.ts +647 -0
- package/dist/server/mounts.d.ts.map +1 -0
- package/dist/server/mounts.js +643 -0
- package/dist/server/mounts.js.map +1 -0
- package/dist/server/mutations/account.d.ts +30 -0
- package/dist/server/mutations/account.d.ts.map +1 -0
- package/dist/server/mutations/account.js +44 -0
- package/dist/server/mutations/account.js.map +1 -0
- package/dist/server/mutations/code.d.ts +30 -0
- package/dist/server/mutations/code.d.ts.map +1 -0
- package/dist/server/{implementation/mutations → mutations}/code.js +7 -4
- package/dist/server/mutations/code.js.map +1 -0
- package/dist/server/mutations/index.d.ts +14 -0
- package/dist/server/mutations/index.js +15 -0
- package/dist/server/mutations/invalidate.d.ts +20 -0
- package/dist/server/mutations/invalidate.d.ts.map +1 -0
- package/dist/server/mutations/invalidate.js +32 -0
- package/dist/server/mutations/invalidate.js.map +1 -0
- package/dist/server/mutations/oauth.d.ts +28 -0
- package/dist/server/mutations/oauth.d.ts.map +1 -0
- package/dist/server/mutations/oauth.js +110 -0
- package/dist/server/mutations/oauth.js.map +1 -0
- package/dist/server/mutations/refresh.d.ts +21 -0
- package/dist/server/mutations/refresh.d.ts.map +1 -0
- package/dist/server/mutations/refresh.js +119 -0
- package/dist/server/mutations/refresh.js.map +1 -0
- package/dist/server/mutations/register.d.ts +38 -0
- package/dist/server/mutations/register.d.ts.map +1 -0
- package/dist/server/mutations/register.js +83 -0
- package/dist/server/mutations/register.js.map +1 -0
- package/dist/server/mutations/retrieve.d.ts +33 -0
- package/dist/server/mutations/retrieve.d.ts.map +1 -0
- package/dist/server/mutations/retrieve.js +65 -0
- package/dist/server/mutations/retrieve.js.map +1 -0
- package/dist/server/mutations/signature.d.ts +22 -0
- package/dist/server/mutations/signature.d.ts.map +1 -0
- package/dist/server/mutations/signature.js +32 -0
- package/dist/server/mutations/signature.js.map +1 -0
- package/dist/server/mutations/signin.d.ts +22 -0
- package/dist/server/mutations/signin.d.ts.map +1 -0
- package/dist/server/{implementation/mutations → mutations}/signin.js +2 -2
- package/dist/server/mutations/signin.js.map +1 -0
- package/dist/server/mutations/signout.d.ts +16 -0
- package/dist/server/mutations/signout.d.ts.map +1 -0
- package/dist/server/mutations/signout.js +27 -0
- package/dist/server/mutations/signout.js.map +1 -0
- package/dist/server/mutations/store/refs.d.ts +12 -0
- package/dist/server/mutations/store/refs.d.ts.map +1 -0
- package/dist/server/mutations/store/refs.js +15 -0
- package/dist/server/mutations/store/refs.js.map +1 -0
- package/dist/server/mutations/store.d.ts +306 -0
- package/dist/server/mutations/store.d.ts.map +1 -0
- package/dist/server/mutations/store.js +85 -0
- package/dist/server/mutations/store.js.map +1 -0
- package/dist/server/mutations/verifier.d.ts +13 -0
- package/dist/server/mutations/verifier.d.ts.map +1 -0
- package/dist/server/mutations/verifier.js +18 -0
- package/dist/server/mutations/verifier.js.map +1 -0
- package/dist/server/mutations/verify.d.ts +26 -0
- package/dist/server/mutations/verify.d.ts.map +1 -0
- package/dist/server/mutations/verify.js +98 -0
- package/dist/server/mutations/verify.js.map +1 -0
- package/dist/server/oauth.d.ts +1 -48
- package/dist/server/oauth.js +107 -64
- package/dist/server/oauth.js.map +1 -1
- package/dist/server/passkey.d.ts +27 -0
- package/dist/server/passkey.d.ts.map +1 -0
- package/dist/server/passkey.js +328 -0
- package/dist/server/passkey.js.map +1 -0
- package/dist/server/redirects.d.ts +1 -0
- package/dist/{component/server/implementation → server}/redirects.js +13 -11
- package/dist/server/redirects.js.map +1 -0
- package/dist/server/refresh.d.ts +1 -0
- package/dist/server/refresh.js +96 -0
- package/dist/server/refresh.js.map +1 -0
- package/dist/server/runtime.d.ts +136 -0
- package/dist/server/runtime.d.ts.map +1 -0
- package/dist/server/runtime.js +413 -0
- package/dist/server/runtime.js.map +1 -0
- package/dist/server/sessions.d.ts +1 -0
- package/dist/{component/server/implementation → server}/sessions.js +14 -8
- package/dist/server/sessions.js.map +1 -0
- package/dist/server/signin.d.ts +1 -0
- package/dist/server/signin.js +201 -0
- package/dist/server/signin.js.map +1 -0
- package/dist/server/ssr.d.ts +226 -0
- package/dist/server/ssr.d.ts.map +1 -0
- package/dist/server/ssr.js +786 -0
- package/dist/server/ssr.js.map +1 -0
- package/dist/server/templates.d.ts +1 -21
- package/dist/server/templates.js +2 -1
- package/dist/server/templates.js.map +1 -1
- package/dist/server/tokens.d.ts +1 -0
- package/dist/server/tokens.js +17 -0
- package/dist/server/tokens.js.map +1 -0
- package/dist/server/totp.d.ts +1 -0
- package/dist/server/totp.js +148 -0
- package/dist/server/totp.js.map +1 -0
- package/dist/server/types.d.ts +498 -306
- package/dist/server/types.d.ts.map +1 -1
- package/dist/server/types.js +108 -1
- package/dist/server/types.js.map +1 -0
- package/dist/server/users.d.ts +1 -0
- package/dist/server/{implementation/users.js → users.js} +54 -35
- package/dist/server/users.js.map +1 -0
- package/dist/server/utils.d.ts +1 -6
- package/dist/server/utils.js +110 -4
- package/dist/server/utils.js.map +1 -1
- package/package.json +49 -46
- package/src/authorization/index.ts +83 -0
- package/src/cli/bin.ts +5 -0
- package/src/cli/command.ts +6 -5
- package/src/cli/index.ts +456 -248
- package/src/cli/keys.ts +3 -0
- package/src/client/core/types.ts +437 -0
- package/src/client/factors/device.ts +160 -0
- package/src/client/factors/passkey.ts +282 -0
- package/src/client/factors/totp.ts +150 -0
- package/src/client/index.ts +745 -989
- package/src/client/runtime/browser.ts +112 -0
- package/src/client/runtime/invite.ts +65 -0
- package/src/client/runtime/proxy.ts +111 -0
- package/src/client/runtime/storage.ts +79 -0
- package/src/component/_generated/api.ts +42 -0
- package/src/component/_generated/component.ts +3123 -102
- package/src/component/functions.ts +38 -22
- package/src/component/index.ts +10 -20
- package/src/component/model.ts +449 -0
- package/src/component/public/enterprise/audit.ts +120 -0
- package/src/component/public/enterprise/core.ts +354 -0
- package/src/component/public/enterprise/domains.ts +323 -0
- package/src/component/public/enterprise/scim.ts +396 -0
- package/src/component/public/enterprise/secrets.ts +132 -0
- package/src/component/public/enterprise/webhooks.ts +306 -0
- package/src/component/public/factors/devices.ts +223 -0
- package/src/component/public/factors/passkeys.ts +242 -0
- package/src/component/public/factors/totp.ts +258 -0
- package/src/component/public/groups/core.ts +481 -0
- package/src/component/public/groups/invites.ts +602 -0
- package/src/component/public/groups/members.ts +409 -0
- package/src/component/public/identity/accounts.ts +206 -0
- package/src/component/public/identity/codes.ts +148 -0
- package/src/component/public/identity/sessions.ts +209 -0
- package/src/component/public/identity/tokens.ts +250 -0
- package/src/component/public/identity/users.ts +354 -0
- package/src/component/public/identity/verifiers.ts +157 -0
- package/src/component/public/security/keys.ts +365 -0
- package/src/component/public/security/limits.ts +173 -0
- package/src/component/public.ts +26 -1766
- package/src/component/schema.ts +273 -100
- package/src/providers/anonymous.ts +10 -20
- package/src/providers/credentials.ts +14 -22
- package/src/providers/device.ts +3 -14
- package/src/providers/email.ts +83 -47
- package/src/providers/index.ts +7 -0
- package/src/providers/oauth.ts +5 -3
- package/src/providers/passkey.ts +0 -13
- package/src/providers/password.ts +307 -130
- package/src/providers/phone.ts +81 -37
- package/src/providers/sso.ts +54 -0
- package/src/providers/totp.ts +0 -13
- package/src/samlify.d.ts +53 -0
- package/src/server/auth.ts +701 -247
- package/src/server/authError.ts +44 -0
- package/src/server/{providers.ts → config.ts} +84 -15
- package/src/server/cookies.ts +8 -1
- package/src/server/core.ts +2095 -0
- package/src/server/crypto.ts +88 -0
- package/src/server/{implementation/db.ts → db.ts} +90 -15
- package/src/server/device.ts +221 -0
- package/src/server/enterprise/config.ts +51 -0
- package/src/server/enterprise/domain.ts +1751 -0
- package/src/server/enterprise/http.ts +1324 -0
- package/src/server/enterprise/oidc.ts +500 -0
- package/src/server/enterprise/policy.ts +128 -0
- package/src/server/enterprise/saml.ts +578 -0
- package/src/server/enterprise/scim.ts +135 -0
- package/src/server/enterprise/shared.ts +134 -0
- package/src/server/enterprise/validators.ts +93 -0
- package/src/server/errors.ts +130 -119
- package/src/server/http.ts +531 -0
- package/src/server/identity.ts +18 -0
- package/src/server/index.ts +32 -650
- package/src/server/{implementation/keys.ts → keys.ts} +16 -44
- package/src/server/limits.ts +134 -0
- package/src/server/mounts.ts +948 -0
- package/src/server/mutations/account.ts +76 -0
- package/src/server/{implementation/mutations → mutations}/code.ts +22 -11
- package/src/server/mutations/index.ts +13 -0
- package/src/server/mutations/invalidate.ts +50 -0
- package/src/server/mutations/oauth.ts +237 -0
- package/src/server/mutations/refresh.ts +298 -0
- package/src/server/mutations/register.ts +200 -0
- package/src/server/mutations/retrieve.ts +109 -0
- package/src/server/mutations/signature.ts +50 -0
- package/src/server/{implementation/mutations → mutations}/signin.ts +9 -7
- package/src/server/mutations/signout.ts +43 -0
- package/src/server/mutations/store/refs.ts +10 -0
- package/src/server/mutations/store.ts +138 -0
- package/src/server/mutations/verifier.ts +34 -0
- package/src/server/mutations/verify.ts +202 -0
- package/src/server/oauth.ts +243 -131
- package/src/server/passkey.ts +784 -0
- package/src/server/{implementation/redirects.ts → redirects.ts} +21 -16
- package/src/server/refresh.ts +222 -0
- package/src/server/runtime.ts +880 -0
- package/src/server/{implementation/sessions.ts → sessions.ts} +33 -25
- package/src/server/signin.ts +438 -0
- package/src/server/ssr.ts +1764 -0
- package/src/server/templates.ts +8 -3
- package/src/server/{implementation/tokens.ts → tokens.ts} +11 -5
- package/src/server/totp.ts +349 -0
- package/src/server/types.ts +972 -207
- package/src/server/{implementation/users.ts → users.ts} +129 -75
- package/src/server/utils.ts +192 -5
- package/src/test.ts +28 -4
- package/dist/bin.cjs +0 -27757
- package/dist/component/providers/email.js +0 -47
- package/dist/component/providers/email.js.map +0 -1
- package/dist/component/public.js.map +0 -1
- package/dist/component/server/implementation/db.js.map +0 -1
- package/dist/component/server/implementation/device.js +0 -135
- package/dist/component/server/implementation/device.js.map +0 -1
- package/dist/component/server/implementation/index.d.ts +0 -870
- package/dist/component/server/implementation/index.d.ts.map +0 -1
- package/dist/component/server/implementation/index.js +0 -610
- package/dist/component/server/implementation/index.js.map +0 -1
- package/dist/component/server/implementation/keys.js.map +0 -1
- package/dist/component/server/implementation/mutations/account.js +0 -39
- package/dist/component/server/implementation/mutations/account.js.map +0 -1
- package/dist/component/server/implementation/mutations/code.js.map +0 -1
- package/dist/component/server/implementation/mutations/index.js +0 -70
- package/dist/component/server/implementation/mutations/index.js.map +0 -1
- package/dist/component/server/implementation/mutations/invalidate.js +0 -29
- package/dist/component/server/implementation/mutations/invalidate.js.map +0 -1
- package/dist/component/server/implementation/mutations/oauth.js +0 -51
- package/dist/component/server/implementation/mutations/oauth.js.map +0 -1
- package/dist/component/server/implementation/mutations/refresh.js +0 -85
- package/dist/component/server/implementation/mutations/refresh.js.map +0 -1
- package/dist/component/server/implementation/mutations/register.js +0 -65
- package/dist/component/server/implementation/mutations/register.js.map +0 -1
- package/dist/component/server/implementation/mutations/retrieve.js +0 -50
- package/dist/component/server/implementation/mutations/retrieve.js.map +0 -1
- package/dist/component/server/implementation/mutations/signature.js +0 -27
- package/dist/component/server/implementation/mutations/signature.js.map +0 -1
- package/dist/component/server/implementation/mutations/signin.js.map +0 -1
- package/dist/component/server/implementation/mutations/signout.js +0 -27
- package/dist/component/server/implementation/mutations/signout.js.map +0 -1
- package/dist/component/server/implementation/mutations/store.js +0 -12
- package/dist/component/server/implementation/mutations/store.js.map +0 -1
- package/dist/component/server/implementation/mutations/verifier.js +0 -16
- package/dist/component/server/implementation/mutations/verifier.js.map +0 -1
- package/dist/component/server/implementation/mutations/verify.js +0 -105
- package/dist/component/server/implementation/mutations/verify.js.map +0 -1
- package/dist/component/server/implementation/passkey.js +0 -307
- package/dist/component/server/implementation/passkey.js.map +0 -1
- package/dist/component/server/implementation/provider.js +0 -19
- package/dist/component/server/implementation/provider.js.map +0 -1
- package/dist/component/server/implementation/ratelimit.js +0 -48
- package/dist/component/server/implementation/ratelimit.js.map +0 -1
- package/dist/component/server/implementation/redirects.js.map +0 -1
- package/dist/component/server/implementation/refresh.js +0 -109
- package/dist/component/server/implementation/refresh.js.map +0 -1
- package/dist/component/server/implementation/sessions.js.map +0 -1
- package/dist/component/server/implementation/signin.js +0 -148
- package/dist/component/server/implementation/signin.js.map +0 -1
- package/dist/component/server/implementation/tokens.js +0 -15
- package/dist/component/server/implementation/tokens.js.map +0 -1
- package/dist/component/server/implementation/totp.js +0 -142
- package/dist/component/server/implementation/totp.js.map +0 -1
- package/dist/component/server/implementation/types.d.ts +0 -42
- package/dist/component/server/implementation/types.d.ts.map +0 -1
- package/dist/component/server/implementation/types.js.map +0 -1
- package/dist/component/server/implementation/users.js.map +0 -1
- package/dist/component/server/implementation/utils.js +0 -56
- package/dist/component/server/implementation/utils.js.map +0 -1
- package/dist/component/server/providers.js.map +0 -1
- package/dist/component/server/templates.js +0 -84
- package/dist/component/server/templates.js.map +0 -1
- package/dist/server/cookies.d.ts.map +0 -1
- package/dist/server/implementation/db.d.ts +0 -86
- package/dist/server/implementation/db.d.ts.map +0 -1
- package/dist/server/implementation/db.js.map +0 -1
- package/dist/server/implementation/device.d.ts +0 -30
- package/dist/server/implementation/device.d.ts.map +0 -1
- package/dist/server/implementation/device.js +0 -135
- package/dist/server/implementation/device.js.map +0 -1
- package/dist/server/implementation/index.d.ts +0 -870
- package/dist/server/implementation/index.d.ts.map +0 -1
- package/dist/server/implementation/index.js +0 -610
- package/dist/server/implementation/index.js.map +0 -1
- package/dist/server/implementation/keys.d.ts +0 -66
- package/dist/server/implementation/keys.d.ts.map +0 -1
- package/dist/server/implementation/keys.js.map +0 -1
- package/dist/server/implementation/mutations/account.d.ts +0 -27
- package/dist/server/implementation/mutations/account.d.ts.map +0 -1
- package/dist/server/implementation/mutations/account.js +0 -39
- package/dist/server/implementation/mutations/account.js.map +0 -1
- package/dist/server/implementation/mutations/code.d.ts +0 -29
- package/dist/server/implementation/mutations/code.d.ts.map +0 -1
- package/dist/server/implementation/mutations/code.js.map +0 -1
- package/dist/server/implementation/mutations/index.d.ts +0 -310
- package/dist/server/implementation/mutations/index.d.ts.map +0 -1
- package/dist/server/implementation/mutations/index.js +0 -70
- package/dist/server/implementation/mutations/index.js.map +0 -1
- package/dist/server/implementation/mutations/invalidate.d.ts +0 -18
- package/dist/server/implementation/mutations/invalidate.d.ts.map +0 -1
- package/dist/server/implementation/mutations/invalidate.js +0 -29
- package/dist/server/implementation/mutations/invalidate.js.map +0 -1
- package/dist/server/implementation/mutations/oauth.d.ts +0 -23
- package/dist/server/implementation/mutations/oauth.d.ts.map +0 -1
- package/dist/server/implementation/mutations/oauth.js +0 -51
- package/dist/server/implementation/mutations/oauth.js.map +0 -1
- package/dist/server/implementation/mutations/refresh.d.ts +0 -20
- package/dist/server/implementation/mutations/refresh.d.ts.map +0 -1
- package/dist/server/implementation/mutations/refresh.js +0 -85
- package/dist/server/implementation/mutations/refresh.js.map +0 -1
- package/dist/server/implementation/mutations/register.d.ts +0 -37
- package/dist/server/implementation/mutations/register.d.ts.map +0 -1
- package/dist/server/implementation/mutations/register.js +0 -65
- package/dist/server/implementation/mutations/register.js.map +0 -1
- package/dist/server/implementation/mutations/retrieve.d.ts +0 -31
- package/dist/server/implementation/mutations/retrieve.d.ts.map +0 -1
- package/dist/server/implementation/mutations/retrieve.js +0 -50
- package/dist/server/implementation/mutations/retrieve.js.map +0 -1
- package/dist/server/implementation/mutations/signature.d.ts +0 -19
- package/dist/server/implementation/mutations/signature.d.ts.map +0 -1
- package/dist/server/implementation/mutations/signature.js +0 -27
- package/dist/server/implementation/mutations/signature.js.map +0 -1
- package/dist/server/implementation/mutations/signin.d.ts +0 -21
- package/dist/server/implementation/mutations/signin.d.ts.map +0 -1
- package/dist/server/implementation/mutations/signin.js.map +0 -1
- package/dist/server/implementation/mutations/signout.d.ts +0 -14
- package/dist/server/implementation/mutations/signout.d.ts.map +0 -1
- package/dist/server/implementation/mutations/signout.js +0 -27
- package/dist/server/implementation/mutations/signout.js.map +0 -1
- package/dist/server/implementation/mutations/store.d.ts +0 -11
- package/dist/server/implementation/mutations/store.d.ts.map +0 -1
- package/dist/server/implementation/mutations/store.js +0 -12
- package/dist/server/implementation/mutations/store.js.map +0 -1
- package/dist/server/implementation/mutations/verifier.d.ts +0 -11
- package/dist/server/implementation/mutations/verifier.d.ts.map +0 -1
- package/dist/server/implementation/mutations/verifier.js +0 -16
- package/dist/server/implementation/mutations/verifier.js.map +0 -1
- package/dist/server/implementation/mutations/verify.d.ts +0 -25
- package/dist/server/implementation/mutations/verify.d.ts.map +0 -1
- package/dist/server/implementation/mutations/verify.js +0 -105
- package/dist/server/implementation/mutations/verify.js.map +0 -1
- package/dist/server/implementation/passkey.d.ts +0 -24
- package/dist/server/implementation/passkey.d.ts.map +0 -1
- package/dist/server/implementation/passkey.js +0 -307
- package/dist/server/implementation/passkey.js.map +0 -1
- package/dist/server/implementation/provider.d.ts +0 -10
- package/dist/server/implementation/provider.d.ts.map +0 -1
- package/dist/server/implementation/provider.js +0 -19
- package/dist/server/implementation/provider.js.map +0 -1
- package/dist/server/implementation/ratelimit.d.ts +0 -10
- package/dist/server/implementation/ratelimit.d.ts.map +0 -1
- package/dist/server/implementation/ratelimit.js +0 -48
- package/dist/server/implementation/ratelimit.js.map +0 -1
- package/dist/server/implementation/redirects.d.ts +0 -10
- package/dist/server/implementation/redirects.d.ts.map +0 -1
- package/dist/server/implementation/redirects.js.map +0 -1
- package/dist/server/implementation/refresh.d.ts +0 -37
- package/dist/server/implementation/refresh.d.ts.map +0 -1
- package/dist/server/implementation/refresh.js +0 -109
- package/dist/server/implementation/refresh.js.map +0 -1
- package/dist/server/implementation/sessions.d.ts +0 -29
- package/dist/server/implementation/sessions.d.ts.map +0 -1
- package/dist/server/implementation/sessions.js.map +0 -1
- package/dist/server/implementation/signin.d.ts +0 -55
- package/dist/server/implementation/signin.d.ts.map +0 -1
- package/dist/server/implementation/signin.js +0 -148
- package/dist/server/implementation/signin.js.map +0 -1
- package/dist/server/implementation/tokens.d.ts +0 -11
- package/dist/server/implementation/tokens.d.ts.map +0 -1
- package/dist/server/implementation/tokens.js +0 -15
- package/dist/server/implementation/tokens.js.map +0 -1
- package/dist/server/implementation/totp.d.ts +0 -31
- package/dist/server/implementation/totp.d.ts.map +0 -1
- package/dist/server/implementation/totp.js +0 -142
- package/dist/server/implementation/totp.js.map +0 -1
- package/dist/server/implementation/types.d.ts +0 -189
- package/dist/server/implementation/types.d.ts.map +0 -1
- package/dist/server/implementation/types.js +0 -97
- package/dist/server/implementation/types.js.map +0 -1
- package/dist/server/implementation/users.d.ts +0 -30
- package/dist/server/implementation/users.d.ts.map +0 -1
- package/dist/server/implementation/users.js.map +0 -1
- package/dist/server/implementation/utils.d.ts +0 -19
- package/dist/server/implementation/utils.d.ts.map +0 -1
- package/dist/server/implementation/utils.js +0 -56
- package/dist/server/implementation/utils.js.map +0 -1
- package/dist/server/index.d.ts.map +0 -1
- package/dist/server/index.js.map +0 -1
- package/dist/server/oauth.d.ts.map +0 -1
- package/dist/server/providers.d.ts +0 -72
- package/dist/server/providers.d.ts.map +0 -1
- package/dist/server/providers.js.map +0 -1
- package/dist/server/templates.d.ts.map +0 -1
- package/dist/server/utils.d.ts.map +0 -1
- package/dist/server/version.d.ts +0 -5
- package/dist/server/version.d.ts.map +0 -1
- package/dist/server/version.js +0 -6
- package/dist/server/version.js.map +0 -1
- package/src/cli/utils.ts +0 -248
- package/src/server/implementation/device.ts +0 -307
- package/src/server/implementation/index.ts +0 -1583
- package/src/server/implementation/mutations/account.ts +0 -50
- package/src/server/implementation/mutations/index.ts +0 -157
- package/src/server/implementation/mutations/invalidate.ts +0 -42
- package/src/server/implementation/mutations/oauth.ts +0 -73
- package/src/server/implementation/mutations/refresh.ts +0 -175
- package/src/server/implementation/mutations/register.ts +0 -100
- package/src/server/implementation/mutations/retrieve.ts +0 -79
- package/src/server/implementation/mutations/signature.ts +0 -39
- package/src/server/implementation/mutations/signout.ts +0 -35
- package/src/server/implementation/mutations/store.ts +0 -7
- package/src/server/implementation/mutations/verifier.ts +0 -24
- package/src/server/implementation/mutations/verify.ts +0 -194
- package/src/server/implementation/passkey.ts +0 -620
- package/src/server/implementation/provider.ts +0 -36
- package/src/server/implementation/ratelimit.ts +0 -79
- package/src/server/implementation/refresh.ts +0 -172
- package/src/server/implementation/signin.ts +0 -296
- package/src/server/implementation/totp.ts +0 -342
- package/src/server/implementation/types.ts +0 -444
- package/src/server/implementation/utils.ts +0 -91
- package/src/server/version.ts +0 -2
package/dist/providers/email.js
CHANGED
|
@@ -1,47 +1,71 @@
|
|
|
1
|
+
import { defaultMagicLinkEmail } from "../server/templates.js";
|
|
2
|
+
|
|
1
3
|
//#region src/providers/email.ts
|
|
2
4
|
/**
|
|
3
|
-
* Email
|
|
4
|
-
* for sign-in.
|
|
5
|
+
* Email (magic link / OTP) authentication provider.
|
|
5
6
|
*
|
|
6
|
-
*
|
|
7
|
-
|
|
8
|
-
|
|
7
|
+
* @module
|
|
8
|
+
*/
|
|
9
|
+
/**
|
|
10
|
+
* Email provider for magic-link or one-time-code sign-in.
|
|
9
11
|
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
+
* Sends verification emails through your `send()` implementation and converts
|
|
13
|
+
* the result into Convex Auth's internal email-provider runtime shape.
|
|
12
14
|
*
|
|
15
|
+
* @example
|
|
13
16
|
* ```ts
|
|
14
|
-
* import
|
|
15
|
-
* import { Auth } from "@robelest/convex-auth/component";
|
|
17
|
+
* import { Email } from "@robelest/convex-auth/providers";
|
|
16
18
|
*
|
|
17
|
-
*
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
-
*
|
|
19
|
+
* const email = new Email({
|
|
20
|
+
* from: "My App <noreply@example.com>",
|
|
21
|
+
* send: async (_ctx, { to, subject, html }) => {
|
|
22
|
+
* await resend.emails.send({ from: "noreply@example.com", to, subject, html });
|
|
23
|
+
* },
|
|
21
24
|
* });
|
|
22
25
|
* ```
|
|
23
|
-
*
|
|
24
|
-
* Make sure the token has high enough entropy to be secure.
|
|
25
|
-
*
|
|
26
|
-
* @param config - Email provider options including `sendVerificationRequest`.
|
|
27
|
-
* @returns An `EmailConfig` to include in your `providers` array.
|
|
28
26
|
*/
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
}
|
|
43
|
-
|
|
27
|
+
var Email = class {
|
|
28
|
+
id;
|
|
29
|
+
type = "email";
|
|
30
|
+
/**
|
|
31
|
+
* Create an email provider instance.
|
|
32
|
+
*
|
|
33
|
+
* @param config - Email transport and provider settings.
|
|
34
|
+
* @throws {Error} When `config.from` is empty or whitespace-only.
|
|
35
|
+
*/
|
|
36
|
+
constructor(config) {
|
|
37
|
+
this.config = config;
|
|
38
|
+
if (config.from.trim().length === 0) throw new Error("Email provider requires a non-empty `from` address (for example, `\"My App <noreply@example.com>\"`).");
|
|
39
|
+
this.id = config.id ?? "email";
|
|
40
|
+
}
|
|
41
|
+
/** @internal */
|
|
42
|
+
_toMaterialized() {
|
|
43
|
+
const from = this.config.from.trim();
|
|
44
|
+
const { send } = this.config;
|
|
45
|
+
const { generateVerificationToken } = this.config;
|
|
46
|
+
return {
|
|
47
|
+
id: this.id,
|
|
48
|
+
type: "email",
|
|
49
|
+
name: "Email",
|
|
50
|
+
from,
|
|
51
|
+
maxAge: this.config.maxAge ?? 3600 * 24,
|
|
52
|
+
authorize: void 0,
|
|
53
|
+
sendVerificationRequest: async ({ identifier, url }, ctx) => {
|
|
54
|
+
if (!ctx) throw new Error("Email provider requires a Convex action context.");
|
|
55
|
+
const { host } = new URL(url);
|
|
56
|
+
await send(ctx, {
|
|
57
|
+
from,
|
|
58
|
+
to: identifier,
|
|
59
|
+
subject: `Sign in to ${host}`,
|
|
60
|
+
html: defaultMagicLinkEmail(url, host)
|
|
61
|
+
});
|
|
62
|
+
},
|
|
63
|
+
generateVerificationToken,
|
|
64
|
+
options: { from }
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
};
|
|
44
68
|
|
|
45
69
|
//#endregion
|
|
46
|
-
export {
|
|
70
|
+
export { Email };
|
|
47
71
|
//# sourceMappingURL=email.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"email.js","names":[],"sources":["../../src/providers/email.ts"],"sourcesContent":["/**\n *
|
|
1
|
+
{"version":3,"file":"email.js","names":[],"sources":["../../src/providers/email.ts"],"sourcesContent":["/**\n * Email (magic link / OTP) authentication provider.\n *\n * @module\n */\n\nimport { defaultMagicLinkEmail } from \"../server/templates\";\nimport type { EmailConfig } from \"../server/types\";\n\n/**\n * User-facing configuration for the {@link Email} provider.\n *\n * Use this to wire your email delivery service into Convex Auth's magic-link\n * or OTP flow.\n */\nexport interface EmailProviderConfig {\n /** Sender address (e.g. \"My App <noreply@example.com>\"). */\n from: string;\n /** Send the verification email. Receives the Convex action context. */\n send: (\n ctx: any,\n opts: { from: string; to: string; subject: string; html: string },\n ) => Promise<void>;\n /** Override to generate a custom verification token. */\n generateVerificationToken?: () => Promise<string>;\n /** Provider ID override. Defaults to \"email\". */\n id?: string;\n /** Token expiration in seconds. Defaults to 86400 (24 hours). */\n maxAge?: number;\n}\n\n/**\n * Email provider for magic-link or one-time-code sign-in.\n *\n * Sends verification emails through your `send()` implementation and converts\n * the result into Convex Auth's internal email-provider runtime shape.\n *\n * @example\n * ```ts\n * import { Email } from \"@robelest/convex-auth/providers\";\n *\n * const email = new Email({\n * from: \"My App <noreply@example.com>\",\n * send: async (_ctx, { to, subject, html }) => {\n * await resend.emails.send({ from: \"noreply@example.com\", to, subject, html });\n * },\n * });\n * ```\n */\nexport class Email {\n readonly id: string;\n readonly type = \"email\" as const;\n\n /**\n * Create an email provider instance.\n *\n * @param config - Email transport and provider settings.\n * @throws {Error} When `config.from` is empty or whitespace-only.\n */\n constructor(public readonly config: EmailProviderConfig) {\n const from = config.from.trim();\n if (from.length === 0) {\n throw new Error(\n \"Email provider requires a non-empty `from` address \" +\n '(for example, `\"My App <noreply@example.com>\"`).',\n );\n }\n this.id = config.id ?? \"email\";\n }\n\n /** @internal */\n _toMaterialized(): EmailConfig {\n const from = this.config.from.trim();\n const { send } = this.config;\n const { generateVerificationToken } = this.config;\n return {\n id: this.id,\n type: \"email\",\n name: \"Email\",\n from,\n maxAge: this.config.maxAge ?? 60 * 60 * 24,\n authorize: undefined,\n sendVerificationRequest: async ({ identifier, url }, ctx) => {\n if (!ctx) {\n throw new Error(\"Email provider requires a Convex action context.\");\n }\n const { host } = new URL(url);\n await send(ctx, {\n from,\n to: identifier,\n subject: `Sign in to ${host}`,\n html: defaultMagicLinkEmail(url, host),\n });\n },\n generateVerificationToken,\n options: { from } as any,\n };\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAiDA,IAAa,QAAb,MAAmB;CACjB,AAAS;CACT,AAAS,OAAO;;;;;;;CAQhB,YAAY,AAAgB,QAA6B;EAA7B;AAE1B,MADa,OAAO,KAAK,MAAM,CACtB,WAAW,EAClB,OAAM,IAAI,MACR,wGAED;AAEH,OAAK,KAAK,OAAO,MAAM;;;CAIzB,kBAA+B;EAC7B,MAAM,OAAO,KAAK,OAAO,KAAK,MAAM;EACpC,MAAM,EAAE,SAAS,KAAK;EACtB,MAAM,EAAE,8BAA8B,KAAK;AAC3C,SAAO;GACL,IAAI,KAAK;GACT,MAAM;GACN,MAAM;GACN;GACA,QAAQ,KAAK,OAAO,UAAU,OAAU;GACxC,WAAW;GACX,yBAAyB,OAAO,EAAE,YAAY,OAAO,QAAQ;AAC3D,QAAI,CAAC,IACH,OAAM,IAAI,MAAM,mDAAmD;IAErE,MAAM,EAAE,SAAS,IAAI,IAAI,IAAI;AAC7B,UAAM,KAAK,KAAK;KACd;KACA,IAAI;KACJ,SAAS,cAAc;KACvB,MAAM,sBAAsB,KAAK,KAAK;KACvC,CAAC;;GAEJ;GACA,SAAS,EAAE,MAAM;GAClB"}
|
|
@@ -1,8 +1,12 @@
|
|
|
1
1
|
import { OAuth, OAuthConfig } from "./oauth.js";
|
|
2
2
|
import { Credentials, CredentialsConfig } from "./credentials.js";
|
|
3
|
-
import { Anonymous, AnonymousConfig } from "./anonymous.js";
|
|
4
|
-
import { Device, DeviceConfig } from "./device.js";
|
|
5
3
|
import { Password, PasswordConfig } from "./password.js";
|
|
6
4
|
import { Passkey, PasskeyConfig } from "./passkey.js";
|
|
7
5
|
import { Totp, TotpConfig } from "./totp.js";
|
|
8
|
-
|
|
6
|
+
import { Device, DeviceConfig } from "./device.js";
|
|
7
|
+
import { SSO } from "./sso.js";
|
|
8
|
+
import { Email, EmailProviderConfig } from "./email.js";
|
|
9
|
+
import { Phone, PhoneProviderConfig } from "./phone.js";
|
|
10
|
+
import { EmailConfig, PhoneConfig } from "../server/types.js";
|
|
11
|
+
import { Anonymous, AnonymousConfig } from "./anonymous.js";
|
|
12
|
+
export { Anonymous, type AnonymousConfig, Credentials, type CredentialsConfig, Device, type DeviceConfig, Email, type EmailConfig, type EmailProviderConfig, OAuth, type OAuthConfig, Passkey, type PasskeyConfig, Password, type PasswordConfig, Phone, type PhoneConfig, type PhoneProviderConfig, SSO, Totp, type TotpConfig };
|
package/dist/providers/index.js
CHANGED
|
@@ -1,9 +1,12 @@
|
|
|
1
1
|
import { Credentials } from "./credentials.js";
|
|
2
2
|
import { Anonymous } from "./anonymous.js";
|
|
3
3
|
import { Device } from "./device.js";
|
|
4
|
+
import { Email } from "./email.js";
|
|
4
5
|
import { OAuth } from "./oauth.js";
|
|
5
6
|
import { Password } from "./password.js";
|
|
6
7
|
import { Passkey } from "./passkey.js";
|
|
7
8
|
import { Totp } from "./totp.js";
|
|
9
|
+
import { SSO } from "./sso.js";
|
|
10
|
+
import { Phone } from "./phone.js";
|
|
8
11
|
|
|
9
|
-
export { Anonymous, Credentials, Device, OAuth, Passkey, Password, Totp };
|
|
12
|
+
export { Anonymous, Credentials, Device, Email, OAuth, Passkey, Password, Phone, SSO, Totp };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oauth.d.ts","names":[],"sources":["../../src/providers/oauth.ts"],"mappings":";;;;;;;
|
|
1
|
+
{"version":3,"file":"oauth.d.ts","names":[],"sources":["../../src/providers/oauth.ts"],"mappings":";;;;;;;UAsBiB,WAAA;EAcb;EAZF,MAAA;EAgByD;;;;AAO3D;;EAhBE,OAAA,IAAW,MAAA,EAAQ,YAAA,KAAiB,OAAA,CAAQ,YAAA;EAiBtB;;;;EAZtB,EAAA;AAAA;;cAIW,kBAAA;;;;;;UAOI,qBAAA;EAAA,SACN,IAAA,SAAa,kBAAA;EAQ+B;EAAA,SAN5C,EAAA;EAMwD;EAAA,SAJxD,QAAA;EA2BU;EAAA,SAzBV,MAAA;EA4Ba;EAAA,SA1Bb,OAAA,IAAW,MAAA,EAAQ,YAAA,KAAiB,OAAA,CAAQ,YAAA;AAAA;;;;;AAmDvD;;;;;;;;;;;;;;;;iBA5BgB,KAAA,CACd,QAAA,OACA,MAAA,GAAS,WAAA,GACR,qBAAA;;;;iBAyBa,eAAA,CACd,KAAA,YACC,KAAA,IAAS,qBAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oauth.js","names":[],"sources":["../../src/providers/oauth.ts"],"sourcesContent":["/**\n * OAuth provider factory for wrapping Arctic provider instances.\n *\n * ```ts\n * import { Google, GitHub } from \"arctic\";\n * import { OAuth } from \"@robelest/convex-auth/providers\";\n *\n * OAuth(new Google(clientId, clientSecret, redirectURI), {\n * scopes: [\"openid\", \"profile\", \"email\"],\n * })\n * ```\n *\n * @module\n */\n\nimport type { OAuth2Tokens } from \"arctic\";\nimport type { OAuthProfile } from \"../server/types\";\n\n/**\n * Configuration for an OAuth provider.\n */\nexport interface OAuthConfig {\n /** OAuth scopes to request during authorization. */\n scopes?: string[];\n /**\n * Extract user profile from tokens.\n *\n * Required for non-OIDC providers (e.g. GitHub) that don't return an ID token.\n * For OIDC providers, defaults to decoding the ID token claims.\n */\n profile?: (tokens: OAuth2Tokens) => Promise<OAuthProfile>;\n /**\n * Override the provider ID derived from the class name.\n * Used for route matching (`/api/auth/signin/{id}`).\n */\n id?: string;\n}\n\n/** The internal tag for identifying OAuth provider configs. */\nexport const OAUTH_PROVIDER_TAG = \"__convex_oauth\" as const;\n\n/**\n * An OAuth provider instance with config attached.\n *\n * Created by the `OAuth()` factory. The runtime detects these via the `_tag` field.\n */\nexport interface OAuthProviderInstance {\n readonly _tag: typeof OAUTH_PROVIDER_TAG;\n /** The provider ID (e.g. \"google\", \"github\"). */\n readonly id: string;\n /** The Arctic provider instance. */\n readonly provider: any;\n /** OAuth scopes. */\n readonly scopes: string[];\n /** Optional profile extraction callback. */\n readonly profile?: (tokens: OAuth2Tokens) => Promise<OAuthProfile>;\n}\n\n/**\n * Wrap an Arctic provider instance with scopes and profile config.\n *\n * The provider ID is derived from `provider.constructor.name.toLowerCase()`\n * unless overridden via `config.id`.\n *\n * @param provider - An Arctic provider instance (e.g. `new Google(...)`)\n * @param config - Optional scopes, profile callback, and ID override\n * @returns A tagged OAuth provider config for the `providers` array\n *\n * @example\n * ```ts\n * import { Google } from \"arctic\";\n * import { OAuth } from \"@robelest/convex-auth/providers\";\n *\n * OAuth(new Google(clientId, clientSecret, redirectURI), {\n * scopes: [\"openid\", \"profile\", \"email\"],\n * })\n * ```\n */\nexport function OAuth(\n provider: any,\n config?: OAuthConfig,\n): OAuthProviderInstance {\n if (\n !provider ||\n typeof provider.createAuthorizationURL !== \"function\" ||\n typeof provider.validateAuthorizationCode !== \"function\"\n ) {\n throw new Error(\n \"OAuth() expects an Arctic provider instance with createAuthorizationURL and validateAuthorizationCode methods.\",\n );\n }\n\n const id
|
|
1
|
+
{"version":3,"file":"oauth.js","names":[],"sources":["../../src/providers/oauth.ts"],"sourcesContent":["/**\n * OAuth provider factory for wrapping Arctic provider instances.\n *\n * ```ts\n * import { Google, GitHub } from \"arctic\";\n * import { OAuth } from \"@robelest/convex-auth/providers\";\n *\n * OAuth(new Google(clientId, clientSecret, redirectURI), {\n * scopes: [\"openid\", \"profile\", \"email\"],\n * })\n * ```\n *\n * @module\n */\n\nimport type { OAuth2Tokens } from \"arctic\";\n\nimport type { OAuthProfile } from \"../server/types\";\n\n/**\n * Configuration for an OAuth provider.\n */\nexport interface OAuthConfig {\n /** OAuth scopes to request during authorization. */\n scopes?: string[];\n /**\n * Extract user profile from tokens.\n *\n * Required for non-OIDC providers (e.g. GitHub) that don't return an ID token.\n * For OIDC providers, defaults to decoding the ID token claims.\n */\n profile?: (tokens: OAuth2Tokens) => Promise<OAuthProfile>;\n /**\n * Override the provider ID derived from the class name.\n * Used for route matching (`/api/auth/signin/{id}`).\n */\n id?: string;\n}\n\n/** The internal tag for identifying OAuth provider configs. */\nexport const OAUTH_PROVIDER_TAG = \"__convex_oauth\" as const;\n\n/**\n * An OAuth provider instance with config attached.\n *\n * Created by the `OAuth()` factory. The runtime detects these via the `_tag` field.\n */\nexport interface OAuthProviderInstance {\n readonly _tag: typeof OAUTH_PROVIDER_TAG;\n /** The provider ID (e.g. \"google\", \"github\"). */\n readonly id: string;\n /** The Arctic provider instance. */\n readonly provider: any;\n /** OAuth scopes. */\n readonly scopes: string[];\n /** Optional profile extraction callback. */\n readonly profile?: (tokens: OAuth2Tokens) => Promise<OAuthProfile>;\n}\n\n/**\n * Wrap an Arctic provider instance with scopes and profile config.\n *\n * The provider ID is derived from `provider.constructor.name.toLowerCase()`\n * unless overridden via `config.id`.\n *\n * @param provider - An Arctic provider instance (e.g. `new Google(...)`)\n * @param config - Optional scopes, profile callback, and ID override\n * @returns A tagged OAuth provider config for the `providers` array\n *\n * @example\n * ```ts\n * import { Google } from \"arctic\";\n * import { OAuth } from \"@robelest/convex-auth/providers\";\n *\n * OAuth(new Google(clientId, clientSecret, redirectURI), {\n * scopes: [\"openid\", \"profile\", \"email\"],\n * })\n * ```\n */\nexport function OAuth(\n provider: any,\n config?: OAuthConfig,\n): OAuthProviderInstance {\n if (\n !provider ||\n typeof provider.createAuthorizationURL !== \"function\" ||\n typeof provider.validateAuthorizationCode !== \"function\"\n ) {\n throw new Error(\n \"OAuth() expects an Arctic provider instance with createAuthorizationURL and validateAuthorizationCode methods.\",\n );\n }\n\n const id = config?.id ?? provider.constructor?.name?.toLowerCase() ?? \"oauth\";\n\n return {\n _tag: OAUTH_PROVIDER_TAG,\n id,\n provider,\n scopes: config?.scopes ?? [],\n profile: config?.profile,\n };\n}\n\n/**\n * Type guard to check if a provider config is an OAuth provider.\n */\nexport function isOAuthProvider(\n value: unknown,\n): value is OAuthProviderInstance {\n return (\n typeof value === \"object\" &&\n value !== null &&\n \"_tag\" in value &&\n (value as any)._tag === OAUTH_PROVIDER_TAG\n );\n}\n"],"mappings":";;AAwCA,MAAa,qBAAqB;;;;;;;;;;;;;;;;;;;;;AAuClC,SAAgB,MACd,UACA,QACuB;AACvB,KACE,CAAC,YACD,OAAO,SAAS,2BAA2B,cAC3C,OAAO,SAAS,8BAA8B,WAE9C,OAAM,IAAI,MACR,iHACD;AAKH,QAAO;EACL,MAAM;EACN,IAJS,QAAQ,MAAM,SAAS,aAAa,MAAM,aAAa,IAAI;EAKpE;EACA,QAAQ,QAAQ,UAAU,EAAE;EAC5B,SAAS,QAAQ;EAClB;;;;;AAMH,SAAgB,gBACd,OACgC;AAChC,QACE,OAAO,UAAU,YACjB,UAAU,QACV,UAAU,SACT,MAAc,SAAS"}
|
|
@@ -1,6 +1,15 @@
|
|
|
1
|
-
import { PasskeyProviderConfig } from "../server/types.js";
|
|
2
|
-
|
|
3
1
|
//#region src/providers/passkey.d.ts
|
|
2
|
+
/**
|
|
3
|
+
* Passkey (WebAuthn) authentication provider.
|
|
4
|
+
*
|
|
5
|
+
* ```ts
|
|
6
|
+
* import { Passkey } from "@robelest/convex-auth/providers";
|
|
7
|
+
*
|
|
8
|
+
* new Passkey({ rpName: "My App" })
|
|
9
|
+
* ```
|
|
10
|
+
*
|
|
11
|
+
* @module
|
|
12
|
+
*/
|
|
4
13
|
/**
|
|
5
14
|
* Configuration for the Passkey provider.
|
|
6
15
|
*/
|
|
@@ -42,13 +51,7 @@ declare class Passkey {
|
|
|
42
51
|
readonly type: "passkey";
|
|
43
52
|
readonly config: PasskeyConfig;
|
|
44
53
|
constructor(config?: PasskeyConfig);
|
|
45
|
-
/** @internal Convert to the internal materialized config shape. */
|
|
46
|
-
_toMaterialized(): PasskeyProviderConfig;
|
|
47
54
|
}
|
|
48
|
-
/**
|
|
49
|
-
* @deprecated Use `new Passkey(config)` instead.
|
|
50
|
-
*/
|
|
51
|
-
declare function passkey(config?: PasskeyConfig): PasskeyProviderConfig;
|
|
52
55
|
//#endregion
|
|
53
|
-
export { Passkey, PasskeyConfig
|
|
56
|
+
export { Passkey, PasskeyConfig };
|
|
54
57
|
//# sourceMappingURL=passkey.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"passkey.d.ts","names":[],"sources":["../../src/providers/passkey.ts"],"mappings":"
|
|
1
|
+
{"version":3,"file":"passkey.d.ts","names":[],"sources":["../../src/providers/passkey.ts"],"mappings":";;AAiBA;;;;;;;;;;;;;UAAiB,aAAA;EAkBM;EAhBrB,MAAA;EAgCkB;EA9BlB,IAAA;EAmCsC;EAjCtC,MAAA;EA8BS;EA5BT,WAAA;EA6BiB;EA3BjB,gBAAA;EA6BoB;EA3BpB,WAAA;EA2BsC;EAzBtC,uBAAA;;EAEA,UAAA;;EAEA,qBAAA;AAAA;;;;;;;;;;;;;;cAgBW,OAAA;EAAA,SACF,EAAA;EAAA,SACA,IAAA;EAAA,SACA,MAAA,EAAQ,aAAA;cAEL,MAAA,GAAQ,aAAA;AAAA"}
|
|
@@ -36,13 +36,7 @@ var Passkey = class {
|
|
|
36
36
|
};
|
|
37
37
|
}
|
|
38
38
|
};
|
|
39
|
-
/**
|
|
40
|
-
* @deprecated Use `new Passkey(config)` instead.
|
|
41
|
-
*/
|
|
42
|
-
function passkey(config) {
|
|
43
|
-
return new Passkey(config)._toMaterialized();
|
|
44
|
-
}
|
|
45
39
|
|
|
46
40
|
//#endregion
|
|
47
|
-
export { Passkey
|
|
41
|
+
export { Passkey };
|
|
48
42
|
//# sourceMappingURL=passkey.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"passkey.js","names":[],"sources":["../../src/providers/passkey.ts"],"sourcesContent":["/**\n * Passkey (WebAuthn) authentication provider.\n *\n * ```ts\n * import { Passkey } from \"@robelest/convex-auth/providers\";\n *\n * new Passkey({ rpName: \"My App\" })\n * ```\n *\n * @module\n */\n\nimport type { PasskeyProviderConfig } from \"../server/types\";\n\n/**\n * Configuration for the Passkey provider.\n */\nexport interface PasskeyConfig {\n /** Relying Party display name. Defaults to SITE_URL hostname. */\n rpName?: string;\n /** Relying Party ID (hostname). Defaults to SITE_URL hostname. */\n rpId?: string;\n /** Allowed origins for credential verification. Defaults to SITE_URL. */\n origin?: string | string[];\n /** Attestation conveyance preference. Defaults to \"none\". */\n attestation?: \"none\" | \"direct\";\n /** User verification requirement. Defaults to \"required\". */\n userVerification?: \"required\" | \"preferred\" | \"discouraged\";\n /** Resident key (discoverable credential) preference. Defaults to \"preferred\". */\n residentKey?: \"required\" | \"preferred\" | \"discouraged\";\n /** Restrict to platform or cross-platform authenticators. */\n authenticatorAttachment?: \"platform\" | \"cross-platform\";\n /** Supported COSE algorithms. Defaults to [-7 (ES256), -257 (RS256)]. */\n algorithms?: number[];\n /** Challenge expiration in ms. Defaults to 300_000 (5 minutes). */\n challengeExpirationMs?: number;\n}\n\n/**\n * Passkey (WebAuthn) authentication provider.\n *\n * Enables passwordless authentication via biometrics, security keys,\n * and synced passkeys using the Web Authentication API.\n *\n * @example\n * ```ts\n * import { Passkey } from \"@robelest/convex-auth/providers\";\n *\n * new Passkey({ rpName: \"My App\" })\n * ```\n */\nexport class Passkey {\n readonly id: string;\n readonly type = \"passkey\" as const;\n readonly config: PasskeyConfig;\n\n constructor(config: PasskeyConfig = {}) {\n this.id = \"passkey\";\n this.config = config;\n }\n\n /** @internal Convert to the internal materialized config shape. */\n _toMaterialized(): PasskeyProviderConfig {\n return {\n id: this.id,\n type: \"passkey\",\n options: {\n attestation: \"none\",\n userVerification: \"required\",\n residentKey: \"preferred\",\n algorithms: [-7, -257], // ES256, RS256\n challengeExpirationMs: 300_000, // 5 minutes\n ...this.config,\n },\n };\n }\n}\n
|
|
1
|
+
{"version":3,"file":"passkey.js","names":[],"sources":["../../src/providers/passkey.ts"],"sourcesContent":["/**\n * Passkey (WebAuthn) authentication provider.\n *\n * ```ts\n * import { Passkey } from \"@robelest/convex-auth/providers\";\n *\n * new Passkey({ rpName: \"My App\" })\n * ```\n *\n * @module\n */\n\nimport type { PasskeyProviderConfig } from \"../server/types\";\n\n/**\n * Configuration for the Passkey provider.\n */\nexport interface PasskeyConfig {\n /** Relying Party display name. Defaults to SITE_URL hostname. */\n rpName?: string;\n /** Relying Party ID (hostname). Defaults to SITE_URL hostname. */\n rpId?: string;\n /** Allowed origins for credential verification. Defaults to SITE_URL. */\n origin?: string | string[];\n /** Attestation conveyance preference. Defaults to \"none\". */\n attestation?: \"none\" | \"direct\";\n /** User verification requirement. Defaults to \"required\". */\n userVerification?: \"required\" | \"preferred\" | \"discouraged\";\n /** Resident key (discoverable credential) preference. Defaults to \"preferred\". */\n residentKey?: \"required\" | \"preferred\" | \"discouraged\";\n /** Restrict to platform or cross-platform authenticators. */\n authenticatorAttachment?: \"platform\" | \"cross-platform\";\n /** Supported COSE algorithms. Defaults to [-7 (ES256), -257 (RS256)]. */\n algorithms?: number[];\n /** Challenge expiration in ms. Defaults to 300_000 (5 minutes). */\n challengeExpirationMs?: number;\n}\n\n/**\n * Passkey (WebAuthn) authentication provider.\n *\n * Enables passwordless authentication via biometrics, security keys,\n * and synced passkeys using the Web Authentication API.\n *\n * @example\n * ```ts\n * import { Passkey } from \"@robelest/convex-auth/providers\";\n *\n * new Passkey({ rpName: \"My App\" })\n * ```\n */\nexport class Passkey {\n readonly id: string;\n readonly type = \"passkey\" as const;\n readonly config: PasskeyConfig;\n\n constructor(config: PasskeyConfig = {}) {\n this.id = \"passkey\";\n this.config = config;\n }\n\n /** @internal Convert to the internal materialized config shape. */\n _toMaterialized(): PasskeyProviderConfig {\n return {\n id: this.id,\n type: \"passkey\",\n options: {\n attestation: \"none\",\n userVerification: \"required\",\n residentKey: \"preferred\",\n algorithms: [-7, -257], // ES256, RS256\n challengeExpirationMs: 300_000, // 5 minutes\n ...this.config,\n },\n };\n }\n}\n"],"mappings":";;;;;;;;;;;;;;AAmDA,IAAa,UAAb,MAAqB;CACnB,AAAS;CACT,AAAS,OAAO;CAChB,AAAS;CAET,YAAY,SAAwB,EAAE,EAAE;AACtC,OAAK,KAAK;AACV,OAAK,SAAS;;;CAIhB,kBAAyC;AACvC,SAAO;GACL,IAAI,KAAK;GACT,MAAM;GACN,SAAS;IACP,aAAa;IACb,kBAAkB;IAClB,aAAa;IACb,YAAY,CAAC,IAAI,KAAK;IACtB,uBAAuB;IACvB,GAAG,KAAK;IACT;GACF"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { CredentialsConfig } from "./credentials.js";
|
|
2
|
-
import {
|
|
2
|
+
import { EmailConfig, GenericActionCtxWithAuthConfig } from "../server/types.js";
|
|
3
3
|
import { DocumentByName, GenericDataModel, WithoutSystemFields } from "convex/server";
|
|
4
4
|
import { Value } from "convex/values";
|
|
5
5
|
|
|
@@ -29,7 +29,7 @@ interface PasswordConfig<DataModel extends GenericDataModel> {
|
|
|
29
29
|
* Convex ActionCtx in case you want to read from or write to
|
|
30
30
|
* the database.
|
|
31
31
|
*/
|
|
32
|
-
ctx: GenericActionCtxWithAuthConfig<DataModel>) => WithoutSystemFields<DocumentByName<DataModel, "
|
|
32
|
+
ctx: GenericActionCtxWithAuthConfig<DataModel>) => WithoutSystemFields<DocumentByName<DataModel, "User">> & {
|
|
33
33
|
email: string;
|
|
34
34
|
};
|
|
35
35
|
/**
|
|
@@ -50,12 +50,12 @@ interface PasswordConfig<DataModel extends GenericDataModel> {
|
|
|
50
50
|
*/
|
|
51
51
|
crypto?: CredentialsConfig["crypto"];
|
|
52
52
|
/**
|
|
53
|
-
* An
|
|
53
|
+
* An email provider used to require verification
|
|
54
54
|
* before password reset.
|
|
55
55
|
*/
|
|
56
56
|
reset?: EmailConfig | ((...args: any) => EmailConfig);
|
|
57
57
|
/**
|
|
58
|
-
* An
|
|
58
|
+
* An email provider used to require verification
|
|
59
59
|
* before sign up / sign in.
|
|
60
60
|
*/
|
|
61
61
|
verify?: EmailConfig | ((...args: any) => EmailConfig);
|
|
@@ -63,7 +63,7 @@ interface PasswordConfig<DataModel extends GenericDataModel> {
|
|
|
63
63
|
/**
|
|
64
64
|
* Email and password authentication provider.
|
|
65
65
|
*
|
|
66
|
-
* Passwords are by default hashed using
|
|
66
|
+
* Passwords are by default hashed using scrypt.
|
|
67
67
|
* You can customize the hashing via the `crypto` option.
|
|
68
68
|
*
|
|
69
69
|
* Email verification is not required unless you pass
|
|
@@ -82,13 +82,7 @@ declare class Password<DataModel extends GenericDataModel = GenericDataModel> {
|
|
|
82
82
|
readonly type: "credentials";
|
|
83
83
|
readonly config: PasswordConfig<DataModel>;
|
|
84
84
|
constructor(config?: PasswordConfig<DataModel>);
|
|
85
|
-
/** @internal Convert to the internal materialized config shape. */
|
|
86
|
-
_toMaterialized(): ConvexCredentialsConfig;
|
|
87
85
|
}
|
|
88
|
-
/**
|
|
89
|
-
* @deprecated Use `new Password(config)` instead.
|
|
90
|
-
*/
|
|
91
|
-
declare function password<DataModel extends GenericDataModel>(config?: PasswordConfig<DataModel>): ConvexCredentialsConfig;
|
|
92
86
|
//#endregion
|
|
93
|
-
export { Password, PasswordConfig
|
|
87
|
+
export { Password, PasswordConfig };
|
|
94
88
|
//# sourceMappingURL=password.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"password.d.ts","names":[],"sources":["../../src/providers/password.ts"],"mappings":";;;;;;;;;
|
|
1
|
+
{"version":3,"file":"password.d.ts","names":[],"sources":["../../src/providers/password.ts"],"mappings":";;;;;;;;;UA4CiB,cAAA,mBAAiC,gBAAA;EAiBvB;;;;EAZzB,EAAA;EAkBK;;;;;;;EAVL,OAAA;EAkCA;;;EA9BE,MAAA,EAAQ,MAAA,SAAe,KAAA;EAmCzB;;;;EA9BE,GAAA,EAAK,8BAAA,CAA+B,SAAA,MACjC,mBAAA,CAAoB,cAAA,CAAe,SAAA;IACtC,KAAA;EAAA;EA2EiB;;;;;;;;;;;EA9DnB,4BAAA,IAAgC,QAAA;EA8DyB;;;;EAzDzD,MAAA,GAAS,iBAAA;EA4DuB;;;;EAvDhC,KAAA,GAAQ,WAAA,QAAmB,IAAA,UAAc,WAAA;EA0D4B;;;;EArDrE,MAAA,GAAS,WAAA,QAAmB,IAAA,UAAc,WAAA;AAAA;;;;;;;;;;;;;;;;;;cA+C/B,QAAA,mBAA2B,gBAAA,GAAmB,gBAAA;EAAA,SAChD,EAAA;EAAA,SACA,IAAA;EAAA,SACA,MAAA,EAAQ,cAAA,CAAe,SAAA;cAG9B,MAAA,GAAQ,cAAA,CAAe,SAAA;AAAA"}
|