@effect-auth/core 0.1.0-alpha.16 → 0.1.0-alpha.18
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/LICENSE +21 -0
- package/README.md +308 -133
- package/dist/AbuseProtection.d.ts +100 -0
- package/dist/AbuseProtection.d.ts.map +1 -0
- package/dist/AbuseProtection.js +71 -0
- package/dist/AbuseProtection.js.map +1 -0
- package/dist/AccessGrant.d.ts +344 -0
- package/dist/AccessGrant.d.ts.map +1 -0
- package/dist/AccessGrant.js +687 -0
- package/dist/AccessGrant.js.map +1 -0
- package/dist/ApiKey.d.ts +0 -12
- package/dist/ApiKey.d.ts.map +1 -1
- package/dist/ApiKey.js +36 -27
- package/dist/ApiKey.js.map +1 -1
- package/dist/Assurance.d.ts +415 -0
- package/dist/Assurance.d.ts.map +1 -0
- package/dist/Assurance.js +764 -0
- package/dist/Assurance.js.map +1 -0
- package/dist/AtomicPlanExecutor.d.ts +28 -0
- package/dist/AtomicPlanExecutor.d.ts.map +1 -0
- package/dist/AtomicPlanExecutor.js +5 -0
- package/dist/AtomicPlanExecutor.js.map +1 -0
- package/dist/AuditLog.d.ts +2314 -52
- package/dist/AuditLog.d.ts.map +1 -1
- package/dist/AuditLog.js +511 -33
- package/dist/AuditLog.js.map +1 -1
- package/dist/AuthFlow.d.ts +128 -38
- package/dist/AuthFlow.d.ts.map +1 -1
- package/dist/AuthFlow.js +611 -263
- package/dist/AuthFlow.js.map +1 -1
- package/dist/AuthRateLimit.d.ts +96 -0
- package/dist/AuthRateLimit.d.ts.map +1 -0
- package/dist/AuthRateLimit.js +212 -0
- package/dist/AuthRateLimit.js.map +1 -0
- package/dist/Challenge.d.ts +0 -3
- package/dist/Challenge.d.ts.map +1 -1
- package/dist/Challenge.js +1 -4
- package/dist/Challenge.js.map +1 -1
- package/dist/Client.d.ts +205 -10
- package/dist/Client.d.ts.map +1 -1
- package/dist/Client.js +397 -16
- package/dist/Client.js.map +1 -1
- package/dist/CloudflareTurnstile.d.ts +28 -0
- package/dist/CloudflareTurnstile.d.ts.map +1 -0
- package/dist/CloudflareTurnstile.js +205 -0
- package/dist/CloudflareTurnstile.js.map +1 -0
- package/dist/Crypto.d.ts +0 -3
- package/dist/Crypto.d.ts.map +1 -1
- package/dist/Crypto.js +1 -4
- package/dist/Crypto.js.map +1 -1
- package/dist/DelegatedAccessStorageMigrations.d.ts +7 -0
- package/dist/DelegatedAccessStorageMigrations.d.ts.map +1 -0
- package/dist/DelegatedAccessStorageMigrations.js +159 -0
- package/dist/DelegatedAccessStorageMigrations.js.map +1 -0
- package/dist/DisposableEmailDomains.d.ts +19 -0
- package/dist/DisposableEmailDomains.d.ts.map +1 -0
- package/dist/DisposableEmailDomains.js +85 -0
- package/dist/DisposableEmailDomains.js.map +1 -0
- package/dist/DomainVerification.d.ts +0 -9
- package/dist/DomainVerification.d.ts.map +1 -1
- package/dist/DomainVerification.js +36 -22
- package/dist/DomainVerification.js.map +1 -1
- package/dist/DrizzleBunSqliteStorage.d.ts +18 -0
- package/dist/DrizzleBunSqliteStorage.d.ts.map +1 -0
- package/dist/DrizzleBunSqliteStorage.js +11 -0
- package/dist/DrizzleBunSqliteStorage.js.map +1 -0
- package/dist/DrizzleD1SqliteStorage.d.ts +4 -4
- package/dist/DrizzleD1SqliteStorage.d.ts.map +1 -1
- package/dist/DrizzleD1SqliteStorage.js +5 -5
- package/dist/DrizzleD1SqliteStorage.js.map +1 -1
- package/dist/DrizzleDurableObjectSqliteStorage.d.ts +19 -0
- package/dist/DrizzleDurableObjectSqliteStorage.d.ts.map +1 -0
- package/dist/DrizzleDurableObjectSqliteStorage.js +14 -0
- package/dist/DrizzleDurableObjectSqliteStorage.js.map +1 -0
- package/dist/DrizzleEffectSqliteStorage.d.ts +13 -4
- package/dist/DrizzleEffectSqliteStorage.d.ts.map +1 -1
- package/dist/DrizzleEffectSqliteStorage.js +71 -4
- package/dist/DrizzleEffectSqliteStorage.js.map +1 -1
- package/dist/DrizzleNodeSqliteStorage.d.ts +18 -0
- package/dist/DrizzleNodeSqliteStorage.d.ts.map +1 -0
- package/dist/DrizzleNodeSqliteStorage.js +11 -0
- package/dist/DrizzleNodeSqliteStorage.js.map +1 -0
- package/dist/DrizzleWasmSqliteStorage.d.ts +23 -0
- package/dist/DrizzleWasmSqliteStorage.d.ts.map +1 -0
- package/dist/DrizzleWasmSqliteStorage.js +15 -0
- package/dist/DrizzleWasmSqliteStorage.js.map +1 -0
- package/dist/EffectQbPostgresDelegatedAccessStorage.d.ts +34 -0
- package/dist/EffectQbPostgresDelegatedAccessStorage.d.ts.map +1 -0
- package/dist/EffectQbPostgresDelegatedAccessStorage.js +499 -0
- package/dist/EffectQbPostgresDelegatedAccessStorage.js.map +1 -0
- package/dist/EffectQbPostgresStorage.d.ts +171 -0
- package/dist/EffectQbPostgresStorage.d.ts.map +1 -0
- package/dist/EffectQbPostgresStorage.js +4280 -0
- package/dist/EffectQbPostgresStorage.js.map +1 -0
- package/dist/EffectQbSqliteDelegatedAccessStorage.d.ts +112 -0
- package/dist/EffectQbSqliteDelegatedAccessStorage.d.ts.map +1 -0
- package/dist/EffectQbSqliteDelegatedAccessStorage.js +602 -0
- package/dist/EffectQbSqliteDelegatedAccessStorage.js.map +1 -0
- package/dist/EffectQbSqliteStorage.d.ts +181 -23
- package/dist/EffectQbSqliteStorage.d.ts.map +1 -1
- package/dist/EffectQbSqliteStorage.js +1728 -135
- package/dist/EffectQbSqliteStorage.js.map +1 -1
- package/dist/EmailAuth.d.ts +65 -0
- package/dist/EmailAuth.d.ts.map +1 -0
- package/dist/EmailAuth.js +171 -0
- package/dist/EmailAuth.js.map +1 -0
- package/dist/EmailIdentityAuth.d.ts +30 -0
- package/dist/EmailIdentityAuth.d.ts.map +1 -0
- package/dist/EmailIdentityAuth.js +142 -0
- package/dist/EmailIdentityAuth.js.map +1 -0
- package/dist/EmailOtp.d.ts +10 -11
- package/dist/EmailOtp.d.ts.map +1 -1
- package/dist/EmailOtp.js +44 -81
- package/dist/EmailOtp.js.map +1 -1
- package/dist/EmailRisk.d.ts +48 -0
- package/dist/EmailRisk.d.ts.map +1 -0
- package/dist/EmailRisk.js +33 -0
- package/dist/EmailRisk.js.map +1 -0
- package/dist/EmailVerification.d.ts +10 -16
- package/dist/EmailVerification.d.ts.map +1 -1
- package/dist/EmailVerification.js +85 -42
- package/dist/EmailVerification.js.map +1 -1
- package/dist/Guard.d.ts +11 -0
- package/dist/Guard.d.ts.map +1 -0
- package/dist/Guard.js +11 -0
- package/dist/Guard.js.map +1 -0
- package/dist/HibpPwnedPasswords.d.ts +56 -0
- package/dist/HibpPwnedPasswords.d.ts.map +1 -0
- package/dist/HibpPwnedPasswords.js +232 -0
- package/dist/HibpPwnedPasswords.js.map +1 -0
- package/dist/HttpApi/AdminPermissionDefinition.d.ts +4 -0
- package/dist/HttpApi/AdminPermissionDefinition.d.ts.map +1 -0
- package/dist/HttpApi/AdminPermissionDefinition.js +4 -0
- package/dist/HttpApi/AdminPermissionDefinition.js.map +1 -0
- package/dist/HttpApi/AdminSecurityTimeline.d.ts +4 -0
- package/dist/HttpApi/AdminSecurityTimeline.d.ts.map +1 -0
- package/dist/HttpApi/AdminSecurityTimeline.js +4 -0
- package/dist/HttpApi/AdminSecurityTimeline.js.map +1 -0
- package/dist/HttpApi/AdminSession.d.ts +4 -0
- package/dist/HttpApi/AdminSession.d.ts.map +1 -0
- package/dist/HttpApi/AdminSession.js +4 -0
- package/dist/HttpApi/AdminSession.js.map +1 -0
- package/dist/HttpApi/AdminTrustedDevice.d.ts +4 -0
- package/dist/HttpApi/AdminTrustedDevice.d.ts.map +1 -0
- package/dist/HttpApi/AdminTrustedDevice.js +4 -0
- package/dist/HttpApi/AdminTrustedDevice.js.map +1 -0
- package/dist/HttpApi/Api.d.ts +879 -877
- package/dist/HttpApi/Api.d.ts.map +1 -1
- package/dist/HttpApi/Api.js +2160 -896
- package/dist/HttpApi/Api.js.map +1 -1
- package/dist/HttpApi/ApiKey.d.ts +4 -0
- package/dist/HttpApi/ApiKey.d.ts.map +1 -0
- package/dist/HttpApi/ApiKey.js +4 -0
- package/dist/HttpApi/ApiKey.js.map +1 -0
- package/dist/HttpApi/Audit.d.ts +6 -0
- package/dist/HttpApi/Audit.d.ts.map +1 -0
- package/dist/HttpApi/Audit.js +10 -0
- package/dist/HttpApi/Audit.js.map +1 -0
- package/dist/HttpApi/ClientApi.d.ts +917 -0
- package/dist/HttpApi/ClientApi.d.ts.map +1 -0
- package/dist/HttpApi/ClientApi.js +101 -0
- package/dist/HttpApi/ClientApi.js.map +1 -0
- package/dist/HttpApi/EmailAuth.d.ts +6 -0
- package/dist/HttpApi/EmailAuth.d.ts.map +1 -0
- package/dist/HttpApi/EmailAuth.js +6 -0
- package/dist/HttpApi/EmailAuth.js.map +1 -0
- package/dist/HttpApi/EmailGuards.d.ts +115 -0
- package/dist/HttpApi/EmailGuards.d.ts.map +1 -0
- package/dist/HttpApi/EmailGuards.js +191 -0
- package/dist/HttpApi/EmailGuards.js.map +1 -0
- package/dist/HttpApi/EmailOtp.d.ts +6 -0
- package/dist/HttpApi/EmailOtp.d.ts.map +1 -0
- package/dist/HttpApi/EmailOtp.js +6 -0
- package/dist/HttpApi/EmailOtp.js.map +1 -0
- package/dist/HttpApi/EmailVerification.d.ts +6 -0
- package/dist/HttpApi/EmailVerification.d.ts.map +1 -0
- package/dist/HttpApi/EmailVerification.js +6 -0
- package/dist/HttpApi/EmailVerification.js.map +1 -0
- package/dist/HttpApi/Endpoints.d.ts +629 -301
- package/dist/HttpApi/Endpoints.d.ts.map +1 -1
- package/dist/HttpApi/Endpoints.js +178 -120
- package/dist/HttpApi/Endpoints.js.map +1 -1
- package/dist/HttpApi/Errors.d.ts +26 -7
- package/dist/HttpApi/Errors.d.ts.map +1 -1
- package/dist/HttpApi/Errors.js +26 -4
- package/dist/HttpApi/Errors.js.map +1 -1
- package/dist/HttpApi/Identity.d.ts +6 -0
- package/dist/HttpApi/Identity.d.ts.map +1 -0
- package/dist/HttpApi/Identity.js +6 -0
- package/dist/HttpApi/Identity.js.map +1 -0
- package/dist/HttpApi/IdentityGuards.d.ts +31 -0
- package/dist/HttpApi/IdentityGuards.d.ts.map +1 -0
- package/dist/HttpApi/IdentityGuards.js +33 -0
- package/dist/HttpApi/IdentityGuards.js.map +1 -0
- package/dist/HttpApi/Jwt.d.ts +4 -0
- package/dist/HttpApi/Jwt.d.ts.map +1 -0
- package/dist/HttpApi/Jwt.js +4 -0
- package/dist/HttpApi/Jwt.js.map +1 -0
- package/dist/HttpApi/JwtDiscovery.d.ts +4 -0
- package/dist/HttpApi/JwtDiscovery.d.ts.map +1 -0
- package/dist/HttpApi/JwtDiscovery.js +4 -0
- package/dist/HttpApi/JwtDiscovery.js.map +1 -0
- package/dist/HttpApi/LoginApproval.d.ts +5 -0
- package/dist/HttpApi/LoginApproval.d.ts.map +1 -0
- package/dist/HttpApi/LoginApproval.js +5 -0
- package/dist/HttpApi/LoginApproval.js.map +1 -0
- package/dist/HttpApi/LoginNotification.d.ts +5 -0
- package/dist/HttpApi/LoginNotification.d.ts.map +1 -0
- package/dist/HttpApi/LoginNotification.js +5 -0
- package/dist/HttpApi/LoginNotification.js.map +1 -0
- package/dist/HttpApi/MagicLink.d.ts +6 -0
- package/dist/HttpApi/MagicLink.d.ts.map +1 -0
- package/dist/HttpApi/MagicLink.js +6 -0
- package/dist/HttpApi/MagicLink.js.map +1 -0
- package/dist/HttpApi/Mfa.d.ts +5 -0
- package/dist/HttpApi/Mfa.d.ts.map +1 -0
- package/dist/HttpApi/Mfa.js +5 -0
- package/dist/HttpApi/Mfa.js.map +1 -0
- package/dist/HttpApi/Middleware.d.ts +14 -0
- package/dist/HttpApi/Middleware.d.ts.map +1 -0
- package/dist/HttpApi/Middleware.js +5 -0
- package/dist/HttpApi/Middleware.js.map +1 -0
- package/dist/HttpApi/OAuth.d.ts +4 -0
- package/dist/HttpApi/OAuth.d.ts.map +1 -0
- package/dist/HttpApi/OAuth.js +4 -0
- package/dist/HttpApi/OAuth.js.map +1 -0
- package/dist/HttpApi/OAuthProviderAuthorization.d.ts +4 -0
- package/dist/HttpApi/OAuthProviderAuthorization.d.ts.map +1 -0
- package/dist/HttpApi/OAuthProviderAuthorization.js +4 -0
- package/dist/HttpApi/OAuthProviderAuthorization.js.map +1 -0
- package/dist/HttpApi/OAuthToken.d.ts +4 -0
- package/dist/HttpApi/OAuthToken.d.ts.map +1 -0
- package/dist/HttpApi/OAuthToken.js +4 -0
- package/dist/HttpApi/OAuthToken.js.map +1 -0
- package/dist/HttpApi/OidcDiscovery.d.ts +4 -0
- package/dist/HttpApi/OidcDiscovery.d.ts.map +1 -0
- package/dist/HttpApi/OidcDiscovery.js +4 -0
- package/dist/HttpApi/OidcDiscovery.js.map +1 -0
- package/dist/HttpApi/Operations/AdminPermissionDefinition.d.ts +28 -0
- package/dist/HttpApi/Operations/AdminPermissionDefinition.d.ts.map +1 -0
- package/dist/HttpApi/Operations/AdminPermissionDefinition.js +5 -0
- package/dist/HttpApi/Operations/AdminPermissionDefinition.js.map +1 -0
- package/dist/HttpApi/Operations/AdminSession.d.ts +16 -0
- package/dist/HttpApi/Operations/AdminSession.d.ts.map +1 -0
- package/dist/HttpApi/Operations/AdminSession.js +5 -0
- package/dist/HttpApi/Operations/AdminSession.js.map +1 -0
- package/dist/HttpApi/Operations/ApiKey.d.ts +16 -0
- package/dist/HttpApi/Operations/ApiKey.d.ts.map +1 -0
- package/dist/HttpApi/Operations/ApiKey.js +5 -0
- package/dist/HttpApi/Operations/ApiKey.js.map +1 -0
- package/dist/HttpApi/Operations/Discovery.d.ts +19 -0
- package/dist/HttpApi/Operations/Discovery.d.ts.map +1 -0
- package/dist/HttpApi/Operations/Discovery.js +7 -0
- package/dist/HttpApi/Operations/Discovery.js.map +1 -0
- package/dist/HttpApi/Operations/EmailAuth.d.ts +12 -0
- package/dist/HttpApi/Operations/EmailAuth.d.ts.map +1 -0
- package/dist/HttpApi/Operations/EmailAuth.js +5 -0
- package/dist/HttpApi/Operations/EmailAuth.js.map +1 -0
- package/dist/HttpApi/Operations/EmailOtp.d.ts +14 -0
- package/dist/HttpApi/Operations/EmailOtp.d.ts.map +1 -0
- package/dist/HttpApi/Operations/EmailOtp.js +5 -0
- package/dist/HttpApi/Operations/EmailOtp.js.map +1 -0
- package/dist/HttpApi/Operations/EmailVerification.d.ts +14 -0
- package/dist/HttpApi/Operations/EmailVerification.d.ts.map +1 -0
- package/dist/HttpApi/Operations/EmailVerification.js +5 -0
- package/dist/HttpApi/Operations/EmailVerification.js.map +1 -0
- package/dist/HttpApi/Operations/HttpOperation.d.ts +4 -0
- package/dist/HttpApi/Operations/HttpOperation.d.ts.map +1 -0
- package/dist/HttpApi/Operations/HttpOperation.js +2 -0
- package/dist/HttpApi/Operations/HttpOperation.js.map +1 -0
- package/dist/HttpApi/Operations/Identity.d.ts +22 -0
- package/dist/HttpApi/Operations/Identity.d.ts.map +1 -0
- package/dist/HttpApi/Operations/Identity.js +5 -0
- package/dist/HttpApi/Operations/Identity.js.map +1 -0
- package/dist/HttpApi/Operations/Jwt.d.ts +14 -0
- package/dist/HttpApi/Operations/Jwt.d.ts.map +1 -0
- package/dist/HttpApi/Operations/Jwt.js +5 -0
- package/dist/HttpApi/Operations/Jwt.js.map +1 -0
- package/dist/HttpApi/Operations/LoginApproval.d.ts +16 -0
- package/dist/HttpApi/Operations/LoginApproval.d.ts.map +1 -0
- package/dist/HttpApi/Operations/LoginApproval.js +5 -0
- package/dist/HttpApi/Operations/LoginApproval.js.map +1 -0
- package/dist/HttpApi/Operations/MagicLink.d.ts +14 -0
- package/dist/HttpApi/Operations/MagicLink.d.ts.map +1 -0
- package/dist/HttpApi/Operations/MagicLink.js +5 -0
- package/dist/HttpApi/Operations/MagicLink.js.map +1 -0
- package/dist/HttpApi/Operations/Mfa.d.ts +24 -0
- package/dist/HttpApi/Operations/Mfa.d.ts.map +1 -0
- package/dist/HttpApi/Operations/Mfa.js +5 -0
- package/dist/HttpApi/Operations/Mfa.js.map +1 -0
- package/dist/HttpApi/Operations/OAuth.d.ts +20 -0
- package/dist/HttpApi/Operations/OAuth.d.ts.map +1 -0
- package/dist/HttpApi/Operations/OAuth.js +5 -0
- package/dist/HttpApi/Operations/OAuth.js.map +1 -0
- package/dist/HttpApi/Operations/OAuthProviderAuthorization.d.ts +12 -0
- package/dist/HttpApi/Operations/OAuthProviderAuthorization.d.ts.map +1 -0
- package/dist/HttpApi/Operations/OAuthProviderAuthorization.js +5 -0
- package/dist/HttpApi/Operations/OAuthProviderAuthorization.js.map +1 -0
- package/dist/HttpApi/Operations/OAuthToken.d.ts +16 -0
- package/dist/HttpApi/Operations/OAuthToken.d.ts.map +1 -0
- package/dist/HttpApi/Operations/OAuthToken.js +5 -0
- package/dist/HttpApi/Operations/OAuthToken.js.map +1 -0
- package/dist/HttpApi/Operations/Passkey.d.ts +22 -0
- package/dist/HttpApi/Operations/Passkey.d.ts.map +1 -0
- package/dist/HttpApi/Operations/Passkey.js +5 -0
- package/dist/HttpApi/Operations/Passkey.js.map +1 -0
- package/dist/HttpApi/Operations/Password.d.ts +22 -0
- package/dist/HttpApi/Operations/Password.d.ts.map +1 -0
- package/dist/HttpApi/Operations/Password.js +5 -0
- package/dist/HttpApi/Operations/Password.js.map +1 -0
- package/dist/HttpApi/Operations/RecoveryCodes.d.ts +20 -0
- package/dist/HttpApi/Operations/RecoveryCodes.d.ts.map +1 -0
- package/dist/HttpApi/Operations/RecoveryCodes.js +5 -0
- package/dist/HttpApi/Operations/RecoveryCodes.js.map +1 -0
- package/dist/HttpApi/Operations/RefreshToken.d.ts +12 -0
- package/dist/HttpApi/Operations/RefreshToken.d.ts.map +1 -0
- package/dist/HttpApi/Operations/RefreshToken.js +5 -0
- package/dist/HttpApi/Operations/RefreshToken.js.map +1 -0
- package/dist/HttpApi/Operations/Security.d.ts +12 -0
- package/dist/HttpApi/Operations/Security.d.ts.map +1 -0
- package/dist/HttpApi/Operations/Security.js +5 -0
- package/dist/HttpApi/Operations/Security.js.map +1 -0
- package/dist/HttpApi/Operations/SecurityTimeline.d.ts +19 -0
- package/dist/HttpApi/Operations/SecurityTimeline.d.ts.map +1 -0
- package/dist/HttpApi/Operations/SecurityTimeline.js +7 -0
- package/dist/HttpApi/Operations/SecurityTimeline.js.map +1 -0
- package/dist/HttpApi/Operations/Session.d.ts +22 -0
- package/dist/HttpApi/Operations/Session.d.ts.map +1 -0
- package/dist/HttpApi/Operations/Session.js +5 -0
- package/dist/HttpApi/Operations/Session.js.map +1 -0
- package/dist/HttpApi/Operations/StepUp.d.ts +22 -0
- package/dist/HttpApi/Operations/StepUp.d.ts.map +1 -0
- package/dist/HttpApi/Operations/StepUp.js +5 -0
- package/dist/HttpApi/Operations/StepUp.js.map +1 -0
- package/dist/HttpApi/Operations/Totp.d.ts +20 -0
- package/dist/HttpApi/Operations/Totp.d.ts.map +1 -0
- package/dist/HttpApi/Operations/Totp.js +5 -0
- package/dist/HttpApi/Operations/Totp.js.map +1 -0
- package/dist/HttpApi/Operations/TrustedDevice.d.ts +23 -0
- package/dist/HttpApi/Operations/TrustedDevice.d.ts.map +1 -0
- package/dist/HttpApi/Operations/TrustedDevice.js +7 -0
- package/dist/HttpApi/Operations/TrustedDevice.js.map +1 -0
- package/dist/HttpApi/Operations/index.d.ts +27 -0
- package/dist/HttpApi/Operations/index.d.ts.map +1 -0
- package/dist/HttpApi/Operations/index.js +27 -0
- package/dist/HttpApi/Operations/index.js.map +1 -0
- package/dist/HttpApi/Passkey.d.ts +5 -0
- package/dist/HttpApi/Passkey.d.ts.map +1 -0
- package/dist/HttpApi/Passkey.js +5 -0
- package/dist/HttpApi/Passkey.js.map +1 -0
- package/dist/HttpApi/Password.d.ts +220 -0
- package/dist/HttpApi/Password.d.ts.map +1 -0
- package/dist/HttpApi/Password.js +237 -0
- package/dist/HttpApi/Password.js.map +1 -0
- package/dist/HttpApi/PasswordContract.d.ts +307 -0
- package/dist/HttpApi/PasswordContract.d.ts.map +1 -0
- package/dist/HttpApi/PasswordContract.js +63 -0
- package/dist/HttpApi/PasswordContract.js.map +1 -0
- package/dist/HttpApi/PasswordGuards.d.ts +82 -0
- package/dist/HttpApi/PasswordGuards.d.ts.map +1 -0
- package/dist/HttpApi/PasswordGuards.js +179 -0
- package/dist/HttpApi/PasswordGuards.js.map +1 -0
- package/dist/HttpApi/RecoveryCodes.d.ts +5 -0
- package/dist/HttpApi/RecoveryCodes.d.ts.map +1 -0
- package/dist/HttpApi/RecoveryCodes.js +5 -0
- package/dist/HttpApi/RecoveryCodes.js.map +1 -0
- package/dist/HttpApi/RefreshToken.d.ts +4 -0
- package/dist/HttpApi/RefreshToken.d.ts.map +1 -0
- package/dist/HttpApi/RefreshToken.js +4 -0
- package/dist/HttpApi/RefreshToken.js.map +1 -0
- package/dist/HttpApi/RequestGuards.d.ts +42 -0
- package/dist/HttpApi/RequestGuards.d.ts.map +1 -0
- package/dist/HttpApi/RequestGuards.js +194 -0
- package/dist/HttpApi/RequestGuards.js.map +1 -0
- package/dist/HttpApi/Schemas.d.ts +361 -84
- package/dist/HttpApi/Schemas.d.ts.map +1 -1
- package/dist/HttpApi/Schemas.js +190 -27
- package/dist/HttpApi/Schemas.js.map +1 -1
- package/dist/HttpApi/Security.d.ts +12 -93
- package/dist/HttpApi/Security.d.ts.map +1 -1
- package/dist/HttpApi/Security.js +65 -356
- package/dist/HttpApi/Security.js.map +1 -1
- package/dist/HttpApi/SecurityTimeline.d.ts +4 -0
- package/dist/HttpApi/SecurityTimeline.d.ts.map +1 -0
- package/dist/HttpApi/SecurityTimeline.js +4 -0
- package/dist/HttpApi/SecurityTimeline.js.map +1 -0
- package/dist/HttpApi/Session.d.ts +5 -0
- package/dist/HttpApi/Session.d.ts.map +1 -0
- package/dist/HttpApi/Session.js +5 -0
- package/dist/HttpApi/Session.js.map +1 -0
- package/dist/HttpApi/SessionGuards.d.ts +15 -0
- package/dist/HttpApi/SessionGuards.d.ts.map +1 -0
- package/dist/HttpApi/SessionGuards.js +37 -0
- package/dist/HttpApi/SessionGuards.js.map +1 -0
- package/dist/HttpApi/StepUp.d.ts +5 -0
- package/dist/HttpApi/StepUp.d.ts.map +1 -0
- package/dist/HttpApi/StepUp.js +5 -0
- package/dist/HttpApi/StepUp.js.map +1 -0
- package/dist/HttpApi/Totp.d.ts +5 -0
- package/dist/HttpApi/Totp.d.ts.map +1 -0
- package/dist/HttpApi/Totp.js +5 -0
- package/dist/HttpApi/Totp.js.map +1 -0
- package/dist/HttpApi/Transport.d.ts +4 -6
- package/dist/HttpApi/Transport.d.ts.map +1 -1
- package/dist/HttpApi/Transport.js +62 -36
- package/dist/HttpApi/Transport.js.map +1 -1
- package/dist/HttpApi/TrustedDevice.d.ts +4 -0
- package/dist/HttpApi/TrustedDevice.d.ts.map +1 -0
- package/dist/HttpApi/TrustedDevice.js +4 -0
- package/dist/HttpApi/TrustedDevice.js.map +1 -0
- package/dist/HttpApi/index.d.ts +9 -3
- package/dist/HttpApi/index.d.ts.map +1 -1
- package/dist/HttpApi/index.js +8 -2
- package/dist/HttpApi/index.js.map +1 -1
- package/dist/Identity.d.ts +138 -0
- package/dist/Identity.d.ts.map +1 -0
- package/dist/Identity.js +105 -0
- package/dist/Identity.js.map +1 -0
- package/dist/IdentityManagement.d.ts +189 -0
- package/dist/IdentityManagement.d.ts.map +1 -0
- package/dist/IdentityManagement.js +317 -0
- package/dist/IdentityManagement.js.map +1 -0
- package/dist/IncidentAction.d.ts +1 -4
- package/dist/IncidentAction.d.ts.map +1 -1
- package/dist/IncidentAction.js +15 -9
- package/dist/IncidentAction.js.map +1 -1
- package/dist/Internal.d.ts +2 -0
- package/dist/Internal.d.ts.map +1 -1
- package/dist/Internal.js +30 -0
- package/dist/Internal.js.map +1 -1
- package/dist/Invitation.d.ts +362 -0
- package/dist/Invitation.d.ts.map +1 -0
- package/dist/Invitation.js +633 -0
- package/dist/Invitation.js.map +1 -0
- package/dist/IpQualityScore.d.ts +38 -0
- package/dist/IpQualityScore.d.ts.map +1 -0
- package/dist/IpQualityScore.js +215 -0
- package/dist/IpQualityScore.js.map +1 -0
- package/dist/Jwt.d.ts +8 -29
- package/dist/Jwt.d.ts.map +1 -1
- package/dist/Jwt.js +67 -56
- package/dist/Jwt.js.map +1 -1
- package/dist/LoginApproval.d.ts +15 -30
- package/dist/LoginApproval.d.ts.map +1 -1
- package/dist/LoginApproval.js +47 -41
- package/dist/LoginApproval.js.map +1 -1
- package/dist/LoginNotification.d.ts +7 -11
- package/dist/LoginNotification.d.ts.map +1 -1
- package/dist/LoginNotification.js +30 -17
- package/dist/LoginNotification.js.map +1 -1
- package/dist/LoginRisk.d.ts +11 -13
- package/dist/LoginRisk.d.ts.map +1 -1
- package/dist/LoginRisk.js +66 -26
- package/dist/LoginRisk.js.map +1 -1
- package/dist/LoginRiskEnrichment.d.ts +145 -0
- package/dist/LoginRiskEnrichment.d.ts.map +1 -0
- package/dist/LoginRiskEnrichment.js +220 -0
- package/dist/LoginRiskEnrichment.js.map +1 -0
- package/dist/MagicLink.d.ts +9 -8
- package/dist/MagicLink.d.ts.map +1 -1
- package/dist/MagicLink.js +40 -73
- package/dist/MagicLink.js.map +1 -1
- package/dist/Mailer.d.ts +19 -12
- package/dist/Mailer.d.ts.map +1 -1
- package/dist/Mailer.js +10 -12
- package/dist/Mailer.js.map +1 -1
- package/dist/OAuth.d.ts +93 -96
- package/dist/OAuth.d.ts.map +1 -1
- package/dist/OAuth.js +404 -217
- package/dist/OAuth.js.map +1 -1
- package/dist/Passkey.d.ts +15 -17
- package/dist/Passkey.d.ts.map +1 -1
- package/dist/Passkey.js +86 -39
- package/dist/Passkey.js.map +1 -1
- package/dist/PasskeyBrowser.d.ts +39 -0
- package/dist/PasskeyBrowser.d.ts.map +1 -0
- package/dist/PasskeyBrowser.js +206 -0
- package/dist/PasskeyBrowser.js.map +1 -0
- package/dist/PasskeySimpleWebAuthn.d.ts.map +1 -1
- package/dist/PasskeySimpleWebAuthn.js +19 -7
- package/dist/PasskeySimpleWebAuthn.js.map +1 -1
- package/dist/Password.d.ts +71 -37
- package/dist/Password.d.ts.map +1 -1
- package/dist/Password.js +295 -81
- package/dist/Password.js.map +1 -1
- package/dist/PasswordRisk.d.ts +63 -0
- package/dist/PasswordRisk.d.ts.map +1 -0
- package/dist/PasswordRisk.js +37 -0
- package/dist/PasswordRisk.js.map +1 -0
- package/dist/Permission.d.ts +308 -0
- package/dist/Permission.d.ts.map +1 -0
- package/dist/Permission.js +827 -0
- package/dist/Permission.js.map +1 -0
- package/dist/Policy.d.ts +31 -18
- package/dist/Policy.d.ts.map +1 -1
- package/dist/Policy.js +58 -14
- package/dist/Policy.js.map +1 -1
- package/dist/PostgresDelegatedAccessStorageMigrations.d.ts +7 -0
- package/dist/PostgresDelegatedAccessStorageMigrations.d.ts.map +1 -0
- package/dist/PostgresDelegatedAccessStorageMigrations.js +119 -0
- package/dist/PostgresDelegatedAccessStorageMigrations.js.map +1 -0
- package/dist/PostgresStorageMigrations.d.ts +15 -0
- package/dist/PostgresStorageMigrations.d.ts.map +1 -0
- package/dist/PostgresStorageMigrations.js +620 -0
- package/dist/PostgresStorageMigrations.js.map +1 -0
- package/dist/Privacy.d.ts +0 -3
- package/dist/Privacy.d.ts.map +1 -1
- package/dist/Privacy.js +2 -5
- package/dist/Privacy.js.map +1 -1
- package/dist/RateLimiter.d.ts +0 -3
- package/dist/RateLimiter.d.ts.map +1 -1
- package/dist/RateLimiter.js +1 -4
- package/dist/RateLimiter.js.map +1 -1
- package/dist/RecoveryCode.d.ts +83 -11
- package/dist/RecoveryCode.d.ts.map +1 -1
- package/dist/RecoveryCode.js +273 -75
- package/dist/RecoveryCode.js.map +1 -1
- package/dist/RecoveryPolicy.d.ts +81 -0
- package/dist/RecoveryPolicy.d.ts.map +1 -0
- package/dist/RecoveryPolicy.js +119 -0
- package/dist/RecoveryPolicy.js.map +1 -0
- package/dist/RefreshToken.d.ts +0 -9
- package/dist/RefreshToken.d.ts.map +1 -1
- package/dist/RefreshToken.js +31 -22
- package/dist/RefreshToken.js.map +1 -1
- package/dist/SecurityTimeline.d.ts +1 -4
- package/dist/SecurityTimeline.d.ts.map +1 -1
- package/dist/SecurityTimeline.js +110 -17
- package/dist/SecurityTimeline.js.map +1 -1
- package/dist/Sessions.d.ts +124 -29
- package/dist/Sessions.d.ts.map +1 -1
- package/dist/Sessions.js +626 -94
- package/dist/Sessions.js.map +1 -1
- package/dist/StepUp.d.ts +132 -11
- package/dist/StepUp.d.ts.map +1 -1
- package/dist/StepUp.js +387 -19
- package/dist/StepUp.js.map +1 -1
- package/dist/Storage.d.ts +89 -23
- package/dist/Storage.d.ts.map +1 -1
- package/dist/Storage.js +10 -12
- package/dist/Storage.js.map +1 -1
- package/dist/StorageMigrations.d.ts +6 -1
- package/dist/StorageMigrations.d.ts.map +1 -1
- package/dist/StorageMigrations.js +224 -0
- package/dist/StorageMigrations.js.map +1 -1
- package/dist/StorageSchemaGenerator.d.ts +486 -0
- package/dist/StorageSchemaGenerator.d.ts.map +1 -0
- package/dist/StorageSchemaGenerator.js +1022 -0
- package/dist/StorageSchemaGenerator.js.map +1 -0
- package/dist/StrongFactor.d.ts +64 -0
- package/dist/StrongFactor.d.ts.map +1 -0
- package/dist/StrongFactor.js +100 -0
- package/dist/StrongFactor.js.map +1 -0
- package/dist/Testing.js +2 -2
- package/dist/Testing.js.map +1 -1
- package/dist/Totp.d.ts +88 -13
- package/dist/Totp.d.ts.map +1 -1
- package/dist/Totp.js +192 -34
- package/dist/Totp.js.map +1 -1
- package/dist/TrustedDevice.d.ts +0 -9
- package/dist/TrustedDevice.d.ts.map +1 -1
- package/dist/TrustedDevice.js +15 -17
- package/dist/TrustedDevice.js.map +1 -1
- package/dist/WaitUntil.d.ts +0 -3
- package/dist/WaitUntil.d.ts.map +1 -1
- package/dist/WaitUntil.js +1 -4
- package/dist/WaitUntil.js.map +1 -1
- package/dist/Webhook.d.ts +42 -12
- package/dist/Webhook.d.ts.map +1 -1
- package/dist/Webhook.js +165 -26
- package/dist/Webhook.js.map +1 -1
- package/dist/alchemy/cloudflare/Email.d.ts.map +1 -1
- package/dist/alchemy/cloudflare/Email.js +9 -4
- package/dist/alchemy/cloudflare/Email.js.map +1 -1
- package/dist/cloudflare/Email.js +1 -1
- package/dist/cloudflare/Email.js.map +1 -1
- package/dist/cloudflare/RequestMetadata.d.ts +49 -0
- package/dist/cloudflare/RequestMetadata.d.ts.map +1 -0
- package/dist/cloudflare/RequestMetadata.js +71 -0
- package/dist/cloudflare/RequestMetadata.js.map +1 -0
- package/dist/index.d.ts +0 -35
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +0 -35
- package/dist/index.js.map +1 -1
- package/dist/internal/AuthFlowFinalizer.d.ts +31 -0
- package/dist/internal/AuthFlowFinalizer.d.ts.map +1 -0
- package/dist/internal/AuthFlowFinalizer.js +182 -0
- package/dist/internal/AuthFlowFinalizer.js.map +1 -0
- package/migrations/0001_auth_storage.sql +1 -0
- package/migrations/0006_auth_totp_factor.sql +1 -0
- package/migrations/0024_auth_permission.sql +39 -0
- package/migrations/0025_auth_permission_definition.sql +19 -0
- package/migrations/0026_auth_user_identity.sql +59 -0
- package/migrations/0027_auth_audit_log_storage_order.sql +46 -0
- package/migrations/0028_auth_oauth_client_secret_key.sql +39 -0
- package/migrations/delegated-access/0001_auth_delegated_access.sql +152 -0
- package/migrations/postgres/0001_auth_core.sql +77 -0
- package/migrations/postgres/0002_auth_security_oauth.sql +65 -0
- package/migrations/postgres/0003_auth_credentials_tokens.sql +43 -0
- package/migrations/postgres/0004_auth_security_history.sql +103 -0
- package/migrations/postgres/0005_auth_webhooks.sql +29 -0
- package/migrations/postgres/0006_auth_domain_timeline.sql +50 -0
- package/migrations/postgres/0007_auth_oauth_clients.sql +85 -0
- package/migrations/postgres/0008_auth_oauth_tokens.sql +63 -0
- package/migrations/postgres/0009_auth_permissions.sql +66 -0
- package/migrations/postgres/delegated-access/0001_auth_delegated_access.sql +112 -0
- package/package.json +301 -2
|
@@ -0,0 +1,206 @@
|
|
|
1
|
+
import { Data, Effect } from "effect";
|
|
2
|
+
export class PasskeyBrowserError extends Data.TaggedError("PasskeyBrowserError") {
|
|
3
|
+
}
|
|
4
|
+
const browserTransports = new Set([
|
|
5
|
+
"ble",
|
|
6
|
+
"hybrid",
|
|
7
|
+
"internal",
|
|
8
|
+
"nfc",
|
|
9
|
+
"usb",
|
|
10
|
+
]);
|
|
11
|
+
const base64UrlToBytes = (value) => {
|
|
12
|
+
if (!/^[A-Za-z0-9_-]*$/u.test(value) || value.length % 4 === 1) {
|
|
13
|
+
throw new TypeError("Invalid base64url value");
|
|
14
|
+
}
|
|
15
|
+
const base64 = value.replaceAll("-", "+").replaceAll("_", "/");
|
|
16
|
+
const padded = base64.padEnd(Math.ceil(base64.length / 4) * 4, "=");
|
|
17
|
+
const binary = atob(padded);
|
|
18
|
+
const bytes = new Uint8Array(new ArrayBuffer(binary.length));
|
|
19
|
+
for (let index = 0; index < binary.length; index += 1) {
|
|
20
|
+
bytes[index] = binary.codePointAt(index) ?? 0;
|
|
21
|
+
}
|
|
22
|
+
return bytes;
|
|
23
|
+
};
|
|
24
|
+
const bytesToBase64Url = (input) => {
|
|
25
|
+
const bytes = input instanceof ArrayBuffer
|
|
26
|
+
? new Uint8Array(input)
|
|
27
|
+
: new Uint8Array(input.buffer, input.byteOffset, input.byteLength);
|
|
28
|
+
let binary = "";
|
|
29
|
+
for (const byte of bytes) {
|
|
30
|
+
binary += String.fromCodePoint(byte);
|
|
31
|
+
}
|
|
32
|
+
return btoa(binary)
|
|
33
|
+
.replaceAll("+", "-")
|
|
34
|
+
.replaceAll("/", "_")
|
|
35
|
+
.replace(/=+$/u, "");
|
|
36
|
+
};
|
|
37
|
+
const transports = (values) => values?.filter((value) => browserTransports.has(value));
|
|
38
|
+
const credentialDescriptors = (credentials) => credentials?.map((credential) => {
|
|
39
|
+
const credentialTransports = transports(credential.transports);
|
|
40
|
+
return {
|
|
41
|
+
type: "public-key",
|
|
42
|
+
id: base64UrlToBytes(credential.id),
|
|
43
|
+
...(credentialTransports === undefined ||
|
|
44
|
+
credentialTransports.length === 0
|
|
45
|
+
? {}
|
|
46
|
+
: { transports: credentialTransports }),
|
|
47
|
+
};
|
|
48
|
+
});
|
|
49
|
+
const extensionResults = (value) => value;
|
|
50
|
+
const requirePublicKeyCredential = (credential) => {
|
|
51
|
+
if (credential === null ||
|
|
52
|
+
credential.type !== "public-key" ||
|
|
53
|
+
!("rawId" in credential) ||
|
|
54
|
+
!("response" in credential) ||
|
|
55
|
+
!("getClientExtensionResults" in credential)) {
|
|
56
|
+
throw new TypeError("Expected a public-key credential");
|
|
57
|
+
}
|
|
58
|
+
return credential;
|
|
59
|
+
};
|
|
60
|
+
const passkeyBrowserError = (operation, reason, message, cause) => new PasskeyBrowserError({
|
|
61
|
+
operation,
|
|
62
|
+
reason,
|
|
63
|
+
message,
|
|
64
|
+
...(cause === undefined ? {} : { cause }),
|
|
65
|
+
});
|
|
66
|
+
const operationError = (operation, cause) => passkeyBrowserError(operation, typeof DOMException !== "undefined" &&
|
|
67
|
+
cause instanceof DOMException &&
|
|
68
|
+
cause.name === "AbortError"
|
|
69
|
+
? "cancelled"
|
|
70
|
+
: "operation-failed", operation === "create"
|
|
71
|
+
? "Failed to create a passkey credential"
|
|
72
|
+
: "Failed to get a passkey credential", cause);
|
|
73
|
+
const resolveCredentialsEffect = (operation, options) => options.credentials !== undefined
|
|
74
|
+
? Effect.succeed(options.credentials)
|
|
75
|
+
: isPasskeySupported()
|
|
76
|
+
? Effect.succeed(navigator.credentials)
|
|
77
|
+
: Effect.fail(passkeyBrowserError(operation, "unsupported", "Passkeys are not supported in this browser"));
|
|
78
|
+
export const isPasskeySupported = () => typeof window !== "undefined" &&
|
|
79
|
+
window.isSecureContext &&
|
|
80
|
+
"PublicKeyCredential" in window &&
|
|
81
|
+
typeof navigator !== "undefined" &&
|
|
82
|
+
typeof navigator.credentials?.create === "function" &&
|
|
83
|
+
typeof navigator.credentials.get === "function";
|
|
84
|
+
export const toPublicKeyCredentialCreationOptions = (publicKey) => {
|
|
85
|
+
const userId = new TextEncoder().encode(publicKey.user.id);
|
|
86
|
+
if (userId.byteLength > 64) {
|
|
87
|
+
throw new RangeError("Passkey user ID must not exceed 64 bytes");
|
|
88
|
+
}
|
|
89
|
+
return {
|
|
90
|
+
challenge: base64UrlToBytes(publicKey.challenge),
|
|
91
|
+
rp: publicKey.rp,
|
|
92
|
+
user: {
|
|
93
|
+
...publicKey.user,
|
|
94
|
+
id: new Uint8Array(userId),
|
|
95
|
+
},
|
|
96
|
+
pubKeyCredParams: [...publicKey.pubKeyCredParams],
|
|
97
|
+
...(publicKey.timeout === undefined ? {} : { timeout: publicKey.timeout }),
|
|
98
|
+
...(publicKey.excludeCredentials === undefined
|
|
99
|
+
? {}
|
|
100
|
+
: {
|
|
101
|
+
excludeCredentials: credentialDescriptors(publicKey.excludeCredentials),
|
|
102
|
+
}),
|
|
103
|
+
...(publicKey.authenticatorSelection === undefined
|
|
104
|
+
? {}
|
|
105
|
+
: { authenticatorSelection: publicKey.authenticatorSelection }),
|
|
106
|
+
...(publicKey.attestation === undefined
|
|
107
|
+
? {}
|
|
108
|
+
: { attestation: publicKey.attestation }),
|
|
109
|
+
};
|
|
110
|
+
};
|
|
111
|
+
export const toPublicKeyCredentialRequestOptions = (publicKey) => ({
|
|
112
|
+
challenge: base64UrlToBytes(publicKey.challenge),
|
|
113
|
+
rpId: publicKey.rpId,
|
|
114
|
+
...(publicKey.timeout === undefined ? {} : { timeout: publicKey.timeout }),
|
|
115
|
+
...(publicKey.allowCredentials === undefined
|
|
116
|
+
? {}
|
|
117
|
+
: { allowCredentials: credentialDescriptors(publicKey.allowCredentials) }),
|
|
118
|
+
...(publicKey.userVerification === undefined
|
|
119
|
+
? {}
|
|
120
|
+
: { userVerification: publicKey.userVerification }),
|
|
121
|
+
});
|
|
122
|
+
export const registrationCredentialToJson = (credential) => {
|
|
123
|
+
const { response } = credential;
|
|
124
|
+
if (!("attestationObject" in response) ||
|
|
125
|
+
!(response.attestationObject instanceof ArrayBuffer) ||
|
|
126
|
+
!("getTransports" in response) ||
|
|
127
|
+
typeof response.getTransports !== "function") {
|
|
128
|
+
throw new TypeError("Expected an attestation response");
|
|
129
|
+
}
|
|
130
|
+
return {
|
|
131
|
+
id: credential.id,
|
|
132
|
+
rawId: bytesToBase64Url(credential.rawId),
|
|
133
|
+
type: "public-key",
|
|
134
|
+
response: {
|
|
135
|
+
clientDataJSON: bytesToBase64Url(response.clientDataJSON),
|
|
136
|
+
attestationObject: bytesToBase64Url(response.attestationObject),
|
|
137
|
+
transports: response.getTransports(),
|
|
138
|
+
},
|
|
139
|
+
...(credential.authenticatorAttachment === null
|
|
140
|
+
? {}
|
|
141
|
+
: { authenticatorAttachment: credential.authenticatorAttachment }),
|
|
142
|
+
clientExtensionResults: extensionResults(credential.getClientExtensionResults()),
|
|
143
|
+
};
|
|
144
|
+
};
|
|
145
|
+
export const authenticationCredentialToJson = (credential) => {
|
|
146
|
+
const { response } = credential;
|
|
147
|
+
if (!("authenticatorData" in response) ||
|
|
148
|
+
!(response.authenticatorData instanceof ArrayBuffer) ||
|
|
149
|
+
!("signature" in response) ||
|
|
150
|
+
!(response.signature instanceof ArrayBuffer) ||
|
|
151
|
+
!("userHandle" in response) ||
|
|
152
|
+
(response.userHandle !== null &&
|
|
153
|
+
!(response.userHandle instanceof ArrayBuffer))) {
|
|
154
|
+
throw new TypeError("Expected an assertion response");
|
|
155
|
+
}
|
|
156
|
+
return {
|
|
157
|
+
id: credential.id,
|
|
158
|
+
rawId: bytesToBase64Url(credential.rawId),
|
|
159
|
+
type: "public-key",
|
|
160
|
+
response: {
|
|
161
|
+
clientDataJSON: bytesToBase64Url(response.clientDataJSON),
|
|
162
|
+
authenticatorData: bytesToBase64Url(response.authenticatorData),
|
|
163
|
+
signature: bytesToBase64Url(response.signature),
|
|
164
|
+
...(response.userHandle === null
|
|
165
|
+
? {}
|
|
166
|
+
: { userHandle: bytesToBase64Url(response.userHandle) }),
|
|
167
|
+
},
|
|
168
|
+
...(credential.authenticatorAttachment === null
|
|
169
|
+
? {}
|
|
170
|
+
: { authenticatorAttachment: credential.authenticatorAttachment }),
|
|
171
|
+
clientExtensionResults: extensionResults(credential.getClientExtensionResults()),
|
|
172
|
+
};
|
|
173
|
+
};
|
|
174
|
+
export const createPasskeyCredentialEffect = Effect.fn("auth.passkey.browser.create")(function* (publicKey, options = {}) {
|
|
175
|
+
const credentials = yield* resolveCredentialsEffect("create", options);
|
|
176
|
+
const creationOptions = yield* Effect.try({
|
|
177
|
+
try: () => toPublicKeyCredentialCreationOptions(publicKey),
|
|
178
|
+
catch: (cause) => passkeyBrowserError("create", "invalid-options", "Invalid passkey registration options", cause),
|
|
179
|
+
});
|
|
180
|
+
const credential = yield* Effect.tryPromise({
|
|
181
|
+
try: (signal) => credentials.create({ publicKey: creationOptions, signal }),
|
|
182
|
+
catch: (cause) => operationError("create", cause),
|
|
183
|
+
});
|
|
184
|
+
return yield* Effect.try({
|
|
185
|
+
try: () => registrationCredentialToJson(requirePublicKeyCredential(credential)),
|
|
186
|
+
catch: (cause) => passkeyBrowserError("create", "invalid-credential", "Browser returned an invalid passkey registration credential", cause),
|
|
187
|
+
});
|
|
188
|
+
});
|
|
189
|
+
export const getPasskeyCredentialEffect = Effect.fn("auth.passkey.browser.get")(function* (publicKey, options = {}) {
|
|
190
|
+
const credentials = yield* resolveCredentialsEffect("get", options);
|
|
191
|
+
const requestOptions = yield* Effect.try({
|
|
192
|
+
try: () => toPublicKeyCredentialRequestOptions(publicKey),
|
|
193
|
+
catch: (cause) => passkeyBrowserError("get", "invalid-options", "Invalid passkey authentication options", cause),
|
|
194
|
+
});
|
|
195
|
+
const credential = yield* Effect.tryPromise({
|
|
196
|
+
try: (signal) => credentials.get({ publicKey: requestOptions, signal }),
|
|
197
|
+
catch: (cause) => operationError("get", cause),
|
|
198
|
+
});
|
|
199
|
+
return yield* Effect.try({
|
|
200
|
+
try: () => authenticationCredentialToJson(requirePublicKeyCredential(credential)),
|
|
201
|
+
catch: (cause) => passkeyBrowserError("get", "invalid-credential", "Browser returned an invalid passkey authentication credential", cause),
|
|
202
|
+
});
|
|
203
|
+
});
|
|
204
|
+
export const createPasskeyCredential = (publicKey, options = {}) => Effect.runPromise(createPasskeyCredentialEffect(publicKey, options));
|
|
205
|
+
export const getPasskeyCredential = (publicKey, options = {}) => Effect.runPromise(getPasskeyCredentialEffect(publicKey, options));
|
|
206
|
+
//# sourceMappingURL=PasskeyBrowser.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PasskeyBrowser.js","sourceRoot":"","sources":["../src/PasskeyBrowser.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PasskeySimpleWebAuthn.d.ts","sourceRoot":"","sources":["../src/PasskeySimpleWebAuthn.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,4BAA4B,IAAI,0CAA0C,EAC1E,0BAA0B,IAAI,wCAAwC,EACvE,MAAM,wBAAwB,CAAC;AAMhC,OAAO,EAAoB,KAAK,EAAU,MAAM,QAAQ,CAAC;AAEzD,OAAO,EAEL,eAAe,EAEhB,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAIV,sBAAsB,EACvB,MAAM,cAAc,CAAC;AAEtB,MAAM,WAAW,oCAAoC;IACnD,QAAQ,CAAC,0BAA0B,CAAC,EAAE,OAAO,wCAAwC,CAAC;IACtF,QAAQ,CAAC,4BAA4B,CAAC,EAAE,OAAO,0CAA0C,CAAC;CAC3F;
|
|
1
|
+
{"version":3,"file":"PasskeySimpleWebAuthn.d.ts","sourceRoot":"","sources":["../src/PasskeySimpleWebAuthn.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,4BAA4B,IAAI,0CAA0C,EAC1E,0BAA0B,IAAI,wCAAwC,EACvE,MAAM,wBAAwB,CAAC;AAMhC,OAAO,EAAoB,KAAK,EAAU,MAAM,QAAQ,CAAC;AAEzD,OAAO,EAEL,eAAe,EAEhB,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAIV,sBAAsB,EACvB,MAAM,cAAc,CAAC;AAEtB,MAAM,WAAW,oCAAoC;IACnD,QAAQ,CAAC,0BAA0B,CAAC,EAAE,OAAO,wCAAwC,CAAC;IACtF,QAAQ,CAAC,4BAA4B,CAAC,EAAE,OAAO,0CAA0C,CAAC;CAC3F;AAqND,eAAO,MAAM,iCAAiC,aACnC,oCAAoC,KAC5C,sBA2HF,CAAC;AAEF,eAAO,MAAM,iCAAiC,4CAG7C,CAAC"}
|
|
@@ -31,7 +31,7 @@ const clientDataChallenge = (clientDataJSON, operation) => decodeBase64UrlBytes(
|
|
|
31
31
|
})), Effect.flatMap((clientData) => typeof clientData.challenge === "string"
|
|
32
32
|
? Effect.succeed(clientData.challenge)
|
|
33
33
|
: Effect.fail(verifierError(operation, "Missing clientData challenge"))));
|
|
34
|
-
const expectedOrigin = (origin) => typeof origin === "string" ? origin : [...origin];
|
|
34
|
+
const expectedOrigin = (origin) => (typeof origin === "string" ? origin : [...origin]);
|
|
35
35
|
const passkeyAuthenticatorAttachment = (credential, operation) => {
|
|
36
36
|
const attachment = credential.authenticatorAttachment;
|
|
37
37
|
return attachment === undefined
|
|
@@ -67,7 +67,9 @@ const registrationResponseForSimpleWebAuthn = (credential) => Effect.gen(functio
|
|
|
67
67
|
transports: transports,
|
|
68
68
|
}),
|
|
69
69
|
},
|
|
70
|
-
...(attachment === undefined
|
|
70
|
+
...(attachment === undefined
|
|
71
|
+
? {}
|
|
72
|
+
: { authenticatorAttachment: attachment }),
|
|
71
73
|
clientExtensionResults: credential.clientExtensionResults ?? {},
|
|
72
74
|
};
|
|
73
75
|
});
|
|
@@ -88,7 +90,9 @@ const authenticationResponseForSimpleWebAuthn = (credential) => Effect.gen(funct
|
|
|
88
90
|
signature,
|
|
89
91
|
...(userHandle === undefined ? {} : { userHandle }),
|
|
90
92
|
},
|
|
91
|
-
...(attachment === undefined
|
|
93
|
+
...(attachment === undefined
|
|
94
|
+
? {}
|
|
95
|
+
: { authenticatorAttachment: attachment }),
|
|
92
96
|
clientExtensionResults: credential.clientExtensionResults ?? {},
|
|
93
97
|
};
|
|
94
98
|
});
|
|
@@ -103,9 +107,11 @@ const credentialForSimpleWebAuthn = (credential) => decodeBase64UrlBytes(credent
|
|
|
103
107
|
}),
|
|
104
108
|
})));
|
|
105
109
|
export const makeSimpleWebAuthnPasskeyVerifier = (options = {}) => {
|
|
106
|
-
const verifyRegistrationResponse = options.verifyRegistrationResponse ??
|
|
107
|
-
|
|
108
|
-
|
|
110
|
+
const verifyRegistrationResponse = options.verifyRegistrationResponse ??
|
|
111
|
+
simpleWebAuthnVerifyRegistrationResponse;
|
|
112
|
+
const verifyAuthenticationResponse = options.verifyAuthenticationResponse ??
|
|
113
|
+
simpleWebAuthnVerifyAuthenticationResponse;
|
|
114
|
+
return PasskeyVerifier.of({
|
|
109
115
|
readAuthenticationCredentialId: ({ response }) => Effect.succeed(PasskeyCredentialId(response.id)),
|
|
110
116
|
verifyRegistration: (input) => Effect.gen(function* () {
|
|
111
117
|
const response = yield* registrationResponseForSimpleWebAuthn(input.response);
|
|
@@ -144,6 +150,7 @@ export const makeSimpleWebAuthnPasskeyVerifier = (options = {}) => {
|
|
|
144
150
|
}),
|
|
145
151
|
verifyAuthentication: (input) => Effect.gen(function* () {
|
|
146
152
|
const response = yield* authenticationResponseForSimpleWebAuthn(input.response);
|
|
153
|
+
const authenticatorAttachment = yield* passkeyAuthenticatorAttachment(input.response, "verify-authentication");
|
|
147
154
|
const challenge = yield* clientDataChallenge(response.response.clientDataJSON, "verify-authentication");
|
|
148
155
|
const credential = yield* credentialForSimpleWebAuthn(input.credential);
|
|
149
156
|
const result = yield* Effect.tryPromise({
|
|
@@ -167,7 +174,12 @@ export const makeSimpleWebAuthnPasskeyVerifier = (options = {}) => {
|
|
|
167
174
|
challenge,
|
|
168
175
|
credentialId: PasskeyCredentialId(info.credentialID),
|
|
169
176
|
newSignCount: info.newCounter,
|
|
170
|
-
|
|
177
|
+
userVerification: info.userVerified ? "verified" : "not-verified",
|
|
178
|
+
...(authenticatorAttachment === undefined
|
|
179
|
+
? {}
|
|
180
|
+
: { authenticatorAttachment }),
|
|
181
|
+
backedUp: info.credentialBackedUp,
|
|
182
|
+
backupEligible: info.credentialDeviceType === "multiDevice",
|
|
171
183
|
metadata: {
|
|
172
184
|
credentialDeviceType: info.credentialDeviceType,
|
|
173
185
|
origin: info.origin,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PasskeySimpleWebAuthn.js","sourceRoot":"","sources":["../src/PasskeySimpleWebAuthn.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,4BAA4B,IAAI,0CAA0C,EAC1E,0BAA0B,IAAI,wCAAwC,GACvE,MAAM,wBAAwB,CAAC;AAMhC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEzD,OAAO,EACL,mBAAmB,EACnB,eAAe,EACf,oBAAoB,GACrB,MAAM,cAAc,CAAC;AAatB,MAAM,WAAW,GAAG,IAAI,WAAW,EAAE,CAAC;AAEtC,MAAM,aAAa,GAAG,CACpB,SAAmC,EACnC,OAAe,EACf,KAAe,EACO,EAAE,CACxB,IAAI,oBAAoB,CAAC;IACvB,SAAS;IACT,OAAO;IACP,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC;CAC1C,CAAC,CAAC;AAEL,MAAM,cAAc,GAAG,CACrB,UAAuC,EACvC,GAAW,EACX,SAAmC,EACU,EAAE;IAC/C,MAAM,KAAK,GAAG,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IAEvC,OAAO,OAAO,KAAK,KAAK,QAAQ;QAC9B,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC;QACvB,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,WAAW,GAAG,EAAE,CAAC,CAAC,CAAC;AAC9D,CAAC,CAAC;AAEF,MAAM,sBAAsB,GAAG,CAC7B,UAAuC,EACvC,GAAW,EACX,SAAmC,EACsB,EAAE;IAC3D,MAAM,KAAK,GAAG,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IAEvC,OAAO,KAAK,KAAK,SAAS;QACxB,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC;QAC3B,CAAC,CAAC,OAAO,KAAK,KAAK,QAAQ;YACzB,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC;YACvB,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,WAAW,GAAG,EAAE,CAAC,CAAC,CAAC;AAChE,CAAC,CAAC;AAEF,MAAM,oBAAoB,GAAG,CAC3B,KAAa,EACb,SAAmC,EACc,EAAE,CACnD,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE;IAC5C,SAAS,EAAE,MAAM,CAAC,OAAO;IACzB,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE,CACnB,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,yBAAyB,EAAE,KAAK,CAAC,CAAC;CAC1E,CAAC,CAAC;AAEL,MAAM,mBAAmB,GAAG,CAC1B,cAAsB,EACtB,SAAmC,EACU,EAAE,CAC/C,oBAAoB,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC,IAAI,CAClD,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CACvB,MAAM,CAAC,GAAG,CAAC;IACT,GAAG,EAAE,GAAG,EAAE,
|
|
1
|
+
{"version":3,"file":"PasskeySimpleWebAuthn.js","sourceRoot":"","sources":["../src/PasskeySimpleWebAuthn.ts"],"names":[],"mappings":"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"}
|
package/dist/Password.d.ts
CHANGED
|
@@ -1,28 +1,37 @@
|
|
|
1
1
|
import { Context, Duration, Effect, Layer, Redacted } from "effect";
|
|
2
2
|
import { AuthFlow } from "./AuthFlow.js";
|
|
3
|
-
import type { AuthFlowPrimaryFactorError, AuthFlowPrimaryFactorResult, AuthFlowService, AuthResultOf } from "./AuthFlow.js";
|
|
3
|
+
import type { AuthFlowPrimaryFactorError, AuthFlowPrimaryFactorResult, AuthFlowService, AuthResultOf, PrimaryFactorResult } from "./AuthFlow.js";
|
|
4
4
|
import { Challenge } from "./Challenge.js";
|
|
5
5
|
import type { ChallengeService } from "./Challenge.js";
|
|
6
6
|
import { Crypto } from "./Crypto.js";
|
|
7
7
|
import type { CryptoError, CryptoService } from "./Crypto.js";
|
|
8
|
+
import type { EmailAcceptancePolicyService, EmailRiskProviderUnavailableError } from "./EmailRisk.js";
|
|
9
|
+
import { EmailAcceptancePolicy, EmailNotAcceptedError } from "./EmailRisk.js";
|
|
8
10
|
import { Email, UserId } from "./Identifiers.js";
|
|
9
11
|
import type { ChallengeId, UnixMillis } from "./Identifiers.js";
|
|
12
|
+
import { IdentityKindRegistry } from "./Identity.js";
|
|
13
|
+
import type { IdentityKindRegistryService, IdentityNormalizationError, LoginIdentityInput, NormalizedLoginIdentity } from "./Identity.js";
|
|
10
14
|
import type { LoginRequestContext } from "./LoginRisk.js";
|
|
11
15
|
import { AuthMailer } from "./Mailer.js";
|
|
12
16
|
import type { AuthMailerService } from "./Mailer.js";
|
|
13
|
-
import {
|
|
14
|
-
import type {
|
|
17
|
+
import { PasswordRiskPolicy } from "./PasswordRisk.js";
|
|
18
|
+
import type { PasswordRiskPolicyService, PasswordRiskRejectedError } from "./PasswordRisk.js";
|
|
19
|
+
import { CredentialStore, IdentityStore, RegistrationStore, SessionStore, UserStore } from "./Storage.js";
|
|
20
|
+
import type { CredentialStoreService, IdentityStoreService, RegistrationConflictError, RegistrationFailureError, RegistrationStoreService, SessionStoreService, StorageError, UserStoreService } from "./Storage.js";
|
|
15
21
|
export interface PasswordSignInInput {
|
|
16
|
-
readonly
|
|
22
|
+
readonly identity: LoginIdentityInput;
|
|
17
23
|
readonly password: Redacted.Redacted<string>;
|
|
18
24
|
readonly trustedDeviceToken?: Redacted.Redacted<string>;
|
|
25
|
+
readonly deviceKey?: string;
|
|
26
|
+
readonly locationKey?: string;
|
|
19
27
|
readonly request?: LoginRequestContext;
|
|
20
28
|
readonly metadata?: Readonly<Record<string, unknown>>;
|
|
21
29
|
}
|
|
22
30
|
export interface PasswordSignUpInput {
|
|
23
|
-
readonly
|
|
31
|
+
readonly identity: LoginIdentityInput;
|
|
24
32
|
readonly password: Redacted.Redacted<string>;
|
|
25
|
-
readonly
|
|
33
|
+
readonly deviceKey?: string;
|
|
34
|
+
readonly locationKey?: string;
|
|
26
35
|
readonly request?: LoginRequestContext;
|
|
27
36
|
readonly metadata?: Readonly<Record<string, unknown>>;
|
|
28
37
|
}
|
|
@@ -50,9 +59,6 @@ export interface PasswordHasherService {
|
|
|
50
59
|
declare const PasswordHasher_base: Context.ServiceClass<PasswordHasher, "auth/PasswordHasher", PasswordHasherService>;
|
|
51
60
|
export declare class PasswordHasher extends PasswordHasher_base {
|
|
52
61
|
}
|
|
53
|
-
export declare namespace PasswordHasher {
|
|
54
|
-
const make: (service: PasswordHasherService) => PasswordHasherService;
|
|
55
|
-
}
|
|
56
62
|
export interface Pbkdf2PasswordHasherOptions {
|
|
57
63
|
readonly webCrypto?: typeof globalThis.crypto;
|
|
58
64
|
readonly iterations?: number;
|
|
@@ -62,35 +68,62 @@ export interface Pbkdf2PasswordHasherOptions {
|
|
|
62
68
|
export interface Pbkdf2PasswordHasherDependencies extends Pbkdf2PasswordHasherOptions {
|
|
63
69
|
readonly crypto: CryptoService;
|
|
64
70
|
}
|
|
71
|
+
export declare const defaultPasswordMaxBytes = 1024;
|
|
72
|
+
declare const PasswordTooLongError_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }>) => import("effect/Cause").YieldableError & {
|
|
73
|
+
readonly _tag: "PasswordTooLongError";
|
|
74
|
+
} & Readonly<A>;
|
|
75
|
+
export declare class PasswordTooLongError extends PasswordTooLongError_base<{
|
|
76
|
+
readonly message: string;
|
|
77
|
+
}> {
|
|
78
|
+
}
|
|
65
79
|
export declare const makePbkdf2PasswordHasher: (dependencies: Pbkdf2PasswordHasherDependencies) => PasswordHasherService;
|
|
66
80
|
export declare const Pbkdf2PasswordHasherLive: (options?: Pbkdf2PasswordHasherOptions) => Layer.Layer<PasswordHasher, never, Crypto>;
|
|
67
81
|
export type PasswordSignInError = StorageError | PasswordHashError | AuthFlowPrimaryFactorError;
|
|
68
82
|
export type PasswordSignInResult = AuthFlowPrimaryFactorResult<"password"> | AuthResultOf<"InvalidCredentials" | "AccountDisabled">;
|
|
83
|
+
export interface PasswordPrimaryFactorVerified extends PrimaryFactorResult<"password"> {
|
|
84
|
+
readonly _tag: "Verified";
|
|
85
|
+
}
|
|
86
|
+
export type PasswordPrimaryFactorVerifyError = StorageError | PasswordHashError;
|
|
87
|
+
export type PasswordPrimaryFactorVerifyResult = PasswordPrimaryFactorVerified | AuthResultOf<"InvalidCredentials" | "AccountDisabled">;
|
|
88
|
+
export interface PasswordPrimaryFactorService {
|
|
89
|
+
readonly verify: (input: PasswordSignInInput) => Effect.Effect<PasswordPrimaryFactorVerifyResult, PasswordPrimaryFactorVerifyError>;
|
|
90
|
+
}
|
|
91
|
+
declare const PasswordPrimaryFactor_base: Context.ServiceClass<PasswordPrimaryFactor, "auth/primary-factor/Password", PasswordPrimaryFactorService>;
|
|
92
|
+
export declare class PasswordPrimaryFactor extends PasswordPrimaryFactor_base {
|
|
93
|
+
}
|
|
94
|
+
export interface PasswordPrimaryFactorDependencies {
|
|
95
|
+
readonly users: UserStoreService;
|
|
96
|
+
readonly identities: IdentityStoreService;
|
|
97
|
+
readonly identityKinds: IdentityKindRegistryService;
|
|
98
|
+
readonly credentials: CredentialStoreService;
|
|
99
|
+
readonly hasher: PasswordHasherService;
|
|
100
|
+
}
|
|
101
|
+
export declare const makePasswordPrimaryFactor: (dependencies: PasswordPrimaryFactorDependencies) => PasswordPrimaryFactorService;
|
|
102
|
+
export declare const PasswordPrimaryFactorLive: Layer.Layer<PasswordPrimaryFactor, never, CredentialStore | IdentityKindRegistry | IdentityStore | PasswordHasher | UserStore>;
|
|
69
103
|
export interface PasswordLoginService {
|
|
70
104
|
readonly signIn: (input: PasswordSignInInput) => Effect.Effect<PasswordSignInResult, PasswordSignInError>;
|
|
71
105
|
}
|
|
72
106
|
declare const PasswordLogin_base: Context.ServiceClass<PasswordLogin, "auth/login/Password", PasswordLoginService>;
|
|
73
107
|
export declare class PasswordLogin extends PasswordLogin_base {
|
|
74
108
|
}
|
|
75
|
-
export declare namespace PasswordLogin {
|
|
76
|
-
const make: (service: PasswordLoginService) => PasswordLoginService;
|
|
77
|
-
}
|
|
78
109
|
export interface PasswordLoginDependencies {
|
|
79
110
|
readonly users: UserStoreService;
|
|
111
|
+
readonly identities: IdentityStoreService;
|
|
112
|
+
readonly identityKinds: IdentityKindRegistryService;
|
|
80
113
|
readonly credentials: CredentialStoreService;
|
|
81
114
|
readonly hasher: PasswordHasherService;
|
|
82
115
|
readonly authFlow: AuthFlowService;
|
|
83
116
|
}
|
|
84
117
|
export declare const makePasswordLogin: (dependencies: PasswordLoginDependencies) => PasswordLoginService;
|
|
85
|
-
export declare const PasswordLoginLive: Layer.Layer<PasswordLogin, never, AuthFlow | CredentialStore | PasswordHasher | UserStore>;
|
|
86
|
-
declare const
|
|
87
|
-
readonly _tag: "
|
|
118
|
+
export declare const PasswordLoginLive: Layer.Layer<PasswordLogin, never, AuthFlow | CredentialStore | IdentityKindRegistry | IdentityStore | PasswordHasher | UserStore>;
|
|
119
|
+
declare const IdentityAlreadyRegisteredError_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }>) => import("effect/Cause").YieldableError & {
|
|
120
|
+
readonly _tag: "IdentityAlreadyRegisteredError";
|
|
88
121
|
} & Readonly<A>;
|
|
89
|
-
export declare class
|
|
90
|
-
readonly
|
|
122
|
+
export declare class IdentityAlreadyRegisteredError extends IdentityAlreadyRegisteredError_base<{
|
|
123
|
+
readonly identity: NormalizedLoginIdentity;
|
|
91
124
|
}> {
|
|
92
125
|
}
|
|
93
|
-
export type PasswordSignUpError =
|
|
126
|
+
export type PasswordSignUpError = IdentityAlreadyRegisteredError | IdentityNormalizationError | RegistrationConflictError | RegistrationFailureError | PasswordHashError | PasswordRiskRejectedError | PasswordTooLongError | EmailNotAcceptedError | EmailRiskProviderUnavailableError | CryptoError | AuthFlowPrimaryFactorError;
|
|
94
127
|
export type PasswordSignUpResult = AuthFlowPrimaryFactorResult<"password">;
|
|
95
128
|
export interface PasswordRegistrationService {
|
|
96
129
|
readonly signUp: (input: PasswordSignUpInput) => Effect.Effect<PasswordSignUpResult, PasswordSignUpError>;
|
|
@@ -98,22 +131,23 @@ export interface PasswordRegistrationService {
|
|
|
98
131
|
declare const PasswordRegistration_base: Context.ServiceClass<PasswordRegistration, "auth/registration/Password", PasswordRegistrationService>;
|
|
99
132
|
export declare class PasswordRegistration extends PasswordRegistration_base {
|
|
100
133
|
}
|
|
101
|
-
export declare namespace PasswordRegistration {
|
|
102
|
-
const make: (service: PasswordRegistrationService) => PasswordRegistrationService;
|
|
103
|
-
}
|
|
104
134
|
export interface PasswordRegistrationDependencies {
|
|
105
|
-
readonly
|
|
106
|
-
readonly
|
|
135
|
+
readonly registration: RegistrationStoreService;
|
|
136
|
+
readonly identityKinds: IdentityKindRegistryService;
|
|
107
137
|
readonly hasher: PasswordHasherService;
|
|
108
138
|
readonly authFlow: AuthFlowService;
|
|
109
139
|
readonly crypto: CryptoService;
|
|
140
|
+
readonly passwordRiskPolicy: PasswordRiskPolicyService;
|
|
141
|
+
readonly emailAcceptancePolicy?: EmailAcceptancePolicyService;
|
|
110
142
|
readonly userIdBytes?: number;
|
|
111
143
|
readonly credentialIdBytes?: number;
|
|
144
|
+
readonly identityIdBytes?: number;
|
|
145
|
+
readonly passwordMaxBytes?: number;
|
|
112
146
|
}
|
|
113
147
|
export declare const makePasswordRegistration: (dependencies: PasswordRegistrationDependencies) => PasswordRegistrationService;
|
|
114
|
-
export declare const PasswordRegistrationLive: Layer.Layer<PasswordRegistration, never, AuthFlow |
|
|
148
|
+
export declare const PasswordRegistrationLive: Layer.Layer<PasswordRegistration, never, AuthFlow | Crypto | EmailAcceptancePolicy | IdentityKindRegistry | PasswordHasher | PasswordRiskPolicy | RegistrationStore>;
|
|
115
149
|
export interface PasswordResetStartInput {
|
|
116
|
-
readonly
|
|
150
|
+
readonly identity: LoginIdentityInput;
|
|
117
151
|
readonly secret?: Redacted.Redacted<string>;
|
|
118
152
|
readonly ttl?: Duration.Duration;
|
|
119
153
|
readonly locale?: string;
|
|
@@ -158,23 +192,24 @@ export interface PasswordResetService {
|
|
|
158
192
|
declare const PasswordReset_base: Context.ServiceClass<PasswordReset, "auth/password/Reset", PasswordResetService>;
|
|
159
193
|
export declare class PasswordReset extends PasswordReset_base {
|
|
160
194
|
}
|
|
161
|
-
export declare namespace PasswordReset {
|
|
162
|
-
const make: (service: PasswordResetService) => PasswordResetService;
|
|
163
|
-
}
|
|
164
195
|
export interface PasswordResetOptions {
|
|
165
196
|
readonly ttl?: Duration.Duration;
|
|
166
197
|
readonly secretBytes?: number;
|
|
167
198
|
readonly credentialIdBytes?: number;
|
|
199
|
+
readonly passwordMaxBytes?: number;
|
|
168
200
|
readonly makeUrl: (input: PasswordResetUrlInput) => string;
|
|
169
201
|
}
|
|
170
202
|
export interface PasswordResetDependencies extends PasswordResetOptions {
|
|
171
203
|
readonly challenge: ChallengeService;
|
|
172
204
|
readonly users: UserStoreService;
|
|
205
|
+
readonly identities: IdentityStoreService;
|
|
206
|
+
readonly identityKinds: IdentityKindRegistryService;
|
|
173
207
|
readonly credentials: CredentialStoreService;
|
|
174
208
|
readonly hasher: PasswordHasherService;
|
|
175
209
|
readonly crypto: CryptoService;
|
|
176
210
|
readonly authMailer: AuthMailerService;
|
|
177
211
|
readonly sessionStore: SessionStoreService;
|
|
212
|
+
readonly passwordRiskPolicy: PasswordRiskPolicyService;
|
|
178
213
|
}
|
|
179
214
|
export interface PasswordResetFeatureOptions extends PasswordResetOptions {
|
|
180
215
|
readonly passwordHasher?: Pbkdf2PasswordHasherOptions;
|
|
@@ -182,8 +217,8 @@ export interface PasswordResetFeatureOptions extends PasswordResetOptions {
|
|
|
182
217
|
export declare const defaultPasswordResetTtl: Duration.Duration;
|
|
183
218
|
export declare const defaultPasswordResetSecretBytes = 32;
|
|
184
219
|
export declare const makePasswordReset: (dependencies: PasswordResetDependencies) => PasswordResetService;
|
|
185
|
-
export declare const PasswordResetLive: (options: PasswordResetOptions) => Layer.Layer<PasswordReset, never, AuthMailer | Challenge | CredentialStore | Crypto | PasswordHasher | SessionStore | UserStore>;
|
|
186
|
-
export declare const
|
|
220
|
+
export declare const PasswordResetLive: (options: PasswordResetOptions) => Layer.Layer<PasswordReset, never, AuthMailer | Challenge | CredentialStore | Crypto | IdentityKindRegistry | IdentityStore | PasswordHasher | PasswordRiskPolicy | SessionStore | UserStore>;
|
|
221
|
+
export declare const PasswordResetDefaultLive: (options: PasswordResetFeatureOptions, passwordRiskPolicy?: Layer.Layer<PasswordRiskPolicy>) => Layer.Layer<PasswordHasher | PasswordReset | PasswordRiskPolicy, never, AuthMailer | Challenge | CredentialStore | Crypto | IdentityKindRegistry | IdentityStore | SessionStore | UserStore>;
|
|
187
222
|
export interface PasswordSetInput {
|
|
188
223
|
readonly userId: UserId;
|
|
189
224
|
readonly password: Redacted.Redacted<string>;
|
|
@@ -194,8 +229,8 @@ export interface PasswordChangeInput {
|
|
|
194
229
|
readonly currentPassword: Redacted.Redacted<string>;
|
|
195
230
|
readonly newPassword: Redacted.Redacted<string>;
|
|
196
231
|
}
|
|
197
|
-
export type PasswordSetErrorReason = "password_exists" | "password_revoked" | "internal";
|
|
198
|
-
export type PasswordChangeErrorReason = "password_missing" | "password_revoked" | "invalid_current_password" | "internal";
|
|
232
|
+
export type PasswordSetErrorReason = "password_exists" | "password_revoked" | "password_policy_rejected" | "internal";
|
|
233
|
+
export type PasswordChangeErrorReason = "password_missing" | "password_revoked" | "invalid_current_password" | "password_policy_rejected" | "internal";
|
|
199
234
|
declare const PasswordSetError_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }>) => import("effect/Cause").YieldableError & {
|
|
200
235
|
readonly _tag: "PasswordSetError";
|
|
201
236
|
} & Readonly<A>;
|
|
@@ -221,17 +256,16 @@ export interface PasswordManagementService {
|
|
|
221
256
|
declare const PasswordManagement_base: Context.ServiceClass<PasswordManagement, "auth/password/Management", PasswordManagementService>;
|
|
222
257
|
export declare class PasswordManagement extends PasswordManagement_base {
|
|
223
258
|
}
|
|
224
|
-
export declare namespace PasswordManagement {
|
|
225
|
-
const make: (service: PasswordManagementService) => PasswordManagementService;
|
|
226
|
-
}
|
|
227
259
|
export interface PasswordManagementDependencies {
|
|
228
260
|
readonly credentials: CredentialStoreService;
|
|
229
261
|
readonly hasher: PasswordHasherService;
|
|
230
262
|
readonly crypto: CryptoService;
|
|
263
|
+
readonly passwordRiskPolicy: PasswordRiskPolicyService;
|
|
231
264
|
readonly credentialIdBytes?: number;
|
|
265
|
+
readonly passwordMaxBytes?: number;
|
|
232
266
|
}
|
|
233
267
|
export declare const makePasswordManagement: (dependencies: PasswordManagementDependencies) => PasswordManagementService;
|
|
234
|
-
export declare const PasswordManagementLive: Layer.Layer<PasswordManagement, never, CredentialStore | Crypto | PasswordHasher>;
|
|
235
|
-
export declare const
|
|
268
|
+
export declare const PasswordManagementLive: Layer.Layer<PasswordManagement, never, CredentialStore | Crypto | PasswordHasher | PasswordRiskPolicy>;
|
|
269
|
+
export declare const PasswordDefaultLive: (options?: Pbkdf2PasswordHasherOptions, passwordRiskPolicy?: Layer.Layer<PasswordRiskPolicy>, emailAcceptancePolicy?: Layer.Layer<EmailAcceptancePolicy>) => Layer.Layer<EmailAcceptancePolicy | PasswordHasher | PasswordLogin | PasswordManagement | PasswordPrimaryFactor | PasswordRegistration | PasswordRiskPolicy, never, AuthFlow | CredentialStore | Crypto | IdentityKindRegistry | IdentityStore | RegistrationStore | UserStore>;
|
|
236
270
|
export {};
|
|
237
271
|
//# sourceMappingURL=Password.d.ts.map
|
package/dist/Password.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Password.d.ts","sourceRoot":"","sources":["../src/Password.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EAEP,QAAQ,EACR,MAAM,EAEN,KAAK,EAEL,QAAQ,EAET,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"Password.d.ts","sourceRoot":"","sources":["../src/Password.ts"],"names":[],"mappings":"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"}
|