@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,65 @@
|
|
|
1
|
+
create table auth_totp_factor (
|
|
2
|
+
id text constraint auth_totp_factor_pkey primary key,
|
|
3
|
+
user_id text not null,
|
|
4
|
+
secret text not null,
|
|
5
|
+
algorithm text not null,
|
|
6
|
+
digits integer not null,
|
|
7
|
+
period integer not null,
|
|
8
|
+
created_at bigint not null,
|
|
9
|
+
confirmed_at bigint,
|
|
10
|
+
last_used_at bigint,
|
|
11
|
+
last_accepted_counter bigint,
|
|
12
|
+
revoked_at bigint,
|
|
13
|
+
metadata jsonb
|
|
14
|
+
);
|
|
15
|
+
create index auth_totp_factor_user_id_idx on auth_totp_factor (user_id);
|
|
16
|
+
create index auth_totp_factor_active_idx on auth_totp_factor (user_id, created_at, id)
|
|
17
|
+
where revoked_at is null and confirmed_at is not null;
|
|
18
|
+
|
|
19
|
+
create table auth_recovery_code (
|
|
20
|
+
id text constraint auth_recovery_code_pkey primary key,
|
|
21
|
+
user_id text not null,
|
|
22
|
+
code_hash text not null,
|
|
23
|
+
created_at bigint not null,
|
|
24
|
+
used_at bigint,
|
|
25
|
+
revoked_at bigint,
|
|
26
|
+
metadata jsonb
|
|
27
|
+
);
|
|
28
|
+
create index auth_recovery_code_user_id_idx on auth_recovery_code (user_id);
|
|
29
|
+
create index auth_recovery_code_active_idx on auth_recovery_code (user_id, created_at, id)
|
|
30
|
+
where used_at is null and revoked_at is null;
|
|
31
|
+
|
|
32
|
+
create table auth_refresh_token (
|
|
33
|
+
id text constraint auth_refresh_token_pkey primary key,
|
|
34
|
+
family_id text not null,
|
|
35
|
+
user_id text not null,
|
|
36
|
+
secret_hash text not null,
|
|
37
|
+
created_at bigint not null,
|
|
38
|
+
expires_at bigint not null,
|
|
39
|
+
last_used_at bigint,
|
|
40
|
+
rotated_at bigint,
|
|
41
|
+
replaced_by_id text,
|
|
42
|
+
revoked_at bigint,
|
|
43
|
+
reuse_detected_at bigint,
|
|
44
|
+
metadata jsonb,
|
|
45
|
+
constraint auth_refresh_token_secret_hash_key unique (secret_hash)
|
|
46
|
+
);
|
|
47
|
+
create index auth_refresh_token_family_id_idx on auth_refresh_token (family_id, created_at, id);
|
|
48
|
+
create index auth_refresh_token_user_id_idx on auth_refresh_token (user_id, created_at, id);
|
|
49
|
+
create index auth_refresh_token_expires_at_idx on auth_refresh_token (expires_at);
|
|
50
|
+
|
|
51
|
+
create table auth_oauth_account (
|
|
52
|
+
id text constraint auth_oauth_account_pkey primary key,
|
|
53
|
+
provider_id text not null,
|
|
54
|
+
provider_account_id text not null,
|
|
55
|
+
user_id text not null,
|
|
56
|
+
email text,
|
|
57
|
+
email_verified boolean,
|
|
58
|
+
created_at bigint not null,
|
|
59
|
+
updated_at bigint not null,
|
|
60
|
+
unlinked_at bigint,
|
|
61
|
+
metadata jsonb,
|
|
62
|
+
constraint auth_oauth_account_provider_account_key unique (provider_id, provider_account_id)
|
|
63
|
+
);
|
|
64
|
+
create index auth_oauth_account_user_id_idx on auth_oauth_account (user_id, created_at, id);
|
|
65
|
+
create index auth_oauth_account_unlinked_at_idx on auth_oauth_account (unlinked_at);
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
create table auth_passkey_credential (
|
|
2
|
+
id text constraint auth_passkey_credential_pkey primary key,
|
|
3
|
+
user_id text not null,
|
|
4
|
+
credential_id text not null,
|
|
5
|
+
public_key text not null,
|
|
6
|
+
sign_count bigint not null,
|
|
7
|
+
transports jsonb,
|
|
8
|
+
backed_up boolean,
|
|
9
|
+
created_at bigint not null,
|
|
10
|
+
last_used_at bigint,
|
|
11
|
+
revoked_at bigint,
|
|
12
|
+
metadata jsonb,
|
|
13
|
+
constraint auth_passkey_credential_credential_id_key unique (credential_id)
|
|
14
|
+
);
|
|
15
|
+
create index auth_passkey_credential_user_id_idx
|
|
16
|
+
on auth_passkey_credential (user_id, created_at, id);
|
|
17
|
+
create index auth_passkey_credential_revoked_at_idx
|
|
18
|
+
on auth_passkey_credential (revoked_at);
|
|
19
|
+
|
|
20
|
+
create table auth_api_key (
|
|
21
|
+
id text constraint auth_api_key_pkey primary key,
|
|
22
|
+
user_id text not null,
|
|
23
|
+
prefix text not null,
|
|
24
|
+
secret_hash text not null,
|
|
25
|
+
scopes jsonb not null,
|
|
26
|
+
created_at bigint not null,
|
|
27
|
+
expires_at bigint,
|
|
28
|
+
last_used_at bigint,
|
|
29
|
+
revoked_at bigint,
|
|
30
|
+
metadata jsonb,
|
|
31
|
+
constraint auth_api_key_prefix_key unique (prefix)
|
|
32
|
+
);
|
|
33
|
+
create index auth_api_key_user_id_idx on auth_api_key (user_id, created_at, id);
|
|
34
|
+
create index auth_api_key_expires_at_idx on auth_api_key (expires_at);
|
|
35
|
+
create index auth_api_key_revoked_at_idx on auth_api_key (revoked_at);
|
|
36
|
+
|
|
37
|
+
create table auth_jwt_revocation (
|
|
38
|
+
jwt_id text constraint auth_jwt_revocation_pkey primary key,
|
|
39
|
+
revoked_at bigint not null,
|
|
40
|
+
expires_at bigint,
|
|
41
|
+
reason text
|
|
42
|
+
);
|
|
43
|
+
create index auth_jwt_revocation_expires_at_idx on auth_jwt_revocation (expires_at);
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
create table auth_audit_log (
|
|
2
|
+
storage_id bigint generated always as identity constraint auth_audit_log_pkey primary key,
|
|
3
|
+
id text,
|
|
4
|
+
type text not null,
|
|
5
|
+
user_id text,
|
|
6
|
+
actor_user_id text,
|
|
7
|
+
occurred_at bigint not null,
|
|
8
|
+
request_ip_hash text,
|
|
9
|
+
request_user_agent_hash text,
|
|
10
|
+
event jsonb not null,
|
|
11
|
+
created_at bigint not null
|
|
12
|
+
);
|
|
13
|
+
create index auth_audit_log_id_idx on auth_audit_log (id);
|
|
14
|
+
create index auth_audit_log_user_occurred_at_idx
|
|
15
|
+
on auth_audit_log (user_id, occurred_at, id);
|
|
16
|
+
create index auth_audit_log_actor_user_occurred_at_idx
|
|
17
|
+
on auth_audit_log (actor_user_id, occurred_at, id);
|
|
18
|
+
create index auth_audit_log_type_occurred_at_idx
|
|
19
|
+
on auth_audit_log (type, occurred_at, id);
|
|
20
|
+
create index auth_audit_log_occurred_at_idx
|
|
21
|
+
on auth_audit_log (occurred_at, id);
|
|
22
|
+
|
|
23
|
+
create table auth_login_approval_review (
|
|
24
|
+
approval_challenge_id text constraint auth_login_approval_review_pkey primary key,
|
|
25
|
+
flow_id text not null,
|
|
26
|
+
user_id text not null,
|
|
27
|
+
channel text not null,
|
|
28
|
+
reason text not null,
|
|
29
|
+
session_binding text not null,
|
|
30
|
+
same_device_required boolean not null,
|
|
31
|
+
status text not null,
|
|
32
|
+
created_at bigint not null,
|
|
33
|
+
expires_at bigint not null,
|
|
34
|
+
reviewed_at bigint,
|
|
35
|
+
reviewed_by text,
|
|
36
|
+
denied_reason text,
|
|
37
|
+
risk jsonb,
|
|
38
|
+
metadata jsonb,
|
|
39
|
+
review_metadata jsonb,
|
|
40
|
+
constraint auth_login_approval_review_session_binding_check
|
|
41
|
+
check (session_binding in ('originating-device', 'approval-device', 'none')),
|
|
42
|
+
constraint auth_login_approval_review_status_check
|
|
43
|
+
check (status in ('pending', 'approved', 'denied'))
|
|
44
|
+
);
|
|
45
|
+
create index auth_login_approval_review_flow_id_idx
|
|
46
|
+
on auth_login_approval_review (flow_id);
|
|
47
|
+
create index auth_login_approval_review_user_id_idx
|
|
48
|
+
on auth_login_approval_review (user_id);
|
|
49
|
+
create index auth_login_approval_review_status_expires_at_idx
|
|
50
|
+
on auth_login_approval_review (status, expires_at);
|
|
51
|
+
|
|
52
|
+
create table auth_login_risk_history (
|
|
53
|
+
id text constraint auth_login_risk_history_pkey primary key,
|
|
54
|
+
user_id text not null,
|
|
55
|
+
occurred_at bigint not null,
|
|
56
|
+
outcome text not null,
|
|
57
|
+
method text not null,
|
|
58
|
+
amr jsonb not null,
|
|
59
|
+
aal text not null,
|
|
60
|
+
device_status text not null,
|
|
61
|
+
device_key text,
|
|
62
|
+
location_key text,
|
|
63
|
+
country text,
|
|
64
|
+
region text,
|
|
65
|
+
latitude_micro bigint,
|
|
66
|
+
longitude_micro bigint,
|
|
67
|
+
risk_level text,
|
|
68
|
+
created_at bigint not null,
|
|
69
|
+
constraint auth_login_risk_history_outcome_check
|
|
70
|
+
check (outcome in ('success', 'failure')),
|
|
71
|
+
constraint auth_login_risk_history_aal_check
|
|
72
|
+
check (aal in ('aal1', 'aal2', 'aal3')),
|
|
73
|
+
constraint auth_login_risk_history_device_status_check
|
|
74
|
+
check (device_status in ('known', 'new', 'unknown')),
|
|
75
|
+
constraint auth_login_risk_history_risk_level_check
|
|
76
|
+
check (risk_level is null or risk_level in ('unknown', 'low', 'medium', 'high', 'critical')),
|
|
77
|
+
constraint auth_login_risk_history_latitude_check
|
|
78
|
+
check (latitude_micro is null or latitude_micro between -90000000 and 90000000),
|
|
79
|
+
constraint auth_login_risk_history_longitude_check
|
|
80
|
+
check (longitude_micro is null or longitude_micro between -180000000 and 180000000)
|
|
81
|
+
);
|
|
82
|
+
create index auth_login_risk_history_user_occurred_at_idx
|
|
83
|
+
on auth_login_risk_history (user_id, occurred_at, id);
|
|
84
|
+
create index auth_login_risk_history_user_device_key_idx
|
|
85
|
+
on auth_login_risk_history (user_id, device_key);
|
|
86
|
+
create index auth_login_risk_history_user_location_key_idx
|
|
87
|
+
on auth_login_risk_history (user_id, location_key);
|
|
88
|
+
create index auth_login_risk_history_occurred_at_idx
|
|
89
|
+
on auth_login_risk_history (occurred_at, id);
|
|
90
|
+
|
|
91
|
+
create table auth_trusted_device (
|
|
92
|
+
user_id text not null,
|
|
93
|
+
token_hash text not null,
|
|
94
|
+
created_at bigint not null,
|
|
95
|
+
last_seen_at bigint not null,
|
|
96
|
+
expires_at bigint not null,
|
|
97
|
+
metadata jsonb,
|
|
98
|
+
constraint auth_trusted_device_pkey primary key (user_id, token_hash)
|
|
99
|
+
);
|
|
100
|
+
create index auth_trusted_device_user_id_idx
|
|
101
|
+
on auth_trusted_device (user_id, last_seen_at, token_hash);
|
|
102
|
+
create index auth_trusted_device_expires_at_idx
|
|
103
|
+
on auth_trusted_device (expires_at);
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
create table auth_webhook_outbox (
|
|
2
|
+
id text constraint auth_webhook_outbox_pkey primary key,
|
|
3
|
+
endpoint_key text not null,
|
|
4
|
+
event jsonb not null,
|
|
5
|
+
status text not null,
|
|
6
|
+
attempts integer not null,
|
|
7
|
+
next_attempt_at bigint not null,
|
|
8
|
+
created_at bigint not null,
|
|
9
|
+
updated_at bigint not null,
|
|
10
|
+
delivered_at bigint,
|
|
11
|
+
last_error text,
|
|
12
|
+
constraint auth_webhook_outbox_status_check
|
|
13
|
+
check (status in ('pending', 'failed', 'delivered', 'dead_lettered')),
|
|
14
|
+
constraint auth_webhook_outbox_attempts_check check (attempts >= 0)
|
|
15
|
+
);
|
|
16
|
+
create index auth_webhook_outbox_due_idx
|
|
17
|
+
on auth_webhook_outbox (next_attempt_at, status);
|
|
18
|
+
create index auth_webhook_outbox_endpoint_due_idx
|
|
19
|
+
on auth_webhook_outbox (endpoint_key, next_attempt_at);
|
|
20
|
+
create index auth_webhook_outbox_status_idx
|
|
21
|
+
on auth_webhook_outbox (status);
|
|
22
|
+
|
|
23
|
+
create table auth_webhook_replay (
|
|
24
|
+
id text constraint auth_webhook_replay_pkey primary key,
|
|
25
|
+
expires_at bigint not null,
|
|
26
|
+
created_at bigint not null
|
|
27
|
+
);
|
|
28
|
+
create index auth_webhook_replay_expires_at_idx
|
|
29
|
+
on auth_webhook_replay (expires_at);
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
create table auth_domain_verification (
|
|
2
|
+
id text constraint auth_domain_verification_pkey primary key,
|
|
3
|
+
owner_id text not null,
|
|
4
|
+
domain text not null,
|
|
5
|
+
proof_method text not null,
|
|
6
|
+
proof_token text not null,
|
|
7
|
+
status text not null,
|
|
8
|
+
created_at bigint not null,
|
|
9
|
+
expires_at bigint not null,
|
|
10
|
+
verified_at bigint,
|
|
11
|
+
revoked_at bigint,
|
|
12
|
+
last_checked_at bigint,
|
|
13
|
+
metadata jsonb,
|
|
14
|
+
constraint auth_domain_verification_owner_domain_key unique (owner_id, domain),
|
|
15
|
+
constraint auth_domain_verification_proof_method_check
|
|
16
|
+
check (proof_method in ('dns-txt', 'http-file', 'meta-tag')),
|
|
17
|
+
constraint auth_domain_verification_status_check
|
|
18
|
+
check (status in ('pending', 'verified', 'revoked'))
|
|
19
|
+
);
|
|
20
|
+
create index auth_domain_verification_domain_idx
|
|
21
|
+
on auth_domain_verification (domain);
|
|
22
|
+
create index auth_domain_verification_status_expires_at_idx
|
|
23
|
+
on auth_domain_verification (status, expires_at);
|
|
24
|
+
create index auth_domain_verification_owner_created_at_idx
|
|
25
|
+
on auth_domain_verification (owner_id, created_at, id collate "C");
|
|
26
|
+
|
|
27
|
+
create table auth_security_timeline (
|
|
28
|
+
id text constraint auth_security_timeline_pkey primary key,
|
|
29
|
+
user_id text not null,
|
|
30
|
+
type text not null,
|
|
31
|
+
category text not null,
|
|
32
|
+
severity text not null,
|
|
33
|
+
occurred_at bigint not null,
|
|
34
|
+
summary text not null,
|
|
35
|
+
actor jsonb,
|
|
36
|
+
request jsonb,
|
|
37
|
+
metadata jsonb,
|
|
38
|
+
constraint auth_security_timeline_category_check
|
|
39
|
+
check (category in ('api_key', 'auth', 'authorization', 'incident', 'identity', 'jwt', 'mfa', 'oauth', 'policy', 'refresh_token', 'risk', 'session')),
|
|
40
|
+
constraint auth_security_timeline_severity_check
|
|
41
|
+
check (severity in ('info', 'warning', 'critical'))
|
|
42
|
+
);
|
|
43
|
+
create index auth_security_timeline_user_occurred_at_idx
|
|
44
|
+
on auth_security_timeline (user_id, occurred_at, id collate "C");
|
|
45
|
+
create index auth_security_timeline_occurred_at_idx
|
|
46
|
+
on auth_security_timeline (occurred_at, id collate "C");
|
|
47
|
+
create index auth_security_timeline_user_type_idx
|
|
48
|
+
on auth_security_timeline (user_id, type, occurred_at, id collate "C");
|
|
49
|
+
create index auth_security_timeline_user_category_idx
|
|
50
|
+
on auth_security_timeline (user_id, category, occurred_at, id collate "C");
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
create table auth_oauth_client (
|
|
2
|
+
id text constraint auth_oauth_client_pkey primary key,
|
|
3
|
+
type text not null,
|
|
4
|
+
status text not null,
|
|
5
|
+
name text,
|
|
6
|
+
redirect_uris jsonb not null,
|
|
7
|
+
allowed_grant_types jsonb not null,
|
|
8
|
+
allowed_response_types jsonb not null,
|
|
9
|
+
allowed_scopes jsonb,
|
|
10
|
+
created_at bigint,
|
|
11
|
+
updated_at bigint,
|
|
12
|
+
metadata jsonb,
|
|
13
|
+
constraint auth_oauth_client_type_check
|
|
14
|
+
check (type in ('public', 'confidential')),
|
|
15
|
+
constraint auth_oauth_client_status_check
|
|
16
|
+
check (status in ('active', 'disabled')),
|
|
17
|
+
constraint auth_oauth_client_redirect_uris_check
|
|
18
|
+
check (jsonb_typeof(redirect_uris) = 'array' and not jsonb_path_exists(redirect_uris, '$[*] ? (@.type() != "string")')),
|
|
19
|
+
constraint auth_oauth_client_allowed_grant_types_check
|
|
20
|
+
check (jsonb_typeof(allowed_grant_types) = 'array' and not jsonb_path_exists(allowed_grant_types, '$[*] ? (@.type() != "string" || (@ != "authorization_code" && @ != "refresh_token" && @ != "client_credentials"))')),
|
|
21
|
+
constraint auth_oauth_client_allowed_response_types_check
|
|
22
|
+
check (jsonb_typeof(allowed_response_types) = 'array' and not jsonb_path_exists(allowed_response_types, '$[*] ? (@.type() != "string" || @ != "code")')),
|
|
23
|
+
constraint auth_oauth_client_allowed_scopes_check
|
|
24
|
+
check (allowed_scopes is null or (jsonb_typeof(allowed_scopes) = 'array' and not jsonb_path_exists(allowed_scopes, '$[*] ? (@.type() != "string")')))
|
|
25
|
+
);
|
|
26
|
+
create index auth_oauth_client_status_idx
|
|
27
|
+
on auth_oauth_client (status, id collate "C");
|
|
28
|
+
|
|
29
|
+
create table auth_oauth_consent (
|
|
30
|
+
user_id text not null,
|
|
31
|
+
client_id text not null,
|
|
32
|
+
scopes jsonb not null,
|
|
33
|
+
granted_at bigint not null,
|
|
34
|
+
expires_at bigint,
|
|
35
|
+
revoked_at bigint,
|
|
36
|
+
metadata jsonb,
|
|
37
|
+
constraint auth_oauth_consent_user_client_key unique (user_id, client_id),
|
|
38
|
+
constraint auth_oauth_consent_scopes_check
|
|
39
|
+
check (jsonb_typeof(scopes) = 'array' and not jsonb_path_exists(scopes, '$[*] ? (@.type() != "string")'))
|
|
40
|
+
);
|
|
41
|
+
create index auth_oauth_consent_user_id_idx
|
|
42
|
+
on auth_oauth_consent (user_id, granted_at, client_id collate "C");
|
|
43
|
+
create index auth_oauth_consent_expires_at_idx
|
|
44
|
+
on auth_oauth_consent (expires_at);
|
|
45
|
+
create index auth_oauth_consent_revoked_at_idx
|
|
46
|
+
on auth_oauth_consent (revoked_at);
|
|
47
|
+
|
|
48
|
+
create table auth_oauth_authorization_code (
|
|
49
|
+
code_hash text constraint auth_oauth_authorization_code_pkey primary key,
|
|
50
|
+
client_id text not null,
|
|
51
|
+
subject text not null,
|
|
52
|
+
redirect_uri text not null,
|
|
53
|
+
scopes jsonb not null,
|
|
54
|
+
code_challenge text,
|
|
55
|
+
code_challenge_method text,
|
|
56
|
+
issued_at bigint not null,
|
|
57
|
+
expires_at bigint not null,
|
|
58
|
+
consumed_at bigint,
|
|
59
|
+
metadata jsonb,
|
|
60
|
+
constraint auth_oauth_authorization_code_scopes_check
|
|
61
|
+
check (jsonb_typeof(scopes) = 'array' and not jsonb_path_exists(scopes, '$[*] ? (@.type() != "string")')),
|
|
62
|
+
constraint auth_oauth_authorization_code_challenge_method_check
|
|
63
|
+
check (code_challenge_method is null or code_challenge_method = 'S256')
|
|
64
|
+
);
|
|
65
|
+
create index auth_oauth_authorization_code_client_expires_at_idx
|
|
66
|
+
on auth_oauth_authorization_code (client_id, expires_at);
|
|
67
|
+
create index auth_oauth_authorization_code_expires_at_idx
|
|
68
|
+
on auth_oauth_authorization_code (expires_at);
|
|
69
|
+
create index auth_oauth_authorization_code_consumed_at_idx
|
|
70
|
+
on auth_oauth_authorization_code (consumed_at);
|
|
71
|
+
|
|
72
|
+
create table auth_oauth_client_secret (
|
|
73
|
+
prefix text collate "C" not null,
|
|
74
|
+
client_id text not null,
|
|
75
|
+
secret_hash text not null,
|
|
76
|
+
authentication_methods jsonb not null,
|
|
77
|
+
created_at bigint not null,
|
|
78
|
+
expires_at bigint,
|
|
79
|
+
last_used_at bigint,
|
|
80
|
+
revoked_at bigint,
|
|
81
|
+
metadata jsonb,
|
|
82
|
+
constraint auth_oauth_client_secret_pkey primary key (client_id, prefix),
|
|
83
|
+
constraint auth_oauth_client_secret_authentication_methods_check
|
|
84
|
+
check (jsonb_typeof(authentication_methods) = 'array' and not jsonb_path_exists(authentication_methods, '$[*] ? (@.type() != "string" || (@ != "client_secret_basic" && @ != "client_secret_post"))'))
|
|
85
|
+
);
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
create table auth_oauth_provider_mode_token (
|
|
2
|
+
token_hash text constraint auth_oauth_provider_mode_token_pkey primary key,
|
|
3
|
+
token_type text not null,
|
|
4
|
+
client_id text not null,
|
|
5
|
+
subject text not null,
|
|
6
|
+
scopes jsonb not null,
|
|
7
|
+
issued_at bigint not null,
|
|
8
|
+
expires_at bigint not null,
|
|
9
|
+
issuer text,
|
|
10
|
+
audience jsonb,
|
|
11
|
+
jwt_id text,
|
|
12
|
+
revoked_at bigint,
|
|
13
|
+
revocation_reason text,
|
|
14
|
+
rotated_at bigint,
|
|
15
|
+
replaced_by_token_hash text,
|
|
16
|
+
metadata jsonb,
|
|
17
|
+
constraint auth_oauth_provider_mode_token_type_check
|
|
18
|
+
check (token_type in ('access_token', 'refresh_token')),
|
|
19
|
+
constraint auth_oauth_provider_mode_token_scopes_check
|
|
20
|
+
check (jsonb_typeof(scopes) = 'array' and not jsonb_path_exists(scopes, '$[*] ? (@.type() != "string")')),
|
|
21
|
+
constraint auth_oauth_provider_mode_token_audience_check
|
|
22
|
+
check (audience is null or jsonb_typeof(audience) = 'string' or (jsonb_typeof(audience) = 'array' and not jsonb_path_exists(audience, '$[*] ? (@.type() != "string")'))),
|
|
23
|
+
constraint auth_oauth_provider_mode_token_metadata_check
|
|
24
|
+
check (metadata is null or jsonb_typeof(metadata) = 'object')
|
|
25
|
+
);
|
|
26
|
+
create index auth_oauth_provider_mode_token_client_expires_at_idx
|
|
27
|
+
on auth_oauth_provider_mode_token (client_id, expires_at);
|
|
28
|
+
create index auth_oauth_provider_mode_token_subject_idx
|
|
29
|
+
on auth_oauth_provider_mode_token (subject);
|
|
30
|
+
create index auth_oauth_provider_mode_token_expires_at_idx
|
|
31
|
+
on auth_oauth_provider_mode_token (expires_at);
|
|
32
|
+
create index auth_oauth_provider_mode_token_revoked_at_idx
|
|
33
|
+
on auth_oauth_provider_mode_token (revoked_at);
|
|
34
|
+
create index auth_oauth_provider_mode_token_rotated_at_idx
|
|
35
|
+
on auth_oauth_provider_mode_token (rotated_at);
|
|
36
|
+
create index auth_oauth_provider_mode_token_jwt_id_idx
|
|
37
|
+
on auth_oauth_provider_mode_token (jwt_id);
|
|
38
|
+
|
|
39
|
+
create table auth_oauth_provider_token_vault (
|
|
40
|
+
account_id text constraint auth_oauth_provider_token_vault_pkey primary key,
|
|
41
|
+
user_id text not null,
|
|
42
|
+
provider_id text not null,
|
|
43
|
+
provider_account_id text not null,
|
|
44
|
+
access_token_ciphertext text not null,
|
|
45
|
+
refresh_token_ciphertext text,
|
|
46
|
+
id_token_ciphertext text,
|
|
47
|
+
token_type text not null,
|
|
48
|
+
scopes jsonb,
|
|
49
|
+
expires_at bigint,
|
|
50
|
+
updated_at bigint not null,
|
|
51
|
+
revoked_at bigint,
|
|
52
|
+
revocation_reason text,
|
|
53
|
+
constraint auth_oauth_provider_token_vault_scopes_check
|
|
54
|
+
check (scopes is null or (jsonb_typeof(scopes) = 'array' and not jsonb_path_exists(scopes, '$[*] ? (@.type() != "string")')))
|
|
55
|
+
);
|
|
56
|
+
create index auth_oauth_provider_token_vault_user_id_idx
|
|
57
|
+
on auth_oauth_provider_token_vault (user_id);
|
|
58
|
+
create index auth_oauth_provider_token_vault_provider_account_idx
|
|
59
|
+
on auth_oauth_provider_token_vault (provider_id, provider_account_id);
|
|
60
|
+
create index auth_oauth_provider_token_vault_expires_at_idx
|
|
61
|
+
on auth_oauth_provider_token_vault (expires_at);
|
|
62
|
+
create index auth_oauth_provider_token_vault_revoked_at_idx
|
|
63
|
+
on auth_oauth_provider_token_vault (revoked_at);
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
create table auth_permission_definition (
|
|
2
|
+
id text collate "C" constraint auth_permission_definition_pkey primary key,
|
|
3
|
+
description text,
|
|
4
|
+
scope_type_present boolean not null,
|
|
5
|
+
scope_type text not null,
|
|
6
|
+
created_at bigint not null,
|
|
7
|
+
updated_at bigint not null,
|
|
8
|
+
disabled_at bigint,
|
|
9
|
+
deleted_at bigint
|
|
10
|
+
);
|
|
11
|
+
create index auth_permission_definition_status_idx
|
|
12
|
+
on auth_permission_definition (disabled_at, deleted_at, id);
|
|
13
|
+
|
|
14
|
+
create table auth_role_definition (
|
|
15
|
+
id text constraint auth_role_definition_pkey primary key,
|
|
16
|
+
description text,
|
|
17
|
+
created_at bigint not null,
|
|
18
|
+
updated_at bigint not null,
|
|
19
|
+
disabled_at bigint,
|
|
20
|
+
deleted_at bigint
|
|
21
|
+
);
|
|
22
|
+
create index auth_role_definition_status_idx
|
|
23
|
+
on auth_role_definition (disabled_at, deleted_at, id collate "C");
|
|
24
|
+
|
|
25
|
+
create table auth_permission_grant (
|
|
26
|
+
subject_type text not null,
|
|
27
|
+
subject_id text not null,
|
|
28
|
+
permission_id text not null,
|
|
29
|
+
scope_type text not null,
|
|
30
|
+
scope_id_present boolean not null,
|
|
31
|
+
scope_id text not null,
|
|
32
|
+
expires_at bigint,
|
|
33
|
+
metadata jsonb,
|
|
34
|
+
revoked_at bigint,
|
|
35
|
+
constraint auth_permission_grant_pkey primary key
|
|
36
|
+
(subject_type, subject_id, permission_id, scope_type, scope_id_present, scope_id)
|
|
37
|
+
);
|
|
38
|
+
create index auth_permission_grant_check_idx
|
|
39
|
+
on auth_permission_grant (subject_type, subject_id, permission_id, revoked_at, expires_at);
|
|
40
|
+
|
|
41
|
+
create table auth_role_grant (
|
|
42
|
+
subject_type text not null,
|
|
43
|
+
subject_id text not null,
|
|
44
|
+
role_id text not null,
|
|
45
|
+
scope_type text not null,
|
|
46
|
+
scope_id_present boolean not null,
|
|
47
|
+
scope_id text not null,
|
|
48
|
+
expires_at bigint,
|
|
49
|
+
metadata jsonb,
|
|
50
|
+
revoked_at bigint,
|
|
51
|
+
constraint auth_role_grant_pkey primary key
|
|
52
|
+
(subject_type, subject_id, role_id, scope_type, scope_id_present, scope_id)
|
|
53
|
+
);
|
|
54
|
+
create index auth_role_grant_check_idx
|
|
55
|
+
on auth_role_grant (subject_type, subject_id, role_id, revoked_at, expires_at);
|
|
56
|
+
|
|
57
|
+
create table auth_role_permission (
|
|
58
|
+
role_id text not null,
|
|
59
|
+
permission_id text not null,
|
|
60
|
+
scope_type_present boolean not null,
|
|
61
|
+
scope_type text not null,
|
|
62
|
+
constraint auth_role_permission_pkey primary key
|
|
63
|
+
(role_id, permission_id, scope_type_present, scope_type)
|
|
64
|
+
);
|
|
65
|
+
create index auth_role_permission_check_idx
|
|
66
|
+
on auth_role_permission (permission_id, role_id, scope_type_present, scope_type);
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
create table auth_invitation (
|
|
2
|
+
id text collate "C" constraint auth_invitation_pkey primary key,
|
|
3
|
+
kind text not null,
|
|
4
|
+
target_type text not null,
|
|
5
|
+
target_id text not null,
|
|
6
|
+
intent_type text not null,
|
|
7
|
+
intent_version integer not null,
|
|
8
|
+
intent_payload jsonb not null,
|
|
9
|
+
recipient_type text,
|
|
10
|
+
recipient_reference text,
|
|
11
|
+
issued_by_type text,
|
|
12
|
+
issued_by_id text,
|
|
13
|
+
created_at bigint not null,
|
|
14
|
+
expires_at bigint not null,
|
|
15
|
+
token_hash text not null,
|
|
16
|
+
accepted_at bigint,
|
|
17
|
+
accepted_by_type text,
|
|
18
|
+
accepted_by_id text,
|
|
19
|
+
revoked_at bigint,
|
|
20
|
+
superseded_at bigint,
|
|
21
|
+
superseded_by_id text,
|
|
22
|
+
metadata jsonb,
|
|
23
|
+
constraint auth_invitation_id_check
|
|
24
|
+
check (id ~ '^[A-Za-z0-9_-]{22}$'),
|
|
25
|
+
constraint auth_invitation_required_text_check
|
|
26
|
+
check (length(kind) > 0 and length(target_type) > 0 and length(target_id) > 0 and length(intent_type) > 0),
|
|
27
|
+
constraint auth_invitation_intent_check
|
|
28
|
+
check (intent_version >= 1 and jsonb_typeof(intent_payload) = 'object'),
|
|
29
|
+
constraint auth_invitation_recipient_pair_check
|
|
30
|
+
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)),
|
|
31
|
+
constraint auth_invitation_issued_by_pair_check
|
|
32
|
+
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)),
|
|
33
|
+
constraint auth_invitation_token_hash_check
|
|
34
|
+
check (token_hash ~ '^sha256:.+$'),
|
|
35
|
+
constraint auth_invitation_accepted_pair_check
|
|
36
|
+
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)),
|
|
37
|
+
constraint auth_invitation_superseded_pair_check
|
|
38
|
+
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}$')),
|
|
39
|
+
constraint auth_invitation_terminal_state_check
|
|
40
|
+
check (((accepted_at is not null)::integer + (revoked_at is not null)::integer + (superseded_at is not null)::integer) <= 1),
|
|
41
|
+
constraint auth_invitation_metadata_check
|
|
42
|
+
check (metadata is null or jsonb_typeof(metadata) = 'object'),
|
|
43
|
+
constraint auth_invitation_timestamp_order_check
|
|
44
|
+
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))
|
|
45
|
+
);
|
|
46
|
+
create index auth_invitation_created_at_idx
|
|
47
|
+
on auth_invitation (created_at, id);
|
|
48
|
+
create index auth_invitation_kind_created_at_idx
|
|
49
|
+
on auth_invitation (kind, created_at, id);
|
|
50
|
+
create index auth_invitation_target_created_at_idx
|
|
51
|
+
on auth_invitation (target_type, target_id, created_at, id);
|
|
52
|
+
create index auth_invitation_recipient_created_at_idx
|
|
53
|
+
on auth_invitation (recipient_type, recipient_reference, created_at, id);
|
|
54
|
+
create index auth_invitation_issued_by_created_at_idx
|
|
55
|
+
on auth_invitation (issued_by_type, issued_by_id, created_at, id);
|
|
56
|
+
create index auth_invitation_pending_expires_at_idx
|
|
57
|
+
on auth_invitation (expires_at, created_at, id)
|
|
58
|
+
where accepted_at is null and revoked_at is null and superseded_at is null;
|
|
59
|
+
|
|
60
|
+
create table auth_access_grant (
|
|
61
|
+
id text collate "C" constraint auth_access_grant_pkey primary key,
|
|
62
|
+
target_type text not null,
|
|
63
|
+
target_id text not null,
|
|
64
|
+
capabilities jsonb not null,
|
|
65
|
+
binding_type text not null,
|
|
66
|
+
binding_subject_type text,
|
|
67
|
+
binding_subject_id text,
|
|
68
|
+
issuer_type text,
|
|
69
|
+
issuer_id text,
|
|
70
|
+
created_at bigint not null,
|
|
71
|
+
expires_at bigint,
|
|
72
|
+
token_hash text,
|
|
73
|
+
revoked_at bigint,
|
|
74
|
+
superseded_at bigint,
|
|
75
|
+
superseded_by_id text,
|
|
76
|
+
metadata jsonb,
|
|
77
|
+
constraint auth_access_grant_id_check
|
|
78
|
+
check (id ~ '^[A-Za-z0-9_-]{22}$'),
|
|
79
|
+
constraint auth_access_grant_target_check
|
|
80
|
+
check (length(target_type) > 0 and length(target_id) > 0),
|
|
81
|
+
constraint auth_access_grant_capabilities_check
|
|
82
|
+
check (jsonb_typeof(capabilities) = 'array' and jsonb_array_length(capabilities) > 0 and not jsonb_path_exists(capabilities, '$[*] ? (@.type() != "string" || @ == "")')),
|
|
83
|
+
constraint auth_access_grant_binding_type_check
|
|
84
|
+
check (binding_type in ('bearer', 'subject', 'subject-and-bearer')),
|
|
85
|
+
constraint auth_access_grant_binding_subject_check
|
|
86
|
+
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)),
|
|
87
|
+
constraint auth_access_grant_issuer_pair_check
|
|
88
|
+
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)),
|
|
89
|
+
constraint auth_access_grant_token_hash_check
|
|
90
|
+
check (token_hash is null or token_hash ~ '^sha256:.+$'),
|
|
91
|
+
constraint auth_access_grant_binding_token_hash_check
|
|
92
|
+
check ((binding_type = 'subject' and token_hash is null) or (binding_type in ('bearer', 'subject-and-bearer') and token_hash is not null)),
|
|
93
|
+
constraint auth_access_grant_superseded_pair_check
|
|
94
|
+
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}$')),
|
|
95
|
+
constraint auth_access_grant_terminal_state_check
|
|
96
|
+
check (((revoked_at is not null)::integer + (superseded_at is not null)::integer) <= 1),
|
|
97
|
+
constraint auth_access_grant_metadata_check
|
|
98
|
+
check (metadata is null or jsonb_typeof(metadata) = 'object'),
|
|
99
|
+
constraint auth_access_grant_timestamp_order_check
|
|
100
|
+
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))
|
|
101
|
+
);
|
|
102
|
+
create index auth_access_grant_created_at_idx
|
|
103
|
+
on auth_access_grant (created_at, id);
|
|
104
|
+
create index auth_access_grant_target_created_at_idx
|
|
105
|
+
on auth_access_grant (target_type, target_id, created_at, id);
|
|
106
|
+
create index auth_access_grant_issuer_created_at_idx
|
|
107
|
+
on auth_access_grant (issuer_type, issuer_id, created_at, id);
|
|
108
|
+
create index auth_access_grant_subject_created_at_idx
|
|
109
|
+
on auth_access_grant (binding_subject_type, binding_subject_id, created_at, id);
|
|
110
|
+
create index auth_access_grant_active_expires_at_idx
|
|
111
|
+
on auth_access_grant (expires_at, created_at, id)
|
|
112
|
+
where revoked_at is null and superseded_at is null;
|