@effect-auth/core 0.1.0-alpha.15 → 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 +332 -131
- 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 +2 -14
- 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/AuthConfig.d.ts.map +1 -1
- package/dist/AuthConfig.js.map +1 -1
- package/dist/AuthFlow.d.ts +326 -220
- package/dist/AuthFlow.d.ts.map +1 -1
- package/dist/AuthFlow.js +611 -263
- package/dist/AuthFlow.js.map +1 -1
- package/dist/AuthKernel.d.ts +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 +5 -7
- 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 +28 -0
- package/dist/DrizzleD1SqliteStorage.d.ts.map +1 -0
- package/dist/DrizzleD1SqliteStorage.js +10 -0
- package/dist/DrizzleD1SqliteStorage.js.map +1 -0
- 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 +31 -0
- package/dist/DrizzleEffectSqliteStorage.d.ts.map +1 -0
- package/dist/DrizzleEffectSqliteStorage.js +108 -0
- package/dist/DrizzleEffectSqliteStorage.js.map +1 -0
- 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 +184 -27
- package/dist/EffectQbSqliteStorage.d.ts.map +1 -1
- package/dist/EffectQbSqliteStorage.js +1729 -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 +1172 -1172
- 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 +9 -30
- package/dist/Jwt.d.ts.map +1 -1
- package/dist/Jwt.js +72 -60
- package/dist/Jwt.js.map +1 -1
- package/dist/LoginApproval.d.ts +16 -31
- 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 +8 -12
- 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/MachineAuth.d.ts.map +1 -1
- package/dist/MachineAuth.js.map +1 -1
- 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 +20 -13
- 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 +100 -103
- 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 +17 -19
- 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 +296 -82
- 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 +84 -12
- 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 +1 -10
- package/dist/RefreshToken.d.ts.map +1 -1
- package/dist/RefreshToken.js +31 -22
- package/dist/RefreshToken.js.map +1 -1
- package/dist/Retention.d.ts.map +1 -1
- package/dist/Retention.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.d.ts +1 -1
- 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 +194 -36
- 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 +4 -4
- package/dist/alchemy/cloudflare/Email.d.ts.map +1 -1
- package/dist/alchemy/cloudflare/Email.js +10 -5
- package/dist/alchemy/cloudflare/Email.js.map +1 -1
- package/dist/alchemy/cloudflare/RateLimitDurableObject.d.ts +4 -4
- package/dist/alchemy/cloudflare/RateLimitDurableObject.d.ts.map +1 -1
- package/dist/alchemy/cloudflare/RateLimitDurableObject.js +5 -4
- package/dist/alchemy/cloudflare/RateLimitDurableObject.js.map +1 -1
- package/dist/cloudflare/Email.d.ts.map +1 -1
- package/dist/cloudflare/Email.js +1 -1
- package/dist/cloudflare/Email.js.map +1 -1
- package/dist/cloudflare/RateLimitDurableObject.d.ts +6 -5
- package/dist/cloudflare/RateLimitDurableObject.d.ts.map +1 -1
- package/dist/cloudflare/RateLimitDurableObject.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/dist/internal/RateLimitDurableObject.d.ts.map +1 -1
- package/dist/internal/RateLimitDurableObject.js +3 -0
- package/dist/internal/RateLimitDurableObject.js.map +1 -1
- 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 +309 -2
package/dist/AuthFlow.d.ts
CHANGED
|
@@ -1,15 +1,21 @@
|
|
|
1
1
|
import { Context, Data, Duration, Effect, Layer, Redacted } from "effect";
|
|
2
|
+
import type { AuthenticationEvidence } from "./Assurance.js";
|
|
2
3
|
import { Challenge } from "./Challenge.js";
|
|
3
4
|
import type { ChallengeService } from "./Challenge.js";
|
|
4
5
|
import type { CryptoService } from "./Crypto.js";
|
|
5
|
-
import type {
|
|
6
|
-
import { AuthFlowId, ChallengeId,
|
|
6
|
+
import type { IdentityId, OAuthProviderId } from "./Identifiers.js";
|
|
7
|
+
import { AuthFlowId, ChallengeId, UnixMillis, UserId } from "./Identifiers.js";
|
|
8
|
+
import type { IdentityKind } from "./Identity.js";
|
|
7
9
|
import { LoginApprovalReview } from "./LoginApproval.js";
|
|
8
10
|
import type { LoginApprovalChannel, LoginApprovalFlowService, LoginApprovalFlowStartError, LoginApprovalIntent, LoginApprovalPolicyService, LoginApprovalReason, LoginApprovalReviewError, LoginApprovalReviewService, LoginApprovalSessionBinding, LoginDeviceContext } from "./LoginApproval.js";
|
|
9
11
|
import type { LoginNotificationService } from "./LoginNotification.js";
|
|
10
12
|
import type { LoginRequestContext, LoginRiskContext, LoginRiskEngineService, LoginRiskError } from "./LoginRisk.js";
|
|
13
|
+
import type { PasskeyCredentialManagementError, PasskeyCredentialManagementService } from "./Passkey.js";
|
|
14
|
+
import type { RecoveryCodeManagementError, RecoveryCodeManagementService } from "./RecoveryCode.js";
|
|
15
|
+
import type { RecoveryRequirementPolicyService } from "./RecoveryPolicy.js";
|
|
11
16
|
import { Sessions } from "./Sessions.js";
|
|
12
|
-
import type { AuthAssuranceLevel, AuthMethodReference, IssuedSession, SessionCreateError, SessionClaims, SessionsService } from "./Sessions.js";
|
|
17
|
+
import type { AuthAssuranceLevel, AuthMethodReference, IssuedSession, SessionCreateError, SessionClaims, SessionsService, PreparedSession } from "./Sessions.js";
|
|
18
|
+
import type { TotpFactorManagementError, TotpFactorManagementService } from "./Totp.js";
|
|
13
19
|
import type { TrustedDeviceError, TrustedDeviceService } from "./TrustedDevice.js";
|
|
14
20
|
export type AuthMethod = "password" | "email-otp" | "magic-link" | "passkey" | "oauth" | "totp" | "backup-code" | (string & {});
|
|
15
21
|
export type EmailVerificationSessionMode = "allow-unverified" | "limited-session";
|
|
@@ -30,51 +36,124 @@ export interface EmailVerificationSessionPolicyService {
|
|
|
30
36
|
declare const EmailVerificationSessionPolicy_base: Context.ServiceClass<EmailVerificationSessionPolicy, "auth/EmailVerificationSessionPolicy", EmailVerificationSessionPolicyService>;
|
|
31
37
|
export declare class EmailVerificationSessionPolicy extends EmailVerificationSessionPolicy_base {
|
|
32
38
|
}
|
|
33
|
-
export declare namespace EmailVerificationSessionPolicy {
|
|
34
|
-
const make: (service: EmailVerificationSessionPolicyService) => EmailVerificationSessionPolicyService;
|
|
35
|
-
}
|
|
36
39
|
export declare const makeEmailVerificationSessionPolicy: (options?: EmailVerificationSessionPolicyOptions) => EmailVerificationSessionPolicyService;
|
|
37
40
|
export declare const EmailVerificationSessionPolicyLive: (options?: EmailVerificationSessionPolicyOptions) => Layer.Layer<EmailVerificationSessionPolicy, never, never>;
|
|
38
41
|
export interface MfaFactor {
|
|
39
42
|
readonly type: "totp" | "backup-code" | "passkey" | (string & {});
|
|
40
43
|
}
|
|
44
|
+
export type MfaRequirementMode = "disabled" | "when-factors-present";
|
|
45
|
+
export interface MfaRequirementPolicyInput<Method extends AuthMethod = AuthMethod> extends PrimaryFactorResult<Method> {
|
|
46
|
+
readonly factors: readonly MfaFactor[];
|
|
47
|
+
readonly risk?: LoginRiskContext;
|
|
48
|
+
}
|
|
49
|
+
export type MfaRequirementPolicyDecision = {
|
|
50
|
+
readonly _tag: "Continue";
|
|
51
|
+
} | {
|
|
52
|
+
readonly _tag: "RequireMfa";
|
|
53
|
+
readonly factors: readonly MfaFactor[];
|
|
54
|
+
};
|
|
55
|
+
export interface MfaRequirementPolicyOptions {
|
|
56
|
+
readonly mode?: MfaRequirementMode;
|
|
57
|
+
readonly methods?: readonly AuthMethod[];
|
|
58
|
+
}
|
|
59
|
+
export interface MfaRequirementPolicyService {
|
|
60
|
+
readonly decide: <Method extends AuthMethod>(input: MfaRequirementPolicyInput<Method>) => Effect.Effect<MfaRequirementPolicyDecision>;
|
|
61
|
+
}
|
|
62
|
+
declare const MfaRequirementPolicy_base: Context.ServiceClass<MfaRequirementPolicy, "auth/MfaRequirementPolicy", MfaRequirementPolicyService>;
|
|
63
|
+
export declare class MfaRequirementPolicy extends MfaRequirementPolicy_base {
|
|
64
|
+
}
|
|
65
|
+
export declare const defaultMfaRequirementMethods: readonly ["password", "email-otp", "magic-link", "oauth"];
|
|
66
|
+
export declare const makeMfaRequirementPolicy: (options?: MfaRequirementPolicyOptions) => MfaRequirementPolicyService;
|
|
67
|
+
export declare const MfaRequirementPolicyLive: (options?: MfaRequirementPolicyOptions) => Layer.Layer<MfaRequirementPolicy, never, never>;
|
|
41
68
|
export interface PrimaryFactorResult<Method extends AuthMethod = AuthMethod> {
|
|
42
69
|
readonly userId: UserId;
|
|
43
|
-
readonly
|
|
70
|
+
readonly identity?: AuthenticatedIdentityContext;
|
|
71
|
+
readonly emailDestination?: EmailDestinationContext;
|
|
44
72
|
readonly intent?: LoginApprovalIntent;
|
|
45
73
|
readonly method: Method;
|
|
46
|
-
readonly
|
|
47
|
-
readonly aal: AuthAssuranceLevel;
|
|
74
|
+
readonly evidence: readonly AuthenticationEvidence[];
|
|
48
75
|
readonly claims?: SessionClaims;
|
|
49
76
|
readonly device?: LoginDeviceContext;
|
|
50
77
|
readonly trustedDeviceToken?: Redacted.Redacted<string>;
|
|
78
|
+
readonly deviceKey?: string;
|
|
79
|
+
readonly locationKey?: string;
|
|
51
80
|
readonly request?: LoginRequestContext;
|
|
81
|
+
readonly risk?: LoginRiskContext;
|
|
52
82
|
readonly metadata?: Readonly<Record<string, unknown>>;
|
|
53
83
|
}
|
|
84
|
+
export interface AuthFlowRequireMfaInput<Method extends AuthMethod = AuthMethod> extends PrimaryFactorResult<Method> {
|
|
85
|
+
readonly factors: readonly MfaFactor[];
|
|
86
|
+
readonly ttl?: Duration.Duration;
|
|
87
|
+
readonly secret?: Redacted.Redacted<string>;
|
|
88
|
+
}
|
|
54
89
|
export interface MfaCompleteInput {
|
|
55
90
|
readonly flowId: AuthFlowId;
|
|
56
91
|
readonly userId?: UserId;
|
|
57
92
|
readonly method: AuthMethod;
|
|
58
|
-
readonly
|
|
59
|
-
readonly aal?: AuthAssuranceLevel;
|
|
93
|
+
readonly evidence: AuthenticationEvidence;
|
|
60
94
|
readonly secret?: Redacted.Redacted<string>;
|
|
61
95
|
readonly now?: UnixMillis;
|
|
62
96
|
readonly metadata?: Readonly<Record<string, unknown>>;
|
|
63
97
|
}
|
|
64
98
|
export interface AuthFlowCompleteInput<Method extends AuthMethod = AuthMethod> {
|
|
65
99
|
readonly userId: UserId;
|
|
66
|
-
readonly
|
|
100
|
+
readonly identity?: AuthenticatedIdentityContext;
|
|
101
|
+
readonly emailDestination?: EmailDestinationContext;
|
|
67
102
|
readonly intent?: LoginApprovalIntent;
|
|
68
103
|
readonly method: Method;
|
|
69
|
-
readonly
|
|
70
|
-
readonly aal: AuthAssuranceLevel;
|
|
104
|
+
readonly evidence: readonly AuthenticationEvidence[];
|
|
71
105
|
readonly claims?: SessionClaims;
|
|
72
106
|
readonly device?: LoginDeviceContext;
|
|
107
|
+
readonly deviceKey?: string;
|
|
108
|
+
readonly locationKey?: string;
|
|
73
109
|
readonly request?: LoginRequestContext;
|
|
74
110
|
readonly risk?: LoginRiskContext;
|
|
75
|
-
readonly mfaVerifiedAt?: UnixMillis;
|
|
76
111
|
readonly metadata?: Readonly<Record<string, unknown>>;
|
|
77
112
|
}
|
|
113
|
+
export interface AuthFlowDerivedInput<Method extends AuthMethod = AuthMethod> extends AuthFlowCompleteInput<Method> {
|
|
114
|
+
readonly amr: readonly AuthMethodReference[];
|
|
115
|
+
readonly aal: AuthAssuranceLevel;
|
|
116
|
+
readonly primaryEstablished: boolean;
|
|
117
|
+
readonly recoveryRemediation: boolean;
|
|
118
|
+
readonly mfaVerifiedAt?: UnixMillis;
|
|
119
|
+
}
|
|
120
|
+
export interface AuthenticatedIdentityContext {
|
|
121
|
+
readonly identityId: IdentityId;
|
|
122
|
+
readonly kind: IdentityKind;
|
|
123
|
+
readonly verified: boolean;
|
|
124
|
+
}
|
|
125
|
+
export interface EmailDestinationContext {
|
|
126
|
+
readonly identityId: IdentityId;
|
|
127
|
+
readonly email: import("./Identifiers.js").Email;
|
|
128
|
+
}
|
|
129
|
+
export type AuthFlowPipelinePhase = "before-risk" | "after-risk" | "before-mfa" | "after-mfa" | "before-login-approval";
|
|
130
|
+
export interface AuthFlowPipelineContext {
|
|
131
|
+
readonly phase: AuthFlowPipelinePhase;
|
|
132
|
+
readonly input: AuthFlowDerivedInput;
|
|
133
|
+
readonly mfaSatisfied: boolean;
|
|
134
|
+
}
|
|
135
|
+
export type AuthFlowPipelineDecision = {
|
|
136
|
+
readonly _tag: "Continue";
|
|
137
|
+
} | {
|
|
138
|
+
readonly _tag: "PolicyDenied";
|
|
139
|
+
readonly reason?: string;
|
|
140
|
+
};
|
|
141
|
+
export interface AuthFlowPipelineService {
|
|
142
|
+
readonly advance: (context: AuthFlowPipelineContext) => Effect.Effect<AuthFlowPipelineDecision>;
|
|
143
|
+
}
|
|
144
|
+
declare const AuthFlowPipeline_base: Context.ServiceClass<AuthFlowPipeline, "auth/AuthFlowPipeline", AuthFlowPipelineService>;
|
|
145
|
+
export declare class AuthFlowPipeline extends AuthFlowPipeline_base {
|
|
146
|
+
}
|
|
147
|
+
export declare namespace AuthFlowPipeline {
|
|
148
|
+
const continueWith: () => AuthFlowPipelineDecision;
|
|
149
|
+
const deny: (reason?: string) => AuthFlowPipelineDecision;
|
|
150
|
+
}
|
|
151
|
+
export interface AuthFlowPipelineStage {
|
|
152
|
+
readonly phases?: readonly AuthFlowPipelinePhase[];
|
|
153
|
+
readonly run: (context: AuthFlowPipelineContext) => Effect.Effect<AuthFlowPipelineDecision>;
|
|
154
|
+
}
|
|
155
|
+
export declare const makeAuthFlowPipeline: (stages?: readonly AuthFlowPipelineStage[]) => AuthFlowPipelineService;
|
|
156
|
+
export declare const AuthFlowPipelineLive: (stages?: readonly AuthFlowPipelineStage[]) => Layer.Layer<AuthFlowPipeline, never, never>;
|
|
78
157
|
export type AuthResult = Data.TaggedEnum<{
|
|
79
158
|
Authenticated: {
|
|
80
159
|
readonly session: IssuedSession;
|
|
@@ -86,7 +165,7 @@ export type AuthResult = Data.TaggedEnum<{
|
|
|
86
165
|
RequiresEmailVerification: {
|
|
87
166
|
readonly flowId: AuthFlowId;
|
|
88
167
|
readonly userId?: UserId;
|
|
89
|
-
readonly
|
|
168
|
+
readonly identityId: IdentityId;
|
|
90
169
|
};
|
|
91
170
|
RequiresLoginApproval: {
|
|
92
171
|
readonly flowId: AuthFlowId;
|
|
@@ -112,67 +191,35 @@ export type AuthResult = Data.TaggedEnum<{
|
|
|
112
191
|
};
|
|
113
192
|
}>;
|
|
114
193
|
export declare const AuthResult: {
|
|
115
|
-
readonly Authenticated:
|
|
194
|
+
readonly $is: <Tag extends "AccountDisabled" | "Authenticated" | "InvalidCredentials" | "PolicyDenied" | "RequiresEmailVerification" | "RequiresExplicitLinking" | "RequiresLoginApproval" | "RequiresMfa" | "RequiresPasskeyEnrollment">(tag: Tag) => (u: unknown) => u is Extract<{
|
|
195
|
+
readonly _tag: "AccountDisabled";
|
|
196
|
+
}, {
|
|
197
|
+
readonly _tag: Tag;
|
|
198
|
+
}> | Extract<{
|
|
116
199
|
readonly _tag: "Authenticated";
|
|
117
200
|
readonly session: IssuedSession;
|
|
118
|
-
},
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
readonly flowId: AuthFlowId;
|
|
122
|
-
readonly factors: readonly MfaFactor[];
|
|
123
|
-
}, "_tag">;
|
|
124
|
-
readonly RequiresEmailVerification: Data.TaggedEnum.ConstructorFrom<{
|
|
125
|
-
readonly _tag: "RequiresEmailVerification";
|
|
126
|
-
readonly flowId: AuthFlowId;
|
|
127
|
-
readonly userId?: UserId | undefined;
|
|
128
|
-
readonly email?: Email | undefined;
|
|
129
|
-
}, "_tag">;
|
|
130
|
-
readonly RequiresLoginApproval: Data.TaggedEnum.ConstructorFrom<{
|
|
131
|
-
readonly _tag: "RequiresLoginApproval";
|
|
132
|
-
readonly flowId: AuthFlowId;
|
|
133
|
-
readonly approvalChallengeId: ChallengeId;
|
|
134
|
-
readonly channel: LoginApprovalChannel;
|
|
135
|
-
readonly sessionBinding: LoginApprovalSessionBinding;
|
|
136
|
-
readonly sameDeviceRequired: boolean;
|
|
137
|
-
readonly reason: LoginApprovalReason;
|
|
138
|
-
readonly expiresAt: UnixMillis;
|
|
139
|
-
readonly sameDeviceSecret?: Redacted.Redacted<string> | undefined;
|
|
140
|
-
}, "_tag">;
|
|
141
|
-
readonly RequiresPasskeyEnrollment: Data.TaggedEnum.ConstructorFrom<{
|
|
142
|
-
readonly _tag: "RequiresPasskeyEnrollment";
|
|
143
|
-
readonly flowId: AuthFlowId;
|
|
144
|
-
}, "_tag">;
|
|
145
|
-
readonly RequiresExplicitLinking: Data.TaggedEnum.ConstructorFrom<{
|
|
146
|
-
readonly _tag: "RequiresExplicitLinking";
|
|
147
|
-
readonly flowId: AuthFlowId;
|
|
148
|
-
readonly provider: OAuthProviderId;
|
|
149
|
-
}, "_tag">;
|
|
150
|
-
readonly InvalidCredentials: Data.TaggedEnum.ConstructorFrom<{
|
|
201
|
+
}, {
|
|
202
|
+
readonly _tag: Tag;
|
|
203
|
+
}> | Extract<{
|
|
151
204
|
readonly _tag: "InvalidCredentials";
|
|
152
|
-
},
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
}, "_tag">;
|
|
156
|
-
readonly PolicyDenied: Data.TaggedEnum.ConstructorFrom<{
|
|
205
|
+
}, {
|
|
206
|
+
readonly _tag: Tag;
|
|
207
|
+
}> | Extract<{
|
|
157
208
|
readonly _tag: "PolicyDenied";
|
|
158
|
-
readonly reason?: string
|
|
159
|
-
}, "_tag">;
|
|
160
|
-
readonly $is: <Tag extends "Authenticated" | "RequiresMfa" | "RequiresEmailVerification" | "RequiresLoginApproval" | "RequiresPasskeyEnrollment" | "RequiresExplicitLinking" | "InvalidCredentials" | "AccountDisabled" | "PolicyDenied">(tag: Tag) => (u: unknown) => u is Extract<{
|
|
161
|
-
readonly _tag: "Authenticated";
|
|
162
|
-
readonly session: IssuedSession;
|
|
209
|
+
readonly reason?: string;
|
|
163
210
|
}, {
|
|
164
211
|
readonly _tag: Tag;
|
|
165
212
|
}> | Extract<{
|
|
166
|
-
readonly _tag: "
|
|
213
|
+
readonly _tag: "RequiresEmailVerification";
|
|
167
214
|
readonly flowId: AuthFlowId;
|
|
168
|
-
readonly
|
|
215
|
+
readonly userId?: UserId;
|
|
216
|
+
readonly identityId: IdentityId;
|
|
169
217
|
}, {
|
|
170
218
|
readonly _tag: Tag;
|
|
171
219
|
}> | Extract<{
|
|
172
|
-
readonly _tag: "
|
|
220
|
+
readonly _tag: "RequiresExplicitLinking";
|
|
173
221
|
readonly flowId: AuthFlowId;
|
|
174
|
-
readonly
|
|
175
|
-
readonly email?: Email | undefined;
|
|
222
|
+
readonly provider: OAuthProviderId;
|
|
176
223
|
}, {
|
|
177
224
|
readonly _tag: Tag;
|
|
178
225
|
}> | Extract<{
|
|
@@ -184,93 +231,95 @@ export declare const AuthResult: {
|
|
|
184
231
|
readonly sameDeviceRequired: boolean;
|
|
185
232
|
readonly reason: LoginApprovalReason;
|
|
186
233
|
readonly expiresAt: UnixMillis;
|
|
187
|
-
readonly sameDeviceSecret?: Redacted.Redacted<string
|
|
234
|
+
readonly sameDeviceSecret?: Redacted.Redacted<string>;
|
|
188
235
|
}, {
|
|
189
236
|
readonly _tag: Tag;
|
|
190
237
|
}> | Extract<{
|
|
191
|
-
readonly _tag: "
|
|
238
|
+
readonly _tag: "RequiresMfa";
|
|
192
239
|
readonly flowId: AuthFlowId;
|
|
240
|
+
readonly factors: readonly MfaFactor[];
|
|
193
241
|
}, {
|
|
194
242
|
readonly _tag: Tag;
|
|
195
243
|
}> | Extract<{
|
|
196
|
-
readonly _tag: "
|
|
244
|
+
readonly _tag: "RequiresPasskeyEnrollment";
|
|
197
245
|
readonly flowId: AuthFlowId;
|
|
198
|
-
readonly provider: OAuthProviderId;
|
|
199
|
-
}, {
|
|
200
|
-
readonly _tag: Tag;
|
|
201
|
-
}> | Extract<{
|
|
202
|
-
readonly _tag: "InvalidCredentials";
|
|
203
|
-
}, {
|
|
204
|
-
readonly _tag: Tag;
|
|
205
|
-
}> | Extract<{
|
|
206
|
-
readonly _tag: "AccountDisabled";
|
|
207
|
-
}, {
|
|
208
|
-
readonly _tag: Tag;
|
|
209
|
-
}> | Extract<{
|
|
210
|
-
readonly _tag: "PolicyDenied";
|
|
211
|
-
readonly reason?: string | undefined;
|
|
212
246
|
}, {
|
|
213
247
|
readonly _tag: Tag;
|
|
214
248
|
}>;
|
|
215
249
|
readonly $match: {
|
|
216
|
-
<Cases extends {
|
|
217
|
-
readonly
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
readonly RequiresMfa: (args: {
|
|
222
|
-
readonly _tag: "RequiresMfa";
|
|
223
|
-
readonly flowId: AuthFlowId;
|
|
224
|
-
readonly factors: readonly MfaFactor[];
|
|
225
|
-
}) => any;
|
|
226
|
-
readonly RequiresEmailVerification: (args: {
|
|
227
|
-
readonly _tag: "RequiresEmailVerification";
|
|
228
|
-
readonly flowId: AuthFlowId;
|
|
229
|
-
readonly userId?: UserId | undefined;
|
|
230
|
-
readonly email?: Email | undefined;
|
|
231
|
-
}) => any;
|
|
232
|
-
readonly RequiresLoginApproval: (args: {
|
|
233
|
-
readonly _tag: "RequiresLoginApproval";
|
|
234
|
-
readonly flowId: AuthFlowId;
|
|
235
|
-
readonly approvalChallengeId: ChallengeId;
|
|
236
|
-
readonly channel: LoginApprovalChannel;
|
|
237
|
-
readonly sessionBinding: LoginApprovalSessionBinding;
|
|
238
|
-
readonly sameDeviceRequired: boolean;
|
|
239
|
-
readonly reason: LoginApprovalReason;
|
|
240
|
-
readonly expiresAt: UnixMillis;
|
|
241
|
-
readonly sameDeviceSecret?: Redacted.Redacted<string> | undefined;
|
|
242
|
-
}) => any;
|
|
243
|
-
readonly RequiresPasskeyEnrollment: (args: {
|
|
244
|
-
readonly _tag: "RequiresPasskeyEnrollment";
|
|
245
|
-
readonly flowId: AuthFlowId;
|
|
246
|
-
}) => any;
|
|
247
|
-
readonly RequiresExplicitLinking: (args: {
|
|
248
|
-
readonly _tag: "RequiresExplicitLinking";
|
|
249
|
-
readonly flowId: AuthFlowId;
|
|
250
|
-
readonly provider: OAuthProviderId;
|
|
251
|
-
}) => any;
|
|
252
|
-
readonly InvalidCredentials: (args: {
|
|
253
|
-
readonly _tag: "InvalidCredentials";
|
|
254
|
-
}) => any;
|
|
255
|
-
readonly AccountDisabled: (args: {
|
|
256
|
-
readonly _tag: "AccountDisabled";
|
|
257
|
-
}) => any;
|
|
258
|
-
readonly PolicyDenied: (args: {
|
|
259
|
-
readonly _tag: "PolicyDenied";
|
|
260
|
-
readonly reason?: string | undefined;
|
|
261
|
-
}) => any;
|
|
262
|
-
}>(cases: Cases): (value: {
|
|
250
|
+
<Cases extends { readonly [Tag in "AccountDisabled" | "Authenticated" | "InvalidCredentials" | "PolicyDenied" | "RequiresEmailVerification" | "RequiresExplicitLinking" | "RequiresLoginApproval" | "RequiresMfa" | "RequiresPasskeyEnrollment"]: (args: Extract<{
|
|
251
|
+
readonly _tag: "AccountDisabled";
|
|
252
|
+
}, {
|
|
253
|
+
readonly _tag: Tag;
|
|
254
|
+
}> | Extract<{
|
|
263
255
|
readonly _tag: "Authenticated";
|
|
264
256
|
readonly session: IssuedSession;
|
|
265
|
-
}
|
|
257
|
+
}, {
|
|
258
|
+
readonly _tag: Tag;
|
|
259
|
+
}> | Extract<{
|
|
260
|
+
readonly _tag: "InvalidCredentials";
|
|
261
|
+
}, {
|
|
262
|
+
readonly _tag: Tag;
|
|
263
|
+
}> | Extract<{
|
|
264
|
+
readonly _tag: "PolicyDenied";
|
|
265
|
+
readonly reason?: string;
|
|
266
|
+
}, {
|
|
267
|
+
readonly _tag: Tag;
|
|
268
|
+
}> | Extract<{
|
|
269
|
+
readonly _tag: "RequiresEmailVerification";
|
|
270
|
+
readonly flowId: AuthFlowId;
|
|
271
|
+
readonly userId?: UserId;
|
|
272
|
+
readonly identityId: IdentityId;
|
|
273
|
+
}, {
|
|
274
|
+
readonly _tag: Tag;
|
|
275
|
+
}> | Extract<{
|
|
276
|
+
readonly _tag: "RequiresExplicitLinking";
|
|
277
|
+
readonly flowId: AuthFlowId;
|
|
278
|
+
readonly provider: OAuthProviderId;
|
|
279
|
+
}, {
|
|
280
|
+
readonly _tag: Tag;
|
|
281
|
+
}> | Extract<{
|
|
282
|
+
readonly _tag: "RequiresLoginApproval";
|
|
283
|
+
readonly flowId: AuthFlowId;
|
|
284
|
+
readonly approvalChallengeId: ChallengeId;
|
|
285
|
+
readonly channel: LoginApprovalChannel;
|
|
286
|
+
readonly sessionBinding: LoginApprovalSessionBinding;
|
|
287
|
+
readonly sameDeviceRequired: boolean;
|
|
288
|
+
readonly reason: LoginApprovalReason;
|
|
289
|
+
readonly expiresAt: UnixMillis;
|
|
290
|
+
readonly sameDeviceSecret?: Redacted.Redacted<string>;
|
|
291
|
+
}, {
|
|
292
|
+
readonly _tag: Tag;
|
|
293
|
+
}> | Extract<{
|
|
266
294
|
readonly _tag: "RequiresMfa";
|
|
267
295
|
readonly flowId: AuthFlowId;
|
|
268
296
|
readonly factors: readonly MfaFactor[];
|
|
297
|
+
}, {
|
|
298
|
+
readonly _tag: Tag;
|
|
299
|
+
}> | Extract<{
|
|
300
|
+
readonly _tag: "RequiresPasskeyEnrollment";
|
|
301
|
+
readonly flowId: AuthFlowId;
|
|
302
|
+
}, {
|
|
303
|
+
readonly _tag: Tag;
|
|
304
|
+
}>) => any; }>(cases: Cases): (value: {
|
|
305
|
+
readonly _tag: "AccountDisabled";
|
|
306
|
+
} | {
|
|
307
|
+
readonly _tag: "Authenticated";
|
|
308
|
+
readonly session: IssuedSession;
|
|
309
|
+
} | {
|
|
310
|
+
readonly _tag: "InvalidCredentials";
|
|
311
|
+
} | {
|
|
312
|
+
readonly _tag: "PolicyDenied";
|
|
313
|
+
readonly reason?: string;
|
|
269
314
|
} | {
|
|
270
315
|
readonly _tag: "RequiresEmailVerification";
|
|
271
316
|
readonly flowId: AuthFlowId;
|
|
272
|
-
readonly userId?: UserId
|
|
273
|
-
readonly
|
|
317
|
+
readonly userId?: UserId;
|
|
318
|
+
readonly identityId: IdentityId;
|
|
319
|
+
} | {
|
|
320
|
+
readonly _tag: "RequiresExplicitLinking";
|
|
321
|
+
readonly flowId: AuthFlowId;
|
|
322
|
+
readonly provider: OAuthProviderId;
|
|
274
323
|
} | {
|
|
275
324
|
readonly _tag: "RequiresLoginApproval";
|
|
276
325
|
readonly flowId: AuthFlowId;
|
|
@@ -280,80 +329,88 @@ export declare const AuthResult: {
|
|
|
280
329
|
readonly sameDeviceRequired: boolean;
|
|
281
330
|
readonly reason: LoginApprovalReason;
|
|
282
331
|
readonly expiresAt: UnixMillis;
|
|
283
|
-
readonly sameDeviceSecret?: Redacted.Redacted<string
|
|
332
|
+
readonly sameDeviceSecret?: Redacted.Redacted<string>;
|
|
284
333
|
} | {
|
|
285
|
-
readonly _tag: "
|
|
334
|
+
readonly _tag: "RequiresMfa";
|
|
286
335
|
readonly flowId: AuthFlowId;
|
|
336
|
+
readonly factors: readonly MfaFactor[];
|
|
287
337
|
} | {
|
|
338
|
+
readonly _tag: "RequiresPasskeyEnrollment";
|
|
339
|
+
readonly flowId: AuthFlowId;
|
|
340
|
+
}) => import("effect/Unify").Unify<ReturnType<Cases["AccountDisabled" | "Authenticated" | "InvalidCredentials" | "PolicyDenied" | "RequiresEmailVerification" | "RequiresExplicitLinking" | "RequiresLoginApproval" | "RequiresMfa" | "RequiresPasskeyEnrollment"]>>;
|
|
341
|
+
<Cases extends { readonly [Tag in "AccountDisabled" | "Authenticated" | "InvalidCredentials" | "PolicyDenied" | "RequiresEmailVerification" | "RequiresExplicitLinking" | "RequiresLoginApproval" | "RequiresMfa" | "RequiresPasskeyEnrollment"]: (args: Extract<{
|
|
342
|
+
readonly _tag: "AccountDisabled";
|
|
343
|
+
}, {
|
|
344
|
+
readonly _tag: Tag;
|
|
345
|
+
}> | Extract<{
|
|
346
|
+
readonly _tag: "Authenticated";
|
|
347
|
+
readonly session: IssuedSession;
|
|
348
|
+
}, {
|
|
349
|
+
readonly _tag: Tag;
|
|
350
|
+
}> | Extract<{
|
|
351
|
+
readonly _tag: "InvalidCredentials";
|
|
352
|
+
}, {
|
|
353
|
+
readonly _tag: Tag;
|
|
354
|
+
}> | Extract<{
|
|
355
|
+
readonly _tag: "PolicyDenied";
|
|
356
|
+
readonly reason?: string;
|
|
357
|
+
}, {
|
|
358
|
+
readonly _tag: Tag;
|
|
359
|
+
}> | Extract<{
|
|
360
|
+
readonly _tag: "RequiresEmailVerification";
|
|
361
|
+
readonly flowId: AuthFlowId;
|
|
362
|
+
readonly userId?: UserId;
|
|
363
|
+
readonly identityId: IdentityId;
|
|
364
|
+
}, {
|
|
365
|
+
readonly _tag: Tag;
|
|
366
|
+
}> | Extract<{
|
|
288
367
|
readonly _tag: "RequiresExplicitLinking";
|
|
289
368
|
readonly flowId: AuthFlowId;
|
|
290
369
|
readonly provider: OAuthProviderId;
|
|
291
|
-
}
|
|
292
|
-
readonly _tag:
|
|
293
|
-
} | {
|
|
370
|
+
}, {
|
|
371
|
+
readonly _tag: Tag;
|
|
372
|
+
}> | Extract<{
|
|
373
|
+
readonly _tag: "RequiresLoginApproval";
|
|
374
|
+
readonly flowId: AuthFlowId;
|
|
375
|
+
readonly approvalChallengeId: ChallengeId;
|
|
376
|
+
readonly channel: LoginApprovalChannel;
|
|
377
|
+
readonly sessionBinding: LoginApprovalSessionBinding;
|
|
378
|
+
readonly sameDeviceRequired: boolean;
|
|
379
|
+
readonly reason: LoginApprovalReason;
|
|
380
|
+
readonly expiresAt: UnixMillis;
|
|
381
|
+
readonly sameDeviceSecret?: Redacted.Redacted<string>;
|
|
382
|
+
}, {
|
|
383
|
+
readonly _tag: Tag;
|
|
384
|
+
}> | Extract<{
|
|
385
|
+
readonly _tag: "RequiresMfa";
|
|
386
|
+
readonly flowId: AuthFlowId;
|
|
387
|
+
readonly factors: readonly MfaFactor[];
|
|
388
|
+
}, {
|
|
389
|
+
readonly _tag: Tag;
|
|
390
|
+
}> | Extract<{
|
|
391
|
+
readonly _tag: "RequiresPasskeyEnrollment";
|
|
392
|
+
readonly flowId: AuthFlowId;
|
|
393
|
+
}, {
|
|
394
|
+
readonly _tag: Tag;
|
|
395
|
+
}>) => any; }>(value: {
|
|
294
396
|
readonly _tag: "AccountDisabled";
|
|
295
397
|
} | {
|
|
296
|
-
readonly _tag: "PolicyDenied";
|
|
297
|
-
readonly reason?: string | undefined;
|
|
298
|
-
}) => import("effect/Unify").Unify<ReturnType<Cases["Authenticated" | "RequiresMfa" | "RequiresEmailVerification" | "RequiresLoginApproval" | "RequiresPasskeyEnrollment" | "RequiresExplicitLinking" | "InvalidCredentials" | "AccountDisabled" | "PolicyDenied"]>>;
|
|
299
|
-
<Cases extends {
|
|
300
|
-
readonly Authenticated: (args: {
|
|
301
|
-
readonly _tag: "Authenticated";
|
|
302
|
-
readonly session: IssuedSession;
|
|
303
|
-
}) => any;
|
|
304
|
-
readonly RequiresMfa: (args: {
|
|
305
|
-
readonly _tag: "RequiresMfa";
|
|
306
|
-
readonly flowId: AuthFlowId;
|
|
307
|
-
readonly factors: readonly MfaFactor[];
|
|
308
|
-
}) => any;
|
|
309
|
-
readonly RequiresEmailVerification: (args: {
|
|
310
|
-
readonly _tag: "RequiresEmailVerification";
|
|
311
|
-
readonly flowId: AuthFlowId;
|
|
312
|
-
readonly userId?: UserId | undefined;
|
|
313
|
-
readonly email?: Email | undefined;
|
|
314
|
-
}) => any;
|
|
315
|
-
readonly RequiresLoginApproval: (args: {
|
|
316
|
-
readonly _tag: "RequiresLoginApproval";
|
|
317
|
-
readonly flowId: AuthFlowId;
|
|
318
|
-
readonly approvalChallengeId: ChallengeId;
|
|
319
|
-
readonly channel: LoginApprovalChannel;
|
|
320
|
-
readonly sessionBinding: LoginApprovalSessionBinding;
|
|
321
|
-
readonly sameDeviceRequired: boolean;
|
|
322
|
-
readonly reason: LoginApprovalReason;
|
|
323
|
-
readonly expiresAt: UnixMillis;
|
|
324
|
-
readonly sameDeviceSecret?: Redacted.Redacted<string> | undefined;
|
|
325
|
-
}) => any;
|
|
326
|
-
readonly RequiresPasskeyEnrollment: (args: {
|
|
327
|
-
readonly _tag: "RequiresPasskeyEnrollment";
|
|
328
|
-
readonly flowId: AuthFlowId;
|
|
329
|
-
}) => any;
|
|
330
|
-
readonly RequiresExplicitLinking: (args: {
|
|
331
|
-
readonly _tag: "RequiresExplicitLinking";
|
|
332
|
-
readonly flowId: AuthFlowId;
|
|
333
|
-
readonly provider: OAuthProviderId;
|
|
334
|
-
}) => any;
|
|
335
|
-
readonly InvalidCredentials: (args: {
|
|
336
|
-
readonly _tag: "InvalidCredentials";
|
|
337
|
-
}) => any;
|
|
338
|
-
readonly AccountDisabled: (args: {
|
|
339
|
-
readonly _tag: "AccountDisabled";
|
|
340
|
-
}) => any;
|
|
341
|
-
readonly PolicyDenied: (args: {
|
|
342
|
-
readonly _tag: "PolicyDenied";
|
|
343
|
-
readonly reason?: string | undefined;
|
|
344
|
-
}) => any;
|
|
345
|
-
}>(value: {
|
|
346
398
|
readonly _tag: "Authenticated";
|
|
347
399
|
readonly session: IssuedSession;
|
|
348
400
|
} | {
|
|
349
|
-
readonly _tag: "
|
|
350
|
-
|
|
351
|
-
readonly
|
|
401
|
+
readonly _tag: "InvalidCredentials";
|
|
402
|
+
} | {
|
|
403
|
+
readonly _tag: "PolicyDenied";
|
|
404
|
+
readonly reason?: string;
|
|
352
405
|
} | {
|
|
353
406
|
readonly _tag: "RequiresEmailVerification";
|
|
354
407
|
readonly flowId: AuthFlowId;
|
|
355
|
-
readonly userId?: UserId
|
|
356
|
-
readonly
|
|
408
|
+
readonly userId?: UserId;
|
|
409
|
+
readonly identityId: IdentityId;
|
|
410
|
+
} | {
|
|
411
|
+
readonly _tag: "RequiresExplicitLinking";
|
|
412
|
+
readonly flowId: AuthFlowId;
|
|
413
|
+
readonly provider: OAuthProviderId;
|
|
357
414
|
} | {
|
|
358
415
|
readonly _tag: "RequiresLoginApproval";
|
|
359
416
|
readonly flowId: AuthFlowId;
|
|
@@ -363,23 +420,61 @@ export declare const AuthResult: {
|
|
|
363
420
|
readonly sameDeviceRequired: boolean;
|
|
364
421
|
readonly reason: LoginApprovalReason;
|
|
365
422
|
readonly expiresAt: UnixMillis;
|
|
366
|
-
readonly sameDeviceSecret?: Redacted.Redacted<string
|
|
423
|
+
readonly sameDeviceSecret?: Redacted.Redacted<string>;
|
|
367
424
|
} | {
|
|
368
|
-
readonly _tag: "
|
|
425
|
+
readonly _tag: "RequiresMfa";
|
|
369
426
|
readonly flowId: AuthFlowId;
|
|
427
|
+
readonly factors: readonly MfaFactor[];
|
|
370
428
|
} | {
|
|
371
|
-
readonly _tag: "
|
|
429
|
+
readonly _tag: "RequiresPasskeyEnrollment";
|
|
372
430
|
readonly flowId: AuthFlowId;
|
|
373
|
-
|
|
374
|
-
} | {
|
|
375
|
-
readonly _tag: "InvalidCredentials";
|
|
376
|
-
} | {
|
|
377
|
-
readonly _tag: "AccountDisabled";
|
|
378
|
-
} | {
|
|
379
|
-
readonly _tag: "PolicyDenied";
|
|
380
|
-
readonly reason?: string | undefined;
|
|
381
|
-
}, cases: Cases): import("effect/Unify").Unify<ReturnType<Cases["Authenticated" | "RequiresMfa" | "RequiresEmailVerification" | "RequiresLoginApproval" | "RequiresPasskeyEnrollment" | "RequiresExplicitLinking" | "InvalidCredentials" | "AccountDisabled" | "PolicyDenied"]>>;
|
|
431
|
+
}, cases: Cases): import("effect/Unify").Unify<ReturnType<Cases["AccountDisabled" | "Authenticated" | "InvalidCredentials" | "PolicyDenied" | "RequiresEmailVerification" | "RequiresExplicitLinking" | "RequiresLoginApproval" | "RequiresMfa" | "RequiresPasskeyEnrollment"]>>;
|
|
382
432
|
};
|
|
433
|
+
readonly AccountDisabled: Data.TaggedEnum.ConstructorFrom<{
|
|
434
|
+
readonly _tag: "AccountDisabled";
|
|
435
|
+
}, "_tag">;
|
|
436
|
+
readonly Authenticated: Data.TaggedEnum.ConstructorFrom<{
|
|
437
|
+
readonly _tag: "Authenticated";
|
|
438
|
+
readonly session: IssuedSession;
|
|
439
|
+
}, "_tag">;
|
|
440
|
+
readonly InvalidCredentials: Data.TaggedEnum.ConstructorFrom<{
|
|
441
|
+
readonly _tag: "InvalidCredentials";
|
|
442
|
+
}, "_tag">;
|
|
443
|
+
readonly PolicyDenied: Data.TaggedEnum.ConstructorFrom<{
|
|
444
|
+
readonly _tag: "PolicyDenied";
|
|
445
|
+
readonly reason?: string;
|
|
446
|
+
}, "_tag">;
|
|
447
|
+
readonly RequiresEmailVerification: Data.TaggedEnum.ConstructorFrom<{
|
|
448
|
+
readonly _tag: "RequiresEmailVerification";
|
|
449
|
+
readonly flowId: AuthFlowId;
|
|
450
|
+
readonly userId?: UserId;
|
|
451
|
+
readonly identityId: IdentityId;
|
|
452
|
+
}, "_tag">;
|
|
453
|
+
readonly RequiresExplicitLinking: Data.TaggedEnum.ConstructorFrom<{
|
|
454
|
+
readonly _tag: "RequiresExplicitLinking";
|
|
455
|
+
readonly flowId: AuthFlowId;
|
|
456
|
+
readonly provider: OAuthProviderId;
|
|
457
|
+
}, "_tag">;
|
|
458
|
+
readonly RequiresLoginApproval: Data.TaggedEnum.ConstructorFrom<{
|
|
459
|
+
readonly _tag: "RequiresLoginApproval";
|
|
460
|
+
readonly flowId: AuthFlowId;
|
|
461
|
+
readonly approvalChallengeId: ChallengeId;
|
|
462
|
+
readonly channel: LoginApprovalChannel;
|
|
463
|
+
readonly sessionBinding: LoginApprovalSessionBinding;
|
|
464
|
+
readonly sameDeviceRequired: boolean;
|
|
465
|
+
readonly reason: LoginApprovalReason;
|
|
466
|
+
readonly expiresAt: UnixMillis;
|
|
467
|
+
readonly sameDeviceSecret?: Redacted.Redacted<string>;
|
|
468
|
+
}, "_tag">;
|
|
469
|
+
readonly RequiresMfa: Data.TaggedEnum.ConstructorFrom<{
|
|
470
|
+
readonly _tag: "RequiresMfa";
|
|
471
|
+
readonly flowId: AuthFlowId;
|
|
472
|
+
readonly factors: readonly MfaFactor[];
|
|
473
|
+
}, "_tag">;
|
|
474
|
+
readonly RequiresPasskeyEnrollment: Data.TaggedEnum.ConstructorFrom<{
|
|
475
|
+
readonly _tag: "RequiresPasskeyEnrollment";
|
|
476
|
+
readonly flowId: AuthFlowId;
|
|
477
|
+
}, "_tag">;
|
|
383
478
|
};
|
|
384
479
|
export type AuthResultOf<Tag extends AuthResult["_tag"]> = Extract<AuthResult, {
|
|
385
480
|
readonly _tag: Tag;
|
|
@@ -387,7 +482,8 @@ export type AuthResultOf<Tag extends AuthResult["_tag"]> = Extract<AuthResult, {
|
|
|
387
482
|
export type AuthenticatedResult = AuthResultOf<"Authenticated">;
|
|
388
483
|
type CommonPrimaryFactorResult = AuthResultOf<"Authenticated" | "RequiresMfa" | "RequiresEmailVerification" | "RequiresLoginApproval" | "RequiresPasskeyEnrollment" | "PolicyDenied">;
|
|
389
484
|
export type AuthFlowPrimaryFactorResult<Method extends AuthMethod = AuthMethod> = CommonPrimaryFactorResult | (Method extends "oauth" ? AuthResultOf<"RequiresExplicitLinking"> : never);
|
|
390
|
-
export type AuthFlowMfaResult = AuthResultOf<"Authenticated" | "PolicyDenied">;
|
|
485
|
+
export type AuthFlowMfaResult = AuthResultOf<"Authenticated" | "RequiresLoginApproval" | "PolicyDenied">;
|
|
486
|
+
export type AuthFlowRequireMfaResult = AuthResultOf<"RequiresMfa" | "PolicyDenied">;
|
|
391
487
|
declare const AuthFlowStateError_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 & {
|
|
392
488
|
readonly _tag: "AuthFlowStateError";
|
|
393
489
|
} & Readonly<A>;
|
|
@@ -399,6 +495,7 @@ export declare class AuthFlowStateError extends AuthFlowStateError_base<{
|
|
|
399
495
|
export interface AuthFlowStateStartInput<Method extends AuthMethod = AuthMethod> extends AuthFlowCompleteInput<Method> {
|
|
400
496
|
readonly ttl?: Duration.Duration;
|
|
401
497
|
readonly secret?: Redacted.Redacted<string>;
|
|
498
|
+
readonly factors?: readonly MfaFactor[];
|
|
402
499
|
readonly metadata?: Readonly<Record<string, unknown>>;
|
|
403
500
|
}
|
|
404
501
|
export interface StartedAuthFlowState {
|
|
@@ -408,6 +505,7 @@ export interface StartedAuthFlowState {
|
|
|
408
505
|
}
|
|
409
506
|
export interface ConsumedAuthFlowState<Method extends AuthMethod = AuthMethod> extends AuthFlowCompleteInput<Method> {
|
|
410
507
|
readonly flowId: AuthFlowId;
|
|
508
|
+
readonly factors?: readonly MfaFactor[];
|
|
411
509
|
readonly metadata?: Readonly<Record<string, unknown>>;
|
|
412
510
|
}
|
|
413
511
|
export interface InspectedAuthFlowState<Method extends AuthMethod = AuthMethod> extends ConsumedAuthFlowState<Method> {
|
|
@@ -421,9 +519,6 @@ export interface AuthFlowStateService {
|
|
|
421
519
|
declare const AuthFlowState_base: Context.ServiceClass<AuthFlowState, "auth/AuthFlowState", AuthFlowStateService>;
|
|
422
520
|
export declare class AuthFlowState extends AuthFlowState_base {
|
|
423
521
|
}
|
|
424
|
-
export declare namespace AuthFlowState {
|
|
425
|
-
const make: (service: AuthFlowStateService) => AuthFlowStateService;
|
|
426
|
-
}
|
|
427
522
|
export interface AuthFlowStateOptions {
|
|
428
523
|
readonly ttl?: Duration.Duration;
|
|
429
524
|
}
|
|
@@ -434,21 +529,29 @@ export declare const defaultAuthFlowStateTtl: Duration.Duration;
|
|
|
434
529
|
export declare const makeAuthFlowState: (dependencies: AuthFlowStateDependencies) => AuthFlowStateService;
|
|
435
530
|
export declare const AuthFlowStateLive: (options?: AuthFlowStateOptions) => Layer.Layer<AuthFlowState, never, Challenge>;
|
|
436
531
|
export type AuthFlowCompleteError = SessionCreateError;
|
|
437
|
-
export type
|
|
438
|
-
export type
|
|
532
|
+
export type AuthFlowFinalize = (input: AuthFlowCompleteInput) => Effect.Effect<AuthenticatedResult | AuthResultOf<"PolicyDenied">, AuthFlowCompleteError>;
|
|
533
|
+
export type AuthFlowMfaError = AuthFlowPrimaryFactorError;
|
|
534
|
+
export type AuthFlowRequireMfaError = AuthFlowCompleteError | AuthFlowStateError | TrustedDeviceError;
|
|
535
|
+
export type AuthFlowPrimaryFactorError = AuthFlowCompleteError | TrustedDeviceError | LoginRiskError | TotpFactorManagementError | RecoveryCodeManagementError | PasskeyCredentialManagementError | AuthFlowStateError | LoginApprovalReviewError | LoginApprovalFlowStartError;
|
|
439
536
|
export type AuthFlowError = AuthFlowPrimaryFactorError;
|
|
537
|
+
export type AuthFlowPreparedMfaResult = {
|
|
538
|
+
readonly _tag: "PreparedAuthenticated";
|
|
539
|
+
readonly prepared: PreparedSession;
|
|
540
|
+
readonly notify: Effect.Effect<void>;
|
|
541
|
+
} | {
|
|
542
|
+
readonly _tag: "PreparedLoginApproval";
|
|
543
|
+
readonly complete: Effect.Effect<AuthResultOf<"RequiresLoginApproval" | "PolicyDenied">, AuthFlowMfaError>;
|
|
544
|
+
} | AuthResultOf<"PolicyDenied">;
|
|
440
545
|
export interface AuthFlowService {
|
|
441
546
|
readonly startPrimaryFactor: <Method extends AuthMethod>(input: PrimaryFactorResult<Method>) => Effect.Effect<AuthFlowPrimaryFactorResult<Method>, AuthFlowPrimaryFactorError>;
|
|
547
|
+
readonly requireMfa: <Method extends AuthMethod>(input: AuthFlowRequireMfaInput<Method>) => Effect.Effect<AuthFlowRequireMfaResult, AuthFlowRequireMfaError>;
|
|
442
548
|
readonly completePrimaryFactor: <Method extends AuthMethod>(input: PrimaryFactorResult<Method>) => Effect.Effect<AuthFlowPrimaryFactorResult<Method>, AuthFlowPrimaryFactorError>;
|
|
443
549
|
readonly completeMfa: (input: MfaCompleteInput) => Effect.Effect<AuthFlowMfaResult, AuthFlowMfaError>;
|
|
444
|
-
readonly
|
|
550
|
+
readonly prepareMfa?: (input: MfaCompleteInput) => Effect.Effect<AuthFlowPreparedMfaResult, AuthFlowMfaError>;
|
|
445
551
|
}
|
|
446
552
|
declare const AuthFlow_base: Context.ServiceClass<AuthFlow, "auth/AuthFlow", AuthFlowService>;
|
|
447
553
|
export declare class AuthFlow extends AuthFlow_base {
|
|
448
554
|
}
|
|
449
|
-
export declare namespace AuthFlow {
|
|
450
|
-
const make: (service: AuthFlowService) => AuthFlowService;
|
|
451
|
-
}
|
|
452
555
|
export interface LoginApprovalFinalizeInput {
|
|
453
556
|
readonly flowId: AuthFlowId;
|
|
454
557
|
readonly approvalChallengeId: ChallengeId;
|
|
@@ -462,19 +565,21 @@ export interface LoginApprovalFinalizeService {
|
|
|
462
565
|
declare const LoginApprovalFinalize_base: Context.ServiceClass<LoginApprovalFinalize, "auth/LoginApprovalFinalize", LoginApprovalFinalizeService>;
|
|
463
566
|
export declare class LoginApprovalFinalize extends LoginApprovalFinalize_base {
|
|
464
567
|
}
|
|
465
|
-
export declare namespace LoginApprovalFinalize {
|
|
466
|
-
const make: (service: LoginApprovalFinalizeService) => LoginApprovalFinalizeService;
|
|
467
|
-
}
|
|
468
568
|
export interface LoginApprovalFinalizeDependencies {
|
|
469
569
|
readonly loginApprovalReview: LoginApprovalReviewService;
|
|
470
570
|
readonly authFlowState: AuthFlowStateService;
|
|
471
|
-
readonly
|
|
571
|
+
readonly finalizeAuthFlow: AuthFlowFinalize;
|
|
472
572
|
}
|
|
473
573
|
export declare const makeLoginApprovalFinalize: (dependencies: LoginApprovalFinalizeDependencies) => LoginApprovalFinalizeService;
|
|
474
|
-
export declare const LoginApprovalFinalizeLive: Layer.Layer<LoginApprovalFinalize, never,
|
|
574
|
+
export declare const LoginApprovalFinalizeLive: Layer.Layer<LoginApprovalFinalize, never, AuthFlowState | LoginApprovalReview | Sessions>;
|
|
475
575
|
export interface AuthFlowDependencies {
|
|
476
576
|
readonly sessions: SessionsService;
|
|
577
|
+
readonly pipeline?: AuthFlowPipelineService;
|
|
477
578
|
readonly emailVerificationSessionPolicy?: EmailVerificationSessionPolicyService;
|
|
579
|
+
readonly mfaRequirementPolicy?: MfaRequirementPolicyService;
|
|
580
|
+
readonly totpFactorManagement?: TotpFactorManagementService;
|
|
581
|
+
readonly recoveryCodeManagement?: RecoveryCodeManagementService;
|
|
582
|
+
readonly passkeyCredentialManagement?: PasskeyCredentialManagementService;
|
|
478
583
|
readonly loginApprovalPolicy?: LoginApprovalPolicyService;
|
|
479
584
|
readonly loginApprovalFlow?: LoginApprovalFlowService;
|
|
480
585
|
readonly authFlowState?: AuthFlowStateService;
|
|
@@ -483,10 +588,11 @@ export interface AuthFlowDependencies {
|
|
|
483
588
|
readonly loginRiskEngine?: LoginRiskEngineService;
|
|
484
589
|
readonly loginApprovalReview?: LoginApprovalReviewService;
|
|
485
590
|
readonly loginNotification?: LoginNotificationService;
|
|
591
|
+
readonly recoveryRequirementPolicy?: RecoveryRequirementPolicyService;
|
|
486
592
|
readonly loginApprovalSameDeviceSecretBytes?: number;
|
|
487
593
|
}
|
|
488
594
|
export declare const makeAuthFlow: (dependencies: AuthFlowDependencies) => AuthFlowService;
|
|
489
595
|
export declare const AuthFlowLive: Layer.Layer<AuthFlow, never, Sessions>;
|
|
490
|
-
export declare const
|
|
596
|
+
export declare const AuthFlowWithEmailVerificationPolicyLive: (options?: EmailVerificationSessionPolicyOptions) => Layer.Layer<AuthFlow, never, Sessions>;
|
|
491
597
|
export {};
|
|
492
598
|
//# sourceMappingURL=AuthFlow.d.ts.map
|