@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 @@
|
|
|
1
|
+
{"version":3,"file":"Permission.js","sourceRoot":"","sources":["../src/Permission.ts"],"names":[],"mappings":"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"}
|
package/dist/Policy.d.ts
CHANGED
|
@@ -1,42 +1,55 @@
|
|
|
1
1
|
import { Effect } from "effect";
|
|
2
|
-
import type { PolicyId } from "./Identifiers.js";
|
|
2
|
+
import type { PermissionId, PolicyId, RoleId } from "./Identifiers.js";
|
|
3
|
+
import { CurrentPrincipal, Permissions } from "./Permission.js";
|
|
4
|
+
import type { PermissionCheckError, PermissionScope } from "./Permission.js";
|
|
3
5
|
import { CurrentSession } from "./Sessions.js";
|
|
4
|
-
import type {
|
|
5
|
-
export type
|
|
6
|
-
declare const
|
|
7
|
-
readonly _tag: "
|
|
6
|
+
import type { SessionRequirement } from "./Sessions.js";
|
|
7
|
+
export type AuthorizationDenyReason = "missing-permission" | "missing-role" | "missing-relation" | "missing-grant" | "not-owner" | "not-authenticated" | "session-requirement-unsatisfied" | "email-verification-required" | (string & {});
|
|
8
|
+
declare const AuthorizationError_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 & {
|
|
9
|
+
readonly _tag: "AuthorizationError";
|
|
8
10
|
} & Readonly<A>;
|
|
9
|
-
export declare class
|
|
10
|
-
readonly reason:
|
|
11
|
+
export declare class AuthorizationError extends AuthorizationError_base<{
|
|
12
|
+
readonly reason: AuthorizationDenyReason;
|
|
11
13
|
readonly policyId?: PolicyId;
|
|
12
14
|
readonly message?: string;
|
|
13
15
|
readonly cause?: unknown;
|
|
14
16
|
}> {
|
|
15
17
|
}
|
|
16
|
-
export type Policy<A = void, E = never, R = never> = Effect.Effect<A,
|
|
18
|
+
export type Policy<A = void, E = never, R = never> = Effect.Effect<A, AuthorizationError | E, R>;
|
|
17
19
|
export type PolicyDecision = {
|
|
18
20
|
readonly type: "allowed";
|
|
19
21
|
} | {
|
|
20
22
|
readonly type: "denied";
|
|
21
|
-
readonly error:
|
|
23
|
+
readonly error: AuthorizationError;
|
|
22
24
|
};
|
|
23
25
|
export type PolicyCheckResult<E = never> = PolicyDecision | {
|
|
24
26
|
readonly type: "failed";
|
|
25
27
|
readonly error: E;
|
|
26
28
|
};
|
|
27
|
-
type
|
|
29
|
+
type NonAuthorizationError<E> = Exclude<E, AuthorizationError>;
|
|
28
30
|
type EffectError<T> = T extends Effect.Effect<unknown, infer E, unknown> ? E : never;
|
|
29
31
|
type EffectContext<T> = T extends Effect.Effect<unknown, unknown, infer R> ? R : never;
|
|
30
|
-
export declare const
|
|
32
|
+
export declare const isAuthorizationError: (error: unknown) => error is AuthorizationError;
|
|
31
33
|
export declare const allow: Policy;
|
|
32
|
-
export declare const deny: (reason:
|
|
34
|
+
export declare const deny: (reason: AuthorizationDenyReason, policyId?: PolicyId) => Policy<never>;
|
|
33
35
|
export declare const all: <const Policies extends readonly Effect.Effect<unknown, unknown, unknown>[]>(...policies: Policies) => Effect.Effect<void, EffectError<Policies[number]>, EffectContext<Policies[number]>>;
|
|
34
|
-
export declare const any: <const Policies extends readonly Effect.Effect<unknown, unknown, unknown>[]>(...policies: Policies) => Effect.Effect<void,
|
|
35
|
-
export declare const not: <A, E, R>(policy: Effect.Effect<A, E, R>, reason?:
|
|
36
|
-
export declare const check: <A, E, R>(policy: Effect.Effect<A, E, R>) => Effect.Effect<PolicyDecision,
|
|
37
|
-
export declare const checkDetailed: <A, E, R>(policy: Effect.Effect<A, E, R>) => Effect.Effect<PolicyCheckResult<
|
|
38
|
-
export declare const requireNoSessionRequirement: (requirement: SessionRequirement, policyId?: PolicyId) => Effect.Effect<void,
|
|
39
|
-
|
|
36
|
+
export declare const any: <const Policies extends readonly Effect.Effect<unknown, unknown, unknown>[]>(...policies: Policies) => Effect.Effect<void, AuthorizationError | NonAuthorizationError<EffectError<Policies[number]>>, EffectContext<Policies[number]>>;
|
|
37
|
+
export declare const not: <A, E, R>(policy: Effect.Effect<A, E, R>, reason?: AuthorizationDenyReason) => Effect.Effect<void, AuthorizationError | NonAuthorizationError<E>, R>;
|
|
38
|
+
export declare const check: <A, E, R>(policy: Effect.Effect<A, E, R>) => Effect.Effect<PolicyDecision, NonAuthorizationError<E>, R>;
|
|
39
|
+
export declare const checkDetailed: <A, E, R>(policy: Effect.Effect<A, E, R>) => Effect.Effect<PolicyCheckResult<NonAuthorizationError<E>>, never, R>;
|
|
40
|
+
export declare const requireNoSessionRequirement: (requirement: SessionRequirement, policyId?: PolicyId) => Effect.Effect<void, AuthorizationError, CurrentSession>;
|
|
41
|
+
/** Denies access while the session is limited to recovery enrollment. */
|
|
42
|
+
export declare const requireRecoveryEnrollmentSatisfied: (policyId?: PolicyId) => Effect.Effect<void, AuthorizationError, CurrentSession>;
|
|
43
|
+
/** Denies generic access while recovery-authenticated remediation is pending. */
|
|
44
|
+
export declare const requireRecoveryRemediationSatisfied: (policyId?: PolicyId) => Effect.Effect<void, AuthorizationError, CurrentSession>;
|
|
45
|
+
export declare const requireEmailVerified: (policyId?: PolicyId) => Effect.Effect<void, AuthorizationError, CurrentSession>;
|
|
46
|
+
export interface PermissionPolicyOptions {
|
|
47
|
+
readonly scope?: PermissionScope;
|
|
48
|
+
readonly policyId?: PolicyId;
|
|
49
|
+
readonly message?: string;
|
|
50
|
+
}
|
|
51
|
+
export declare const requirePermission: (permission: PermissionId, options?: PermissionPolicyOptions) => Effect.Effect<void, AuthorizationError | PermissionCheckError, CurrentPrincipal | Permissions>;
|
|
52
|
+
export declare const requireRole: (role: RoleId, options?: PermissionPolicyOptions) => Effect.Effect<void, AuthorizationError | PermissionCheckError, CurrentPrincipal | Permissions>;
|
|
40
53
|
export declare const require: <A, E, R>(policy: Effect.Effect<A, E, R>) => <B, E2, R2>(effect: Effect.Effect<B, E2, R2>) => Effect.Effect<B, E | E2, R | R2>;
|
|
41
54
|
export {};
|
|
42
55
|
//# sourceMappingURL=Policy.d.ts.map
|
package/dist/Policy.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Policy.d.ts","sourceRoot":"","sources":["../src/Policy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEtC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"Policy.d.ts","sourceRoot":"","sources":["../src/Policy.ts"],"names":[],"mappings":"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"}
|
package/dist/Policy.js
CHANGED
|
@@ -1,16 +1,17 @@
|
|
|
1
1
|
import { Data, Effect } from "effect";
|
|
2
|
+
import { CurrentPrincipal, Permissions } from "./Permission.js";
|
|
2
3
|
import { CurrentSession } from "./Sessions.js";
|
|
3
|
-
export class
|
|
4
|
+
export class AuthorizationError extends Data.TaggedError("AuthorizationError") {
|
|
4
5
|
}
|
|
5
|
-
export const
|
|
6
|
+
export const isAuthorizationError = (error) => {
|
|
6
7
|
if (typeof error !== "object" || error === null) {
|
|
7
8
|
return false;
|
|
8
9
|
}
|
|
9
10
|
const record = error;
|
|
10
|
-
return record._tag === "
|
|
11
|
+
return (record._tag === "AuthorizationError" && typeof record.reason === "string");
|
|
11
12
|
};
|
|
12
13
|
export const allow = Effect.void;
|
|
13
|
-
export const deny = (reason, policyId) => Effect.fail(new
|
|
14
|
+
export const deny = (reason, policyId) => Effect.fail(new AuthorizationError({ reason, policyId }));
|
|
14
15
|
export const all = (...policies) => Effect.gen(function* () {
|
|
15
16
|
for (const policy of policies) {
|
|
16
17
|
yield* policy;
|
|
@@ -20,11 +21,11 @@ export const any = (...policies) => {
|
|
|
20
21
|
const loop = (index, lastDeny) => {
|
|
21
22
|
const policy = policies[index];
|
|
22
23
|
if (policy === undefined) {
|
|
23
|
-
return Effect.fail(lastDeny ?? new
|
|
24
|
+
return Effect.fail(lastDeny ?? new AuthorizationError({ reason: "policy-not-satisfied" }));
|
|
24
25
|
}
|
|
25
26
|
return policy.pipe(Effect.matchEffect({
|
|
26
27
|
onSuccess: () => Effect.void,
|
|
27
|
-
onFailure: (error) =>
|
|
28
|
+
onFailure: (error) => isAuthorizationError(error)
|
|
28
29
|
? loop(index + 1, error)
|
|
29
30
|
: Effect.fail(error),
|
|
30
31
|
}));
|
|
@@ -32,42 +33,85 @@ export const any = (...policies) => {
|
|
|
32
33
|
return loop(0, undefined);
|
|
33
34
|
};
|
|
34
35
|
export const not = (policy, reason = "policy-not-satisfied") => policy.pipe(Effect.matchEffect({
|
|
35
|
-
onSuccess: () => Effect.fail(new
|
|
36
|
-
onFailure: (error) =>
|
|
36
|
+
onSuccess: () => Effect.fail(new AuthorizationError({ reason })),
|
|
37
|
+
onFailure: (error) => isAuthorizationError(error)
|
|
37
38
|
? Effect.void
|
|
38
39
|
: Effect.fail(error),
|
|
39
40
|
}));
|
|
40
41
|
export const check = (policy) => policy.pipe(Effect.matchEffect({
|
|
41
42
|
onSuccess: () => Effect.succeed({ type: "allowed" }),
|
|
42
|
-
onFailure: (error) =>
|
|
43
|
+
onFailure: (error) => isAuthorizationError(error)
|
|
43
44
|
? Effect.succeed({ type: "denied", error })
|
|
44
45
|
: Effect.fail(error),
|
|
45
46
|
}));
|
|
46
47
|
export const checkDetailed = (policy) => policy.pipe(Effect.match({
|
|
47
48
|
onSuccess: () => ({ type: "allowed" }),
|
|
48
|
-
onFailure: (error) =>
|
|
49
|
+
onFailure: (error) => isAuthorizationError(error)
|
|
49
50
|
? { type: "denied", error }
|
|
50
|
-
: {
|
|
51
|
+
: {
|
|
52
|
+
type: "failed",
|
|
53
|
+
error: error,
|
|
54
|
+
},
|
|
51
55
|
}));
|
|
52
56
|
export const requireNoSessionRequirement = (requirement, policyId) => Effect.gen(function* () {
|
|
53
57
|
const session = yield* CurrentSession;
|
|
54
58
|
if (session.claims?.requirements?.includes(requirement) === true) {
|
|
55
|
-
return yield* new
|
|
59
|
+
return yield* new AuthorizationError({
|
|
56
60
|
reason: "session-requirement-unsatisfied",
|
|
57
61
|
policyId,
|
|
58
62
|
});
|
|
59
63
|
}
|
|
60
64
|
});
|
|
65
|
+
/** Denies access while the session is limited to recovery enrollment. */
|
|
66
|
+
export const requireRecoveryEnrollmentSatisfied = (policyId) => requireNoSessionRequirement("recovery_enrollment", policyId);
|
|
67
|
+
/** Denies generic access while recovery-authenticated remediation is pending. */
|
|
68
|
+
export const requireRecoveryRemediationSatisfied = (policyId) => requireNoSessionRequirement("recovery_remediation", policyId);
|
|
61
69
|
export const requireEmailVerified = (policyId) => Effect.gen(function* () {
|
|
62
70
|
const session = yield* CurrentSession;
|
|
63
71
|
const { claims } = session;
|
|
64
|
-
if (claims?.
|
|
72
|
+
if (claims?.verifiedIdentityKinds?.includes("email") !== true ||
|
|
65
73
|
claims.requirements?.includes("email_verification") === true) {
|
|
66
|
-
return yield* new
|
|
74
|
+
return yield* new AuthorizationError({
|
|
67
75
|
reason: "email-verification-required",
|
|
68
76
|
policyId,
|
|
69
77
|
});
|
|
70
78
|
}
|
|
71
79
|
});
|
|
80
|
+
export const requirePermission = (permission, options = {}) => Effect.gen(function* () {
|
|
81
|
+
const subject = yield* CurrentPrincipal;
|
|
82
|
+
const permissions = yield* Permissions;
|
|
83
|
+
const allowed = yield* permissions.hasPermission({
|
|
84
|
+
subject,
|
|
85
|
+
permission,
|
|
86
|
+
...(options.scope === undefined ? {} : { scope: options.scope }),
|
|
87
|
+
});
|
|
88
|
+
if (!allowed) {
|
|
89
|
+
return yield* new AuthorizationError({
|
|
90
|
+
reason: "missing-permission",
|
|
91
|
+
...(options.policyId === undefined
|
|
92
|
+
? {}
|
|
93
|
+
: { policyId: options.policyId }),
|
|
94
|
+
...(options.message === undefined ? {} : { message: options.message }),
|
|
95
|
+
});
|
|
96
|
+
}
|
|
97
|
+
});
|
|
98
|
+
export const requireRole = (role, options = {}) => Effect.gen(function* () {
|
|
99
|
+
const subject = yield* CurrentPrincipal;
|
|
100
|
+
const permissions = yield* Permissions;
|
|
101
|
+
const allowed = yield* permissions.hasRole({
|
|
102
|
+
subject,
|
|
103
|
+
role,
|
|
104
|
+
...(options.scope === undefined ? {} : { scope: options.scope }),
|
|
105
|
+
});
|
|
106
|
+
if (!allowed) {
|
|
107
|
+
return yield* new AuthorizationError({
|
|
108
|
+
reason: "missing-role",
|
|
109
|
+
...(options.policyId === undefined
|
|
110
|
+
? {}
|
|
111
|
+
: { policyId: options.policyId }),
|
|
112
|
+
...(options.message === undefined ? {} : { message: options.message }),
|
|
113
|
+
});
|
|
114
|
+
}
|
|
115
|
+
});
|
|
72
116
|
export const require = (policy) => (effect) => Effect.flatMap(policy, () => effect);
|
|
73
117
|
//# sourceMappingURL=Policy.js.map
|
package/dist/Policy.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Policy.js","sourceRoot":"","sources":["../src/Policy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAGtC,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAc/C,MAAM,OAAO,
|
|
1
|
+
{"version":3,"file":"Policy.js","sourceRoot":"","sources":["../src/Policy.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export interface PostgresDelegatedAccessStorageMigration {
|
|
2
|
+
readonly id: string;
|
|
3
|
+
readonly sql: string;
|
|
4
|
+
}
|
|
5
|
+
export declare const postgresDelegatedAccessStorageMigration001: PostgresDelegatedAccessStorageMigration;
|
|
6
|
+
export declare const postgresDelegatedAccessStorageMigrations: readonly [PostgresDelegatedAccessStorageMigration];
|
|
7
|
+
//# sourceMappingURL=PostgresDelegatedAccessStorageMigrations.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PostgresDelegatedAccessStorageMigrations.d.ts","sourceRoot":"","sources":["../src/PostgresDelegatedAccessStorageMigrations.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,uCAAuC;IACtD,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;CACtB;AAED,eAAO,MAAM,0CAA0C,EAAE,uCAmHtD,CAAC;AAEJ,eAAO,MAAM,wCAAwC,oDAE3C,CAAC"}
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
export const postgresDelegatedAccessStorageMigration001 = {
|
|
2
|
+
id: "0001_auth_delegated_access",
|
|
3
|
+
sql: `create table auth_invitation (
|
|
4
|
+
id text collate "C" constraint auth_invitation_pkey primary key,
|
|
5
|
+
kind text not null,
|
|
6
|
+
target_type text not null,
|
|
7
|
+
target_id text not null,
|
|
8
|
+
intent_type text not null,
|
|
9
|
+
intent_version integer not null,
|
|
10
|
+
intent_payload jsonb not null,
|
|
11
|
+
recipient_type text,
|
|
12
|
+
recipient_reference text,
|
|
13
|
+
issued_by_type text,
|
|
14
|
+
issued_by_id text,
|
|
15
|
+
created_at bigint not null,
|
|
16
|
+
expires_at bigint not null,
|
|
17
|
+
token_hash text not null,
|
|
18
|
+
accepted_at bigint,
|
|
19
|
+
accepted_by_type text,
|
|
20
|
+
accepted_by_id text,
|
|
21
|
+
revoked_at bigint,
|
|
22
|
+
superseded_at bigint,
|
|
23
|
+
superseded_by_id text,
|
|
24
|
+
metadata jsonb,
|
|
25
|
+
constraint auth_invitation_id_check
|
|
26
|
+
check (id ~ '^[A-Za-z0-9_-]{22}$'),
|
|
27
|
+
constraint auth_invitation_required_text_check
|
|
28
|
+
check (length(kind) > 0 and length(target_type) > 0 and length(target_id) > 0 and length(intent_type) > 0),
|
|
29
|
+
constraint auth_invitation_intent_check
|
|
30
|
+
check (intent_version >= 1 and jsonb_typeof(intent_payload) = 'object'),
|
|
31
|
+
constraint auth_invitation_recipient_pair_check
|
|
32
|
+
check ((recipient_type is null and recipient_reference is null) or (recipient_type is not null and recipient_reference is not null and length(recipient_type) > 0 and length(recipient_reference) > 0)),
|
|
33
|
+
constraint auth_invitation_issued_by_pair_check
|
|
34
|
+
check ((issued_by_type is null and issued_by_id is null) or (issued_by_type is not null and issued_by_id is not null and length(issued_by_type) > 0 and length(issued_by_id) > 0)),
|
|
35
|
+
constraint auth_invitation_token_hash_check
|
|
36
|
+
check (token_hash ~ '^sha256:.+$'),
|
|
37
|
+
constraint auth_invitation_accepted_pair_check
|
|
38
|
+
check ((accepted_at is null and accepted_by_type is null and accepted_by_id is null) or (accepted_at is not null and accepted_by_type is not null and accepted_by_id is not null and length(accepted_by_type) > 0 and length(accepted_by_id) > 0)),
|
|
39
|
+
constraint auth_invitation_superseded_pair_check
|
|
40
|
+
check ((superseded_at is null and superseded_by_id is null) or (superseded_at is not null and superseded_by_id is not null and superseded_by_id ~ '^[A-Za-z0-9_-]{22}$')),
|
|
41
|
+
constraint auth_invitation_terminal_state_check
|
|
42
|
+
check (((accepted_at is not null)::integer + (revoked_at is not null)::integer + (superseded_at is not null)::integer) <= 1),
|
|
43
|
+
constraint auth_invitation_metadata_check
|
|
44
|
+
check (metadata is null or jsonb_typeof(metadata) = 'object'),
|
|
45
|
+
constraint auth_invitation_timestamp_order_check
|
|
46
|
+
check (created_at >= 0 and expires_at > created_at and (accepted_at is null or accepted_at >= created_at) and (revoked_at is null or revoked_at >= created_at) and (superseded_at is null or superseded_at >= created_at))
|
|
47
|
+
);
|
|
48
|
+
create index auth_invitation_created_at_idx
|
|
49
|
+
on auth_invitation (created_at, id);
|
|
50
|
+
create index auth_invitation_kind_created_at_idx
|
|
51
|
+
on auth_invitation (kind, created_at, id);
|
|
52
|
+
create index auth_invitation_target_created_at_idx
|
|
53
|
+
on auth_invitation (target_type, target_id, created_at, id);
|
|
54
|
+
create index auth_invitation_recipient_created_at_idx
|
|
55
|
+
on auth_invitation (recipient_type, recipient_reference, created_at, id);
|
|
56
|
+
create index auth_invitation_issued_by_created_at_idx
|
|
57
|
+
on auth_invitation (issued_by_type, issued_by_id, created_at, id);
|
|
58
|
+
create index auth_invitation_pending_expires_at_idx
|
|
59
|
+
on auth_invitation (expires_at, created_at, id)
|
|
60
|
+
where accepted_at is null and revoked_at is null and superseded_at is null;
|
|
61
|
+
|
|
62
|
+
create table auth_access_grant (
|
|
63
|
+
id text collate "C" constraint auth_access_grant_pkey primary key,
|
|
64
|
+
target_type text not null,
|
|
65
|
+
target_id text not null,
|
|
66
|
+
capabilities jsonb not null,
|
|
67
|
+
binding_type text not null,
|
|
68
|
+
binding_subject_type text,
|
|
69
|
+
binding_subject_id text,
|
|
70
|
+
issuer_type text,
|
|
71
|
+
issuer_id text,
|
|
72
|
+
created_at bigint not null,
|
|
73
|
+
expires_at bigint,
|
|
74
|
+
token_hash text,
|
|
75
|
+
revoked_at bigint,
|
|
76
|
+
superseded_at bigint,
|
|
77
|
+
superseded_by_id text,
|
|
78
|
+
metadata jsonb,
|
|
79
|
+
constraint auth_access_grant_id_check
|
|
80
|
+
check (id ~ '^[A-Za-z0-9_-]{22}$'),
|
|
81
|
+
constraint auth_access_grant_target_check
|
|
82
|
+
check (length(target_type) > 0 and length(target_id) > 0),
|
|
83
|
+
constraint auth_access_grant_capabilities_check
|
|
84
|
+
check (jsonb_typeof(capabilities) = 'array' and jsonb_array_length(capabilities) > 0 and not jsonb_path_exists(capabilities, '$[*] ? (@.type() != "string" || @ == "")')),
|
|
85
|
+
constraint auth_access_grant_binding_type_check
|
|
86
|
+
check (binding_type in ('bearer', 'subject', 'subject-and-bearer')),
|
|
87
|
+
constraint auth_access_grant_binding_subject_check
|
|
88
|
+
check ((binding_type = 'bearer' and binding_subject_type is null and binding_subject_id is null) or (binding_type in ('subject', 'subject-and-bearer') and binding_subject_type is not null and binding_subject_id is not null and length(binding_subject_type) > 0 and length(binding_subject_id) > 0)),
|
|
89
|
+
constraint auth_access_grant_issuer_pair_check
|
|
90
|
+
check ((issuer_type is null and issuer_id is null) or (issuer_type is not null and issuer_id is not null and length(issuer_type) > 0 and length(issuer_id) > 0)),
|
|
91
|
+
constraint auth_access_grant_token_hash_check
|
|
92
|
+
check (token_hash is null or token_hash ~ '^sha256:.+$'),
|
|
93
|
+
constraint auth_access_grant_binding_token_hash_check
|
|
94
|
+
check ((binding_type = 'subject' and token_hash is null) or (binding_type in ('bearer', 'subject-and-bearer') and token_hash is not null)),
|
|
95
|
+
constraint auth_access_grant_superseded_pair_check
|
|
96
|
+
check ((superseded_at is null and superseded_by_id is null) or (superseded_at is not null and superseded_by_id is not null and superseded_by_id ~ '^[A-Za-z0-9_-]{22}$')),
|
|
97
|
+
constraint auth_access_grant_terminal_state_check
|
|
98
|
+
check (((revoked_at is not null)::integer + (superseded_at is not null)::integer) <= 1),
|
|
99
|
+
constraint auth_access_grant_metadata_check
|
|
100
|
+
check (metadata is null or jsonb_typeof(metadata) = 'object'),
|
|
101
|
+
constraint auth_access_grant_timestamp_order_check
|
|
102
|
+
check (created_at >= 0 and (expires_at is null or expires_at > created_at) and (revoked_at is null or revoked_at >= created_at) and (superseded_at is null or superseded_at >= created_at))
|
|
103
|
+
);
|
|
104
|
+
create index auth_access_grant_created_at_idx
|
|
105
|
+
on auth_access_grant (created_at, id);
|
|
106
|
+
create index auth_access_grant_target_created_at_idx
|
|
107
|
+
on auth_access_grant (target_type, target_id, created_at, id);
|
|
108
|
+
create index auth_access_grant_issuer_created_at_idx
|
|
109
|
+
on auth_access_grant (issuer_type, issuer_id, created_at, id);
|
|
110
|
+
create index auth_access_grant_subject_created_at_idx
|
|
111
|
+
on auth_access_grant (binding_subject_type, binding_subject_id, created_at, id);
|
|
112
|
+
create index auth_access_grant_active_expires_at_idx
|
|
113
|
+
on auth_access_grant (expires_at, created_at, id)
|
|
114
|
+
where revoked_at is null and superseded_at is null;`,
|
|
115
|
+
};
|
|
116
|
+
export const postgresDelegatedAccessStorageMigrations = [
|
|
117
|
+
postgresDelegatedAccessStorageMigration001,
|
|
118
|
+
];
|
|
119
|
+
//# sourceMappingURL=PostgresDelegatedAccessStorageMigrations.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PostgresDelegatedAccessStorageMigrations.js","sourceRoot":"","sources":["../src/PostgresDelegatedAccessStorageMigrations.ts"],"names":[],"mappings":"AAKA,MAAM,CAAC,MAAM,0CAA0C,GACrD;IACE,EAAE,EAAE,4BAA4B;IAChC,GAAG,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sDA+G6C;CACnD,CAAC;AAEJ,MAAM,CAAC,MAAM,wCAAwC,GAAG;IACtD,0CAA0C;CAClC,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export interface PostgresAuthStorageMigration {
|
|
2
|
+
readonly id: string;
|
|
3
|
+
readonly sql: string;
|
|
4
|
+
}
|
|
5
|
+
export declare const postgresAuthStorageMigration001: PostgresAuthStorageMigration;
|
|
6
|
+
export declare const postgresAuthStorageMigration002: PostgresAuthStorageMigration;
|
|
7
|
+
export declare const postgresAuthStorageMigration003: PostgresAuthStorageMigration;
|
|
8
|
+
export declare const postgresAuthStorageMigration004: PostgresAuthStorageMigration;
|
|
9
|
+
export declare const postgresAuthStorageMigration005: PostgresAuthStorageMigration;
|
|
10
|
+
export declare const postgresAuthStorageMigration006: PostgresAuthStorageMigration;
|
|
11
|
+
export declare const postgresAuthStorageMigration007: PostgresAuthStorageMigration;
|
|
12
|
+
export declare const postgresAuthStorageMigration008: PostgresAuthStorageMigration;
|
|
13
|
+
export declare const postgresAuthStorageMigration009: PostgresAuthStorageMigration;
|
|
14
|
+
export declare const postgresAuthStorageMigrations: readonly [PostgresAuthStorageMigration, PostgresAuthStorageMigration, PostgresAuthStorageMigration, PostgresAuthStorageMigration, PostgresAuthStorageMigration, PostgresAuthStorageMigration, PostgresAuthStorageMigration, PostgresAuthStorageMigration, PostgresAuthStorageMigration];
|
|
15
|
+
//# sourceMappingURL=PostgresStorageMigrations.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PostgresStorageMigrations.d.ts","sourceRoot":"","sources":["../src/PostgresStorageMigrations.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;CACtB;AAED,eAAO,MAAM,+BAA+B,EAAE,4BA+E7C,CAAC;AAEF,eAAO,MAAM,+BAA+B,EAAE,4BAmE7C,CAAC;AAEF,eAAO,MAAM,+BAA+B,EAAE,4BA6C7C,CAAC;AAEF,eAAO,MAAM,+BAA+B,EAAE,4BAyG7C,CAAC;AAEF,eAAO,MAAM,+BAA+B,EAAE,4BA+B7C,CAAC;AAEF,eAAO,MAAM,+BAA+B,EAAE,4BAoD7C,CAAC;AAEF,eAAO,MAAM,+BAA+B,EAAE,4BAuF7C,CAAC;AAEF,eAAO,MAAM,+BAA+B,EAAE,4BAiE7C,CAAC;AAEF,eAAO,MAAM,+BAA+B,EAAE,4BAoE7C,CAAC;AAEF,eAAO,MAAM,6BAA6B,yRAUhC,CAAC"}
|