@effect-auth/core 0.1.0-alpha.1 → 0.1.0-alpha.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +790 -73
- package/dist/ApiKey.d.ts +207 -0
- package/dist/ApiKey.d.ts.map +1 -0
- package/dist/ApiKey.js +275 -0
- package/dist/ApiKey.js.map +1 -0
- package/dist/AuditLog.d.ts +335 -1
- package/dist/AuditLog.d.ts.map +1 -1
- package/dist/AuditLog.js +318 -1
- package/dist/AuditLog.js.map +1 -1
- package/dist/AuthConfig.d.ts +42 -0
- package/dist/AuthConfig.d.ts.map +1 -0
- package/dist/AuthConfig.js +43 -0
- package/dist/AuthConfig.js.map +1 -0
- package/dist/AuthFlow.d.ts +462 -36
- package/dist/AuthFlow.d.ts.map +1 -1
- package/dist/AuthFlow.js +657 -5
- package/dist/AuthFlow.js.map +1 -1
- package/dist/AuthKernel.d.ts +3 -0
- package/dist/AuthKernel.d.ts.map +1 -0
- package/dist/AuthKernel.js +9 -0
- package/dist/AuthKernel.js.map +1 -0
- package/dist/Challenge.d.ts +24 -4
- package/dist/Challenge.d.ts.map +1 -1
- package/dist/Challenge.js +167 -1
- package/dist/Challenge.js.map +1 -1
- package/dist/Client.d.ts +449 -0
- package/dist/Client.d.ts.map +1 -0
- package/dist/Client.js +985 -0
- package/dist/Client.js.map +1 -0
- package/dist/Crypto.d.ts +6 -1
- package/dist/Crypto.d.ts.map +1 -1
- package/dist/Crypto.js +62 -1
- package/dist/Crypto.js.map +1 -1
- package/dist/DomainVerification.d.ts +200 -0
- package/dist/DomainVerification.d.ts.map +1 -0
- package/dist/DomainVerification.js +304 -0
- package/dist/DomainVerification.js.map +1 -0
- package/dist/EffectQbSqliteStorage.d.ts +985 -0
- package/dist/EffectQbSqliteStorage.d.ts.map +1 -0
- package/dist/EffectQbSqliteStorage.js +2824 -0
- package/dist/EffectQbSqliteStorage.js.map +1 -0
- package/dist/EmailOtp.d.ts +120 -0
- package/dist/EmailOtp.d.ts.map +1 -0
- package/dist/EmailOtp.js +286 -0
- package/dist/EmailOtp.js.map +1 -0
- package/dist/EmailVerification.d.ts +121 -0
- package/dist/EmailVerification.d.ts.map +1 -0
- package/dist/EmailVerification.js +200 -0
- package/dist/EmailVerification.js.map +1 -0
- package/dist/HttpApi/Api.d.ts +2410 -0
- package/dist/HttpApi/Api.d.ts.map +1 -0
- package/dist/HttpApi/Api.js +3026 -0
- package/dist/HttpApi/Api.js.map +1 -0
- package/dist/HttpApi/Endpoints.d.ts +1073 -0
- package/dist/HttpApi/Endpoints.d.ts.map +1 -0
- package/dist/HttpApi/Endpoints.js +428 -0
- package/dist/HttpApi/Endpoints.js.map +1 -0
- package/dist/HttpApi/Errors.d.ts +114 -0
- package/dist/HttpApi/Errors.d.ts.map +1 -0
- package/dist/HttpApi/Errors.js +230 -0
- package/dist/HttpApi/Errors.js.map +1 -0
- package/dist/HttpApi/Schemas.d.ts +1254 -0
- package/dist/HttpApi/Schemas.d.ts.map +1 -0
- package/dist/HttpApi/Schemas.js +862 -0
- package/dist/HttpApi/Schemas.js.map +1 -0
- package/dist/HttpApi/Security.d.ts +159 -0
- package/dist/HttpApi/Security.d.ts.map +1 -0
- package/dist/HttpApi/Security.js +530 -0
- package/dist/HttpApi/Security.js.map +1 -0
- package/dist/HttpApi/Transport.d.ts +65 -0
- package/dist/HttpApi/Transport.d.ts.map +1 -0
- package/dist/HttpApi/Transport.js +311 -0
- package/dist/HttpApi/Transport.js.map +1 -0
- package/dist/HttpApi/index.d.ts +8 -0
- package/dist/HttpApi/index.d.ts.map +1 -0
- package/dist/HttpApi/index.js +7 -0
- package/dist/HttpApi/index.js.map +1 -0
- package/dist/HttpApi.d.ts +2 -0
- package/dist/HttpApi.d.ts.map +1 -0
- package/dist/HttpApi.js +2 -0
- package/dist/HttpApi.js.map +1 -0
- package/dist/Identifiers.d.ts +3 -0
- package/dist/Identifiers.d.ts.map +1 -1
- package/dist/Identifiers.js +2 -0
- package/dist/Identifiers.js.map +1 -1
- package/dist/IncidentAction.d.ts +80 -0
- package/dist/IncidentAction.d.ts.map +1 -0
- package/dist/IncidentAction.js +158 -0
- package/dist/IncidentAction.js.map +1 -0
- package/dist/Internal.d.ts +7 -0
- package/dist/Internal.d.ts.map +1 -0
- package/dist/Internal.js +12 -0
- package/dist/Internal.js.map +1 -0
- package/dist/Jwt.d.ts +281 -0
- package/dist/Jwt.d.ts.map +1 -0
- package/dist/Jwt.js +721 -0
- package/dist/Jwt.js.map +1 -0
- package/dist/LoginApproval.d.ts +314 -0
- package/dist/LoginApproval.d.ts.map +1 -0
- package/dist/LoginApproval.js +551 -0
- package/dist/LoginApproval.js.map +1 -0
- package/dist/LoginNotification.d.ts +183 -0
- package/dist/LoginNotification.d.ts.map +1 -0
- package/dist/LoginNotification.js +329 -0
- package/dist/LoginNotification.js.map +1 -0
- package/dist/LoginRisk.d.ts +344 -0
- package/dist/LoginRisk.d.ts.map +1 -0
- package/dist/LoginRisk.js +484 -0
- package/dist/LoginRisk.js.map +1 -0
- package/dist/MachineAuth.d.ts +73 -0
- package/dist/MachineAuth.d.ts.map +1 -0
- package/dist/MachineAuth.js +147 -0
- package/dist/MachineAuth.js.map +1 -0
- package/dist/MagicLink.d.ts +85 -0
- package/dist/MagicLink.d.ts.map +1 -0
- package/dist/MagicLink.js +206 -0
- package/dist/MagicLink.js.map +1 -0
- package/dist/Mailer.d.ts +147 -0
- package/dist/Mailer.d.ts.map +1 -0
- package/dist/Mailer.js +208 -0
- package/dist/Mailer.js.map +1 -0
- package/dist/OAuth.d.ts +1890 -0
- package/dist/OAuth.d.ts.map +1 -0
- package/dist/OAuth.js +3063 -0
- package/dist/OAuth.js.map +1 -0
- package/dist/Passkey.d.ts +334 -0
- package/dist/Passkey.d.ts.map +1 -0
- package/dist/Passkey.js +422 -0
- package/dist/Passkey.js.map +1 -0
- package/dist/PasskeySimpleWebAuthn.d.ts +11 -0
- package/dist/PasskeySimpleWebAuthn.d.ts.map +1 -0
- package/dist/PasskeySimpleWebAuthn.js +181 -0
- package/dist/PasskeySimpleWebAuthn.js.map +1 -0
- package/dist/Password.d.ts +237 -0
- package/dist/Password.d.ts.map +1 -0
- package/dist/Password.js +641 -0
- package/dist/Password.js.map +1 -0
- package/dist/Policy.d.ts +7 -4
- package/dist/Policy.d.ts.map +1 -1
- package/dist/Policy.js +28 -5
- package/dist/Policy.js.map +1 -1
- package/dist/Privacy.d.ts +15 -0
- package/dist/Privacy.d.ts.map +1 -1
- package/dist/Privacy.js +58 -1
- package/dist/Privacy.js.map +1 -1
- package/dist/RateLimiter.d.ts +104 -0
- package/dist/RateLimiter.d.ts.map +1 -0
- package/dist/RateLimiter.js +118 -0
- package/dist/RateLimiter.js.map +1 -0
- package/dist/RecoveryCode.d.ts +169 -0
- package/dist/RecoveryCode.d.ts.map +1 -0
- package/dist/RecoveryCode.js +299 -0
- package/dist/RecoveryCode.js.map +1 -0
- package/dist/RefreshToken.d.ts +222 -0
- package/dist/RefreshToken.d.ts.map +1 -0
- package/dist/RefreshToken.js +342 -0
- package/dist/RefreshToken.js.map +1 -0
- package/dist/Retention.d.ts +98 -0
- package/dist/Retention.d.ts.map +1 -0
- package/dist/Retention.js +204 -0
- package/dist/Retention.js.map +1 -0
- package/dist/SecurityTimeline.d.ts +78 -0
- package/dist/SecurityTimeline.d.ts.map +1 -0
- package/dist/SecurityTimeline.js +461 -0
- package/dist/SecurityTimeline.js.map +1 -0
- package/dist/Sessions.d.ts +123 -11
- package/dist/Sessions.d.ts.map +1 -1
- package/dist/Sessions.js +534 -1
- package/dist/Sessions.js.map +1 -1
- package/dist/StepUp.d.ts +44 -0
- package/dist/StepUp.d.ts.map +1 -0
- package/dist/StepUp.js +82 -0
- package/dist/StepUp.js.map +1 -0
- package/dist/Storage.d.ts +73 -5
- package/dist/Storage.d.ts.map +1 -1
- package/dist/Storage.js +11 -1
- package/dist/Storage.js.map +1 -1
- package/dist/StorageMigrations.d.ts +23 -1
- package/dist/StorageMigrations.d.ts.map +1 -1
- package/dist/StorageMigrations.js +462 -2
- package/dist/StorageMigrations.js.map +1 -1
- package/dist/Testing.d.ts +9 -1
- package/dist/Testing.d.ts.map +1 -1
- package/dist/Testing.js +30 -2
- package/dist/Testing.js.map +1 -1
- package/dist/Totp.d.ts +220 -0
- package/dist/Totp.d.ts.map +1 -0
- package/dist/Totp.js +477 -0
- package/dist/Totp.js.map +1 -0
- package/dist/TrustedDevice.d.ts +127 -0
- package/dist/TrustedDevice.d.ts.map +1 -0
- package/dist/TrustedDevice.js +252 -0
- package/dist/TrustedDevice.js.map +1 -0
- package/dist/WaitUntil.d.ts.map +1 -1
- package/dist/WaitUntil.js +1 -1
- package/dist/WaitUntil.js.map +1 -1
- package/dist/Webhook.d.ts +380 -0
- package/dist/Webhook.d.ts.map +1 -0
- package/dist/Webhook.js +592 -0
- package/dist/Webhook.js.map +1 -0
- package/dist/alchemy/cloudflare/Email.d.ts +25 -0
- package/dist/alchemy/cloudflare/Email.d.ts.map +1 -0
- package/dist/alchemy/cloudflare/Email.js +117 -0
- package/dist/alchemy/cloudflare/Email.js.map +1 -0
- package/dist/alchemy/cloudflare/RateLimitDurableObject.d.ts +34 -0
- package/dist/alchemy/cloudflare/RateLimitDurableObject.d.ts.map +1 -0
- package/dist/alchemy/cloudflare/RateLimitDurableObject.js +30 -0
- package/dist/alchemy/cloudflare/RateLimitDurableObject.js.map +1 -0
- package/dist/cloudflare/Email.d.ts +25 -0
- package/dist/cloudflare/Email.d.ts.map +1 -0
- package/dist/cloudflare/Email.js +153 -0
- package/dist/cloudflare/Email.js.map +1 -0
- package/dist/cloudflare/RateLimitDurableObject.d.ts +50 -0
- package/dist/cloudflare/RateLimitDurableObject.d.ts.map +1 -0
- package/dist/cloudflare/RateLimitDurableObject.js +51 -0
- package/dist/cloudflare/RateLimitDurableObject.js.map +1 -0
- package/dist/index.d.ts +25 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +25 -0
- package/dist/index.js.map +1 -1
- package/dist/internal/RateLimitDurableObject.d.ts +32 -0
- package/dist/internal/RateLimitDurableObject.d.ts.map +1 -0
- package/dist/internal/RateLimitDurableObject.js +80 -0
- package/dist/internal/RateLimitDurableObject.js.map +1 -0
- package/migrations/0002_auth_password.sql +25 -0
- package/migrations/0003_auth_login_approval_review.sql +22 -0
- package/migrations/0004_auth_trusted_device.sql +12 -0
- package/migrations/0005_auth_passkey.sql +17 -0
- package/migrations/0006_auth_totp_factor.sql +17 -0
- package/migrations/0007_auth_recovery_code.sql +13 -0
- package/migrations/0008_auth_api_key.sql +17 -0
- package/migrations/0009_auth_refresh_token.sql +21 -0
- package/migrations/0010_auth_jwt_revocation.sql +8 -0
- package/migrations/0011_auth_oauth_account.sql +16 -0
- package/migrations/0012_auth_oauth_provider_token_vault.sql +20 -0
- package/migrations/0013_auth_security_timeline.sql +16 -0
- package/migrations/0014_auth_webhook_outbox.sql +16 -0
- package/migrations/0015_auth_webhook_replay.sql +7 -0
- package/migrations/0016_auth_login_risk_history.sql +23 -0
- package/migrations/0017_auth_audit_log.sql +17 -0
- package/migrations/0018_auth_domain_verification.sql +18 -0
- package/migrations/0019_auth_oauth_authorization_code.sql +17 -0
- package/migrations/0020_auth_oauth_provider_mode_token.sql +24 -0
- package/migrations/0021_auth_oauth_client_secret.sql +14 -0
- package/migrations/0022_auth_oauth_client.sql +15 -0
- package/migrations/0023_auth_oauth_consent.sql +15 -0
- package/package.json +162 -26
- package/dist/D1Kysely.d.ts +0 -40
- package/dist/D1Kysely.d.ts.map +0 -1
- package/dist/D1Kysely.js +0 -75
- package/dist/D1Kysely.js.map +0 -1
- package/dist/KyselyStorage.d.ts +0 -41
- package/dist/KyselyStorage.d.ts.map +0 -1
- package/dist/KyselyStorage.js +0 -176
- package/dist/KyselyStorage.js.map +0 -1
package/dist/AuthFlow.d.ts
CHANGED
|
@@ -1,59 +1,447 @@
|
|
|
1
|
-
import { Context, Effect } from "effect";
|
|
2
|
-
import
|
|
3
|
-
import type {
|
|
1
|
+
import { Context, Data, Duration, Effect, Layer, Redacted } from "effect";
|
|
2
|
+
import { Challenge } from "./Challenge.js";
|
|
3
|
+
import type { ChallengeService } from "./Challenge.js";
|
|
4
|
+
import type { CryptoService } from "./Crypto.js";
|
|
5
|
+
import type { OAuthProviderId, UnixMillis } from "./Identifiers.js";
|
|
6
|
+
import { AuthFlowId, ChallengeId, Email, UserId } from "./Identifiers.js";
|
|
7
|
+
import { LoginApprovalReview } from "./LoginApproval.js";
|
|
8
|
+
import type { LoginApprovalChannel, LoginApprovalFlowService, LoginApprovalFlowStartError, LoginApprovalIntent, LoginApprovalPolicyService, LoginApprovalReason, LoginApprovalReviewError, LoginApprovalReviewService, LoginApprovalSessionBinding, LoginDeviceContext } from "./LoginApproval.js";
|
|
9
|
+
import type { LoginNotificationService } from "./LoginNotification.js";
|
|
10
|
+
import type { LoginRequestContext, LoginRiskContext, LoginRiskEngineService, LoginRiskError } from "./LoginRisk.js";
|
|
11
|
+
import { Sessions } from "./Sessions.js";
|
|
12
|
+
import type { AuthAssuranceLevel, AuthMethodReference, IssuedSession, SessionCreateError, SessionClaims, SessionsService } from "./Sessions.js";
|
|
13
|
+
import type { TrustedDeviceError, TrustedDeviceService } from "./TrustedDevice.js";
|
|
4
14
|
export type AuthMethod = "password" | "email-otp" | "magic-link" | "passkey" | "oauth" | "totp" | "backup-code" | (string & {});
|
|
5
|
-
export type
|
|
15
|
+
export type EmailVerificationSessionMode = "allow-unverified" | "limited-session";
|
|
16
|
+
export declare const defaultLoginApprovalSameDeviceSecretBytes = 32;
|
|
17
|
+
export interface EmailVerificationSessionPolicyOptions {
|
|
18
|
+
readonly mode?: EmailVerificationSessionMode;
|
|
19
|
+
}
|
|
20
|
+
export interface EmailVerificationSessionPolicyInput {
|
|
21
|
+
readonly claims?: SessionClaims;
|
|
22
|
+
}
|
|
23
|
+
export type EmailVerificationSessionPolicyDecision = {
|
|
24
|
+
readonly _tag: "CreateSession";
|
|
25
|
+
readonly claims?: SessionClaims;
|
|
26
|
+
};
|
|
27
|
+
export interface EmailVerificationSessionPolicyService {
|
|
28
|
+
readonly decide: (input: EmailVerificationSessionPolicyInput) => Effect.Effect<EmailVerificationSessionPolicyDecision>;
|
|
29
|
+
}
|
|
30
|
+
declare const EmailVerificationSessionPolicy_base: Context.ServiceClass<EmailVerificationSessionPolicy, "auth/EmailVerificationSessionPolicy", EmailVerificationSessionPolicyService>;
|
|
31
|
+
export declare class EmailVerificationSessionPolicy extends EmailVerificationSessionPolicy_base {
|
|
32
|
+
}
|
|
33
|
+
export declare namespace EmailVerificationSessionPolicy {
|
|
34
|
+
const make: (service: EmailVerificationSessionPolicyService) => EmailVerificationSessionPolicyService;
|
|
35
|
+
}
|
|
36
|
+
export declare const makeEmailVerificationSessionPolicy: (options?: EmailVerificationSessionPolicyOptions) => EmailVerificationSessionPolicyService;
|
|
37
|
+
export declare const EmailVerificationSessionPolicyLive: (options?: EmailVerificationSessionPolicyOptions) => Layer.Layer<EmailVerificationSessionPolicy, never, never>;
|
|
6
38
|
export interface MfaFactor {
|
|
7
39
|
readonly type: "totp" | "backup-code" | "passkey" | (string & {});
|
|
8
40
|
}
|
|
9
|
-
export interface PrimaryFactorResult {
|
|
41
|
+
export interface PrimaryFactorResult<Method extends AuthMethod = AuthMethod> {
|
|
10
42
|
readonly userId: UserId;
|
|
11
|
-
readonly
|
|
12
|
-
readonly
|
|
43
|
+
readonly email?: Email;
|
|
44
|
+
readonly intent?: LoginApprovalIntent;
|
|
45
|
+
readonly method: Method;
|
|
46
|
+
readonly amr: readonly AuthMethodReference[];
|
|
13
47
|
readonly aal: AuthAssuranceLevel;
|
|
48
|
+
readonly claims?: SessionClaims;
|
|
49
|
+
readonly device?: LoginDeviceContext;
|
|
50
|
+
readonly trustedDeviceToken?: Redacted.Redacted<string>;
|
|
51
|
+
readonly request?: LoginRequestContext;
|
|
52
|
+
readonly metadata?: Readonly<Record<string, unknown>>;
|
|
14
53
|
}
|
|
15
54
|
export interface MfaCompleteInput {
|
|
16
55
|
readonly flowId: AuthFlowId;
|
|
56
|
+
readonly userId?: UserId;
|
|
17
57
|
readonly method: AuthMethod;
|
|
18
|
-
readonly amr
|
|
19
|
-
readonly aal
|
|
58
|
+
readonly amr?: readonly AuthMethodReference[];
|
|
59
|
+
readonly aal?: AuthAssuranceLevel;
|
|
60
|
+
readonly secret?: Redacted.Redacted<string>;
|
|
61
|
+
readonly now?: UnixMillis;
|
|
62
|
+
readonly metadata?: Readonly<Record<string, unknown>>;
|
|
20
63
|
}
|
|
21
|
-
export interface AuthFlowCompleteInput {
|
|
64
|
+
export interface AuthFlowCompleteInput<Method extends AuthMethod = AuthMethod> {
|
|
22
65
|
readonly userId: UserId;
|
|
23
|
-
readonly
|
|
24
|
-
readonly
|
|
66
|
+
readonly email?: Email;
|
|
67
|
+
readonly intent?: LoginApprovalIntent;
|
|
68
|
+
readonly method: Method;
|
|
69
|
+
readonly amr: readonly AuthMethodReference[];
|
|
25
70
|
readonly aal: AuthAssuranceLevel;
|
|
71
|
+
readonly claims?: SessionClaims;
|
|
72
|
+
readonly device?: LoginDeviceContext;
|
|
73
|
+
readonly request?: LoginRequestContext;
|
|
74
|
+
readonly risk?: LoginRiskContext;
|
|
75
|
+
readonly mfaVerifiedAt?: UnixMillis;
|
|
76
|
+
readonly metadata?: Readonly<Record<string, unknown>>;
|
|
26
77
|
}
|
|
27
|
-
export type AuthResult = {
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
78
|
+
export type AuthResult = Data.TaggedEnum<{
|
|
79
|
+
Authenticated: {
|
|
80
|
+
readonly session: IssuedSession;
|
|
81
|
+
};
|
|
82
|
+
RequiresMfa: {
|
|
83
|
+
readonly flowId: AuthFlowId;
|
|
84
|
+
readonly factors: readonly MfaFactor[];
|
|
85
|
+
};
|
|
86
|
+
RequiresEmailVerification: {
|
|
87
|
+
readonly flowId: AuthFlowId;
|
|
88
|
+
readonly userId?: UserId;
|
|
89
|
+
readonly email?: Email;
|
|
90
|
+
};
|
|
91
|
+
RequiresLoginApproval: {
|
|
92
|
+
readonly flowId: AuthFlowId;
|
|
93
|
+
readonly approvalChallengeId: ChallengeId;
|
|
94
|
+
readonly channel: LoginApprovalChannel;
|
|
95
|
+
readonly sessionBinding: LoginApprovalSessionBinding;
|
|
96
|
+
readonly sameDeviceRequired: boolean;
|
|
97
|
+
readonly reason: LoginApprovalReason;
|
|
98
|
+
readonly expiresAt: UnixMillis;
|
|
99
|
+
readonly sameDeviceSecret?: Redacted.Redacted<string>;
|
|
100
|
+
};
|
|
101
|
+
RequiresPasskeyEnrollment: {
|
|
102
|
+
readonly flowId: AuthFlowId;
|
|
103
|
+
};
|
|
104
|
+
RequiresExplicitLinking: {
|
|
105
|
+
readonly flowId: AuthFlowId;
|
|
106
|
+
readonly provider: OAuthProviderId;
|
|
107
|
+
};
|
|
108
|
+
InvalidCredentials: {};
|
|
109
|
+
AccountDisabled: {};
|
|
110
|
+
PolicyDenied: {
|
|
111
|
+
readonly reason?: string;
|
|
112
|
+
};
|
|
113
|
+
}>;
|
|
114
|
+
export declare const AuthResult: {
|
|
115
|
+
readonly Authenticated: Data.TaggedEnum.ConstructorFrom<{
|
|
116
|
+
readonly _tag: "Authenticated";
|
|
117
|
+
readonly session: IssuedSession;
|
|
118
|
+
}, "_tag">;
|
|
119
|
+
readonly RequiresMfa: Data.TaggedEnum.ConstructorFrom<{
|
|
120
|
+
readonly _tag: "RequiresMfa";
|
|
121
|
+
readonly flowId: AuthFlowId;
|
|
122
|
+
readonly factors: readonly MfaFactor[];
|
|
123
|
+
}, "_tag">;
|
|
124
|
+
readonly RequiresEmailVerification: Data.TaggedEnum.ConstructorFrom<{
|
|
125
|
+
readonly _tag: "RequiresEmailVerification";
|
|
126
|
+
readonly flowId: AuthFlowId;
|
|
127
|
+
readonly userId?: UserId | undefined;
|
|
128
|
+
readonly email?: Email | undefined;
|
|
129
|
+
}, "_tag">;
|
|
130
|
+
readonly RequiresLoginApproval: Data.TaggedEnum.ConstructorFrom<{
|
|
131
|
+
readonly _tag: "RequiresLoginApproval";
|
|
132
|
+
readonly flowId: AuthFlowId;
|
|
133
|
+
readonly approvalChallengeId: ChallengeId;
|
|
134
|
+
readonly channel: LoginApprovalChannel;
|
|
135
|
+
readonly sessionBinding: LoginApprovalSessionBinding;
|
|
136
|
+
readonly sameDeviceRequired: boolean;
|
|
137
|
+
readonly reason: LoginApprovalReason;
|
|
138
|
+
readonly expiresAt: UnixMillis;
|
|
139
|
+
readonly sameDeviceSecret?: Redacted.Redacted<string> | undefined;
|
|
140
|
+
}, "_tag">;
|
|
141
|
+
readonly RequiresPasskeyEnrollment: Data.TaggedEnum.ConstructorFrom<{
|
|
142
|
+
readonly _tag: "RequiresPasskeyEnrollment";
|
|
143
|
+
readonly flowId: AuthFlowId;
|
|
144
|
+
}, "_tag">;
|
|
145
|
+
readonly RequiresExplicitLinking: Data.TaggedEnum.ConstructorFrom<{
|
|
146
|
+
readonly _tag: "RequiresExplicitLinking";
|
|
147
|
+
readonly flowId: AuthFlowId;
|
|
148
|
+
readonly provider: OAuthProviderId;
|
|
149
|
+
}, "_tag">;
|
|
150
|
+
readonly InvalidCredentials: Data.TaggedEnum.ConstructorFrom<{
|
|
151
|
+
readonly _tag: "InvalidCredentials";
|
|
152
|
+
}, "_tag">;
|
|
153
|
+
readonly AccountDisabled: Data.TaggedEnum.ConstructorFrom<{
|
|
154
|
+
readonly _tag: "AccountDisabled";
|
|
155
|
+
}, "_tag">;
|
|
156
|
+
readonly PolicyDenied: Data.TaggedEnum.ConstructorFrom<{
|
|
157
|
+
readonly _tag: "PolicyDenied";
|
|
158
|
+
readonly reason?: string | undefined;
|
|
159
|
+
}, "_tag">;
|
|
160
|
+
readonly $is: <Tag extends "Authenticated" | "RequiresMfa" | "RequiresEmailVerification" | "RequiresLoginApproval" | "RequiresPasskeyEnrollment" | "RequiresExplicitLinking" | "InvalidCredentials" | "AccountDisabled" | "PolicyDenied">(tag: Tag) => (u: unknown) => u is Extract<{
|
|
161
|
+
readonly _tag: "Authenticated";
|
|
162
|
+
readonly session: IssuedSession;
|
|
163
|
+
}, {
|
|
164
|
+
readonly _tag: Tag;
|
|
165
|
+
}> | Extract<{
|
|
166
|
+
readonly _tag: "RequiresMfa";
|
|
167
|
+
readonly flowId: AuthFlowId;
|
|
168
|
+
readonly factors: readonly MfaFactor[];
|
|
169
|
+
}, {
|
|
170
|
+
readonly _tag: Tag;
|
|
171
|
+
}> | Extract<{
|
|
172
|
+
readonly _tag: "RequiresEmailVerification";
|
|
173
|
+
readonly flowId: AuthFlowId;
|
|
174
|
+
readonly userId?: UserId | undefined;
|
|
175
|
+
readonly email?: Email | undefined;
|
|
176
|
+
}, {
|
|
177
|
+
readonly _tag: Tag;
|
|
178
|
+
}> | Extract<{
|
|
179
|
+
readonly _tag: "RequiresLoginApproval";
|
|
180
|
+
readonly flowId: AuthFlowId;
|
|
181
|
+
readonly approvalChallengeId: ChallengeId;
|
|
182
|
+
readonly channel: LoginApprovalChannel;
|
|
183
|
+
readonly sessionBinding: LoginApprovalSessionBinding;
|
|
184
|
+
readonly sameDeviceRequired: boolean;
|
|
185
|
+
readonly reason: LoginApprovalReason;
|
|
186
|
+
readonly expiresAt: UnixMillis;
|
|
187
|
+
readonly sameDeviceSecret?: Redacted.Redacted<string> | undefined;
|
|
188
|
+
}, {
|
|
189
|
+
readonly _tag: Tag;
|
|
190
|
+
}> | Extract<{
|
|
191
|
+
readonly _tag: "RequiresPasskeyEnrollment";
|
|
192
|
+
readonly flowId: AuthFlowId;
|
|
193
|
+
}, {
|
|
194
|
+
readonly _tag: Tag;
|
|
195
|
+
}> | Extract<{
|
|
196
|
+
readonly _tag: "RequiresExplicitLinking";
|
|
197
|
+
readonly flowId: AuthFlowId;
|
|
198
|
+
readonly provider: OAuthProviderId;
|
|
199
|
+
}, {
|
|
200
|
+
readonly _tag: Tag;
|
|
201
|
+
}> | Extract<{
|
|
202
|
+
readonly _tag: "InvalidCredentials";
|
|
203
|
+
}, {
|
|
204
|
+
readonly _tag: Tag;
|
|
205
|
+
}> | Extract<{
|
|
206
|
+
readonly _tag: "AccountDisabled";
|
|
207
|
+
}, {
|
|
208
|
+
readonly _tag: Tag;
|
|
209
|
+
}> | Extract<{
|
|
210
|
+
readonly _tag: "PolicyDenied";
|
|
211
|
+
readonly reason?: string | undefined;
|
|
212
|
+
}, {
|
|
213
|
+
readonly _tag: Tag;
|
|
214
|
+
}>;
|
|
215
|
+
readonly $match: {
|
|
216
|
+
<Cases extends {
|
|
217
|
+
readonly Authenticated: (args: {
|
|
218
|
+
readonly _tag: "Authenticated";
|
|
219
|
+
readonly session: IssuedSession;
|
|
220
|
+
}) => any;
|
|
221
|
+
readonly RequiresMfa: (args: {
|
|
222
|
+
readonly _tag: "RequiresMfa";
|
|
223
|
+
readonly flowId: AuthFlowId;
|
|
224
|
+
readonly factors: readonly MfaFactor[];
|
|
225
|
+
}) => any;
|
|
226
|
+
readonly RequiresEmailVerification: (args: {
|
|
227
|
+
readonly _tag: "RequiresEmailVerification";
|
|
228
|
+
readonly flowId: AuthFlowId;
|
|
229
|
+
readonly userId?: UserId | undefined;
|
|
230
|
+
readonly email?: Email | undefined;
|
|
231
|
+
}) => any;
|
|
232
|
+
readonly RequiresLoginApproval: (args: {
|
|
233
|
+
readonly _tag: "RequiresLoginApproval";
|
|
234
|
+
readonly flowId: AuthFlowId;
|
|
235
|
+
readonly approvalChallengeId: ChallengeId;
|
|
236
|
+
readonly channel: LoginApprovalChannel;
|
|
237
|
+
readonly sessionBinding: LoginApprovalSessionBinding;
|
|
238
|
+
readonly sameDeviceRequired: boolean;
|
|
239
|
+
readonly reason: LoginApprovalReason;
|
|
240
|
+
readonly expiresAt: UnixMillis;
|
|
241
|
+
readonly sameDeviceSecret?: Redacted.Redacted<string> | undefined;
|
|
242
|
+
}) => any;
|
|
243
|
+
readonly RequiresPasskeyEnrollment: (args: {
|
|
244
|
+
readonly _tag: "RequiresPasskeyEnrollment";
|
|
245
|
+
readonly flowId: AuthFlowId;
|
|
246
|
+
}) => any;
|
|
247
|
+
readonly RequiresExplicitLinking: (args: {
|
|
248
|
+
readonly _tag: "RequiresExplicitLinking";
|
|
249
|
+
readonly flowId: AuthFlowId;
|
|
250
|
+
readonly provider: OAuthProviderId;
|
|
251
|
+
}) => any;
|
|
252
|
+
readonly InvalidCredentials: (args: {
|
|
253
|
+
readonly _tag: "InvalidCredentials";
|
|
254
|
+
}) => any;
|
|
255
|
+
readonly AccountDisabled: (args: {
|
|
256
|
+
readonly _tag: "AccountDisabled";
|
|
257
|
+
}) => any;
|
|
258
|
+
readonly PolicyDenied: (args: {
|
|
259
|
+
readonly _tag: "PolicyDenied";
|
|
260
|
+
readonly reason?: string | undefined;
|
|
261
|
+
}) => any;
|
|
262
|
+
}>(cases: Cases): (value: {
|
|
263
|
+
readonly _tag: "Authenticated";
|
|
264
|
+
readonly session: IssuedSession;
|
|
265
|
+
} | {
|
|
266
|
+
readonly _tag: "RequiresMfa";
|
|
267
|
+
readonly flowId: AuthFlowId;
|
|
268
|
+
readonly factors: readonly MfaFactor[];
|
|
269
|
+
} | {
|
|
270
|
+
readonly _tag: "RequiresEmailVerification";
|
|
271
|
+
readonly flowId: AuthFlowId;
|
|
272
|
+
readonly userId?: UserId | undefined;
|
|
273
|
+
readonly email?: Email | undefined;
|
|
274
|
+
} | {
|
|
275
|
+
readonly _tag: "RequiresLoginApproval";
|
|
276
|
+
readonly flowId: AuthFlowId;
|
|
277
|
+
readonly approvalChallengeId: ChallengeId;
|
|
278
|
+
readonly channel: LoginApprovalChannel;
|
|
279
|
+
readonly sessionBinding: LoginApprovalSessionBinding;
|
|
280
|
+
readonly sameDeviceRequired: boolean;
|
|
281
|
+
readonly reason: LoginApprovalReason;
|
|
282
|
+
readonly expiresAt: UnixMillis;
|
|
283
|
+
readonly sameDeviceSecret?: Redacted.Redacted<string> | undefined;
|
|
284
|
+
} | {
|
|
285
|
+
readonly _tag: "RequiresPasskeyEnrollment";
|
|
286
|
+
readonly flowId: AuthFlowId;
|
|
287
|
+
} | {
|
|
288
|
+
readonly _tag: "RequiresExplicitLinking";
|
|
289
|
+
readonly flowId: AuthFlowId;
|
|
290
|
+
readonly provider: OAuthProviderId;
|
|
291
|
+
} | {
|
|
292
|
+
readonly _tag: "InvalidCredentials";
|
|
293
|
+
} | {
|
|
294
|
+
readonly _tag: "AccountDisabled";
|
|
295
|
+
} | {
|
|
296
|
+
readonly _tag: "PolicyDenied";
|
|
297
|
+
readonly reason?: string | undefined;
|
|
298
|
+
}) => import("effect/Unify").Unify<ReturnType<Cases["Authenticated" | "RequiresMfa" | "RequiresEmailVerification" | "RequiresLoginApproval" | "RequiresPasskeyEnrollment" | "RequiresExplicitLinking" | "InvalidCredentials" | "AccountDisabled" | "PolicyDenied"]>>;
|
|
299
|
+
<Cases extends {
|
|
300
|
+
readonly Authenticated: (args: {
|
|
301
|
+
readonly _tag: "Authenticated";
|
|
302
|
+
readonly session: IssuedSession;
|
|
303
|
+
}) => any;
|
|
304
|
+
readonly RequiresMfa: (args: {
|
|
305
|
+
readonly _tag: "RequiresMfa";
|
|
306
|
+
readonly flowId: AuthFlowId;
|
|
307
|
+
readonly factors: readonly MfaFactor[];
|
|
308
|
+
}) => any;
|
|
309
|
+
readonly RequiresEmailVerification: (args: {
|
|
310
|
+
readonly _tag: "RequiresEmailVerification";
|
|
311
|
+
readonly flowId: AuthFlowId;
|
|
312
|
+
readonly userId?: UserId | undefined;
|
|
313
|
+
readonly email?: Email | undefined;
|
|
314
|
+
}) => any;
|
|
315
|
+
readonly RequiresLoginApproval: (args: {
|
|
316
|
+
readonly _tag: "RequiresLoginApproval";
|
|
317
|
+
readonly flowId: AuthFlowId;
|
|
318
|
+
readonly approvalChallengeId: ChallengeId;
|
|
319
|
+
readonly channel: LoginApprovalChannel;
|
|
320
|
+
readonly sessionBinding: LoginApprovalSessionBinding;
|
|
321
|
+
readonly sameDeviceRequired: boolean;
|
|
322
|
+
readonly reason: LoginApprovalReason;
|
|
323
|
+
readonly expiresAt: UnixMillis;
|
|
324
|
+
readonly sameDeviceSecret?: Redacted.Redacted<string> | undefined;
|
|
325
|
+
}) => any;
|
|
326
|
+
readonly RequiresPasskeyEnrollment: (args: {
|
|
327
|
+
readonly _tag: "RequiresPasskeyEnrollment";
|
|
328
|
+
readonly flowId: AuthFlowId;
|
|
329
|
+
}) => any;
|
|
330
|
+
readonly RequiresExplicitLinking: (args: {
|
|
331
|
+
readonly _tag: "RequiresExplicitLinking";
|
|
332
|
+
readonly flowId: AuthFlowId;
|
|
333
|
+
readonly provider: OAuthProviderId;
|
|
334
|
+
}) => any;
|
|
335
|
+
readonly InvalidCredentials: (args: {
|
|
336
|
+
readonly _tag: "InvalidCredentials";
|
|
337
|
+
}) => any;
|
|
338
|
+
readonly AccountDisabled: (args: {
|
|
339
|
+
readonly _tag: "AccountDisabled";
|
|
340
|
+
}) => any;
|
|
341
|
+
readonly PolicyDenied: (args: {
|
|
342
|
+
readonly _tag: "PolicyDenied";
|
|
343
|
+
readonly reason?: string | undefined;
|
|
344
|
+
}) => any;
|
|
345
|
+
}>(value: {
|
|
346
|
+
readonly _tag: "Authenticated";
|
|
347
|
+
readonly session: IssuedSession;
|
|
348
|
+
} | {
|
|
349
|
+
readonly _tag: "RequiresMfa";
|
|
350
|
+
readonly flowId: AuthFlowId;
|
|
351
|
+
readonly factors: readonly MfaFactor[];
|
|
352
|
+
} | {
|
|
353
|
+
readonly _tag: "RequiresEmailVerification";
|
|
354
|
+
readonly flowId: AuthFlowId;
|
|
355
|
+
readonly userId?: UserId | undefined;
|
|
356
|
+
readonly email?: Email | undefined;
|
|
357
|
+
} | {
|
|
358
|
+
readonly _tag: "RequiresLoginApproval";
|
|
359
|
+
readonly flowId: AuthFlowId;
|
|
360
|
+
readonly approvalChallengeId: ChallengeId;
|
|
361
|
+
readonly channel: LoginApprovalChannel;
|
|
362
|
+
readonly sessionBinding: LoginApprovalSessionBinding;
|
|
363
|
+
readonly sameDeviceRequired: boolean;
|
|
364
|
+
readonly reason: LoginApprovalReason;
|
|
365
|
+
readonly expiresAt: UnixMillis;
|
|
366
|
+
readonly sameDeviceSecret?: Redacted.Redacted<string> | undefined;
|
|
367
|
+
} | {
|
|
368
|
+
readonly _tag: "RequiresPasskeyEnrollment";
|
|
369
|
+
readonly flowId: AuthFlowId;
|
|
370
|
+
} | {
|
|
371
|
+
readonly _tag: "RequiresExplicitLinking";
|
|
372
|
+
readonly flowId: AuthFlowId;
|
|
373
|
+
readonly provider: OAuthProviderId;
|
|
374
|
+
} | {
|
|
375
|
+
readonly _tag: "InvalidCredentials";
|
|
376
|
+
} | {
|
|
377
|
+
readonly _tag: "AccountDisabled";
|
|
378
|
+
} | {
|
|
379
|
+
readonly _tag: "PolicyDenied";
|
|
380
|
+
readonly reason?: string | undefined;
|
|
381
|
+
}, cases: Cases): import("effect/Unify").Unify<ReturnType<Cases["Authenticated" | "RequiresMfa" | "RequiresEmailVerification" | "RequiresLoginApproval" | "RequiresPasskeyEnrollment" | "RequiresExplicitLinking" | "InvalidCredentials" | "AccountDisabled" | "PolicyDenied"]>>;
|
|
382
|
+
};
|
|
43
383
|
};
|
|
44
|
-
|
|
45
|
-
readonly _tag:
|
|
384
|
+
export type AuthResultOf<Tag extends AuthResult["_tag"]> = Extract<AuthResult, {
|
|
385
|
+
readonly _tag: Tag;
|
|
386
|
+
}>;
|
|
387
|
+
export type AuthenticatedResult = AuthResultOf<"Authenticated">;
|
|
388
|
+
type CommonPrimaryFactorResult = AuthResultOf<"Authenticated" | "RequiresMfa" | "RequiresEmailVerification" | "RequiresLoginApproval" | "RequiresPasskeyEnrollment" | "PolicyDenied">;
|
|
389
|
+
export type AuthFlowPrimaryFactorResult<Method extends AuthMethod = AuthMethod> = CommonPrimaryFactorResult | (Method extends "oauth" ? AuthResultOf<"RequiresExplicitLinking"> : never);
|
|
390
|
+
export type AuthFlowMfaResult = AuthResultOf<"Authenticated" | "PolicyDenied">;
|
|
391
|
+
declare const AuthFlowStateError_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }>) => import("effect/Cause").YieldableError & {
|
|
392
|
+
readonly _tag: "AuthFlowStateError";
|
|
46
393
|
} & Readonly<A>;
|
|
47
|
-
export declare class
|
|
394
|
+
export declare class AuthFlowStateError extends AuthFlowStateError_base<{
|
|
48
395
|
readonly message: string;
|
|
49
396
|
readonly cause?: unknown;
|
|
50
397
|
}> {
|
|
51
398
|
}
|
|
399
|
+
export interface AuthFlowStateStartInput<Method extends AuthMethod = AuthMethod> extends AuthFlowCompleteInput<Method> {
|
|
400
|
+
readonly ttl?: Duration.Duration;
|
|
401
|
+
readonly secret?: Redacted.Redacted<string>;
|
|
402
|
+
readonly metadata?: Readonly<Record<string, unknown>>;
|
|
403
|
+
}
|
|
404
|
+
export interface StartedAuthFlowState {
|
|
405
|
+
readonly flowId: AuthFlowId;
|
|
406
|
+
readonly userId: UserId;
|
|
407
|
+
readonly expiresAt: UnixMillis;
|
|
408
|
+
}
|
|
409
|
+
export interface ConsumedAuthFlowState<Method extends AuthMethod = AuthMethod> extends AuthFlowCompleteInput<Method> {
|
|
410
|
+
readonly flowId: AuthFlowId;
|
|
411
|
+
readonly metadata?: Readonly<Record<string, unknown>>;
|
|
412
|
+
}
|
|
413
|
+
export interface InspectedAuthFlowState<Method extends AuthMethod = AuthMethod> extends ConsumedAuthFlowState<Method> {
|
|
414
|
+
readonly expiresAt: UnixMillis;
|
|
415
|
+
}
|
|
416
|
+
export interface AuthFlowStateService {
|
|
417
|
+
readonly start: <Method extends AuthMethod>(input: AuthFlowStateStartInput<Method>) => Effect.Effect<StartedAuthFlowState, AuthFlowStateError>;
|
|
418
|
+
readonly inspect: (flowId: AuthFlowId, secret?: Redacted.Redacted<string>) => Effect.Effect<InspectedAuthFlowState, AuthFlowStateError>;
|
|
419
|
+
readonly consume: (flowId: AuthFlowId, secret?: Redacted.Redacted<string>) => Effect.Effect<ConsumedAuthFlowState, AuthFlowStateError>;
|
|
420
|
+
}
|
|
421
|
+
declare const AuthFlowState_base: Context.ServiceClass<AuthFlowState, "auth/AuthFlowState", AuthFlowStateService>;
|
|
422
|
+
export declare class AuthFlowState extends AuthFlowState_base {
|
|
423
|
+
}
|
|
424
|
+
export declare namespace AuthFlowState {
|
|
425
|
+
const make: (service: AuthFlowStateService) => AuthFlowStateService;
|
|
426
|
+
}
|
|
427
|
+
export interface AuthFlowStateOptions {
|
|
428
|
+
readonly ttl?: Duration.Duration;
|
|
429
|
+
}
|
|
430
|
+
export interface AuthFlowStateDependencies extends AuthFlowStateOptions {
|
|
431
|
+
readonly challenge: ChallengeService;
|
|
432
|
+
}
|
|
433
|
+
export declare const defaultAuthFlowStateTtl: Duration.Duration;
|
|
434
|
+
export declare const makeAuthFlowState: (dependencies: AuthFlowStateDependencies) => AuthFlowStateService;
|
|
435
|
+
export declare const AuthFlowStateLive: (options?: AuthFlowStateOptions) => Layer.Layer<AuthFlowState, never, Challenge>;
|
|
436
|
+
export type AuthFlowCompleteError = SessionCreateError;
|
|
437
|
+
export type AuthFlowMfaError = AuthFlowStateError | AuthFlowCompleteError;
|
|
438
|
+
export type AuthFlowPrimaryFactorError = AuthFlowCompleteError | TrustedDeviceError | LoginRiskError | AuthFlowStateError | LoginApprovalReviewError | LoginApprovalFlowStartError;
|
|
439
|
+
export type AuthFlowError = AuthFlowPrimaryFactorError;
|
|
52
440
|
export interface AuthFlowService {
|
|
53
|
-
readonly startPrimaryFactor: (input: PrimaryFactorResult) => Effect.Effect<
|
|
54
|
-
readonly completePrimaryFactor: (input: PrimaryFactorResult) => Effect.Effect<
|
|
55
|
-
readonly completeMfa: (input: MfaCompleteInput) => Effect.Effect<
|
|
56
|
-
readonly complete: (input: AuthFlowCompleteInput) => Effect.Effect<
|
|
441
|
+
readonly startPrimaryFactor: <Method extends AuthMethod>(input: PrimaryFactorResult<Method>) => Effect.Effect<AuthFlowPrimaryFactorResult<Method>, AuthFlowPrimaryFactorError>;
|
|
442
|
+
readonly completePrimaryFactor: <Method extends AuthMethod>(input: PrimaryFactorResult<Method>) => Effect.Effect<AuthFlowPrimaryFactorResult<Method>, AuthFlowPrimaryFactorError>;
|
|
443
|
+
readonly completeMfa: (input: MfaCompleteInput) => Effect.Effect<AuthFlowMfaResult, AuthFlowMfaError>;
|
|
444
|
+
readonly complete: <Method extends AuthMethod>(input: AuthFlowCompleteInput<Method>) => Effect.Effect<AuthenticatedResult, AuthFlowCompleteError>;
|
|
57
445
|
}
|
|
58
446
|
declare const AuthFlow_base: Context.ServiceClass<AuthFlow, "auth/AuthFlow", AuthFlowService>;
|
|
59
447
|
export declare class AuthFlow extends AuthFlow_base {
|
|
@@ -61,6 +449,44 @@ export declare class AuthFlow extends AuthFlow_base {
|
|
|
61
449
|
export declare namespace AuthFlow {
|
|
62
450
|
const make: (service: AuthFlowService) => AuthFlowService;
|
|
63
451
|
}
|
|
64
|
-
export
|
|
452
|
+
export interface LoginApprovalFinalizeInput {
|
|
453
|
+
readonly flowId: AuthFlowId;
|
|
454
|
+
readonly approvalChallengeId: ChallengeId;
|
|
455
|
+
readonly sameDeviceSecret?: Redacted.Redacted<string>;
|
|
456
|
+
}
|
|
457
|
+
export type LoginApprovalFinalizeResult = AuthenticatedResult | AuthResultOf<"PolicyDenied">;
|
|
458
|
+
export type LoginApprovalFinalizeError = LoginApprovalReviewError | AuthFlowStateError | AuthFlowCompleteError;
|
|
459
|
+
export interface LoginApprovalFinalizeService {
|
|
460
|
+
readonly complete: (input: LoginApprovalFinalizeInput) => Effect.Effect<LoginApprovalFinalizeResult, LoginApprovalFinalizeError>;
|
|
461
|
+
}
|
|
462
|
+
declare const LoginApprovalFinalize_base: Context.ServiceClass<LoginApprovalFinalize, "auth/LoginApprovalFinalize", LoginApprovalFinalizeService>;
|
|
463
|
+
export declare class LoginApprovalFinalize extends LoginApprovalFinalize_base {
|
|
464
|
+
}
|
|
465
|
+
export declare namespace LoginApprovalFinalize {
|
|
466
|
+
const make: (service: LoginApprovalFinalizeService) => LoginApprovalFinalizeService;
|
|
467
|
+
}
|
|
468
|
+
export interface LoginApprovalFinalizeDependencies {
|
|
469
|
+
readonly loginApprovalReview: LoginApprovalReviewService;
|
|
470
|
+
readonly authFlowState: AuthFlowStateService;
|
|
471
|
+
readonly authFlow: AuthFlowService;
|
|
472
|
+
}
|
|
473
|
+
export declare const makeLoginApprovalFinalize: (dependencies: LoginApprovalFinalizeDependencies) => LoginApprovalFinalizeService;
|
|
474
|
+
export declare const LoginApprovalFinalizeLive: Layer.Layer<LoginApprovalFinalize, never, LoginApprovalReview | AuthFlowState | AuthFlow>;
|
|
475
|
+
export interface AuthFlowDependencies {
|
|
476
|
+
readonly sessions: SessionsService;
|
|
477
|
+
readonly emailVerificationSessionPolicy?: EmailVerificationSessionPolicyService;
|
|
478
|
+
readonly loginApprovalPolicy?: LoginApprovalPolicyService;
|
|
479
|
+
readonly loginApprovalFlow?: LoginApprovalFlowService;
|
|
480
|
+
readonly authFlowState?: AuthFlowStateService;
|
|
481
|
+
readonly crypto?: CryptoService;
|
|
482
|
+
readonly trustedDevice?: TrustedDeviceService;
|
|
483
|
+
readonly loginRiskEngine?: LoginRiskEngineService;
|
|
484
|
+
readonly loginApprovalReview?: LoginApprovalReviewService;
|
|
485
|
+
readonly loginNotification?: LoginNotificationService;
|
|
486
|
+
readonly loginApprovalSameDeviceSecretBytes?: number;
|
|
487
|
+
}
|
|
488
|
+
export declare const makeAuthFlow: (dependencies: AuthFlowDependencies) => AuthFlowService;
|
|
489
|
+
export declare const AuthFlowLive: Layer.Layer<AuthFlow, never, Sessions>;
|
|
490
|
+
export declare const AuthFlowLiveWithEmailVerificationPolicy: (options?: EmailVerificationSessionPolicyOptions) => Layer.Layer<AuthFlow, never, Sessions>;
|
|
65
491
|
export {};
|
|
66
492
|
//# sourceMappingURL=AuthFlow.d.ts.map
|
package/dist/AuthFlow.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AuthFlow.d.ts","sourceRoot":"","sources":["../src/AuthFlow.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"AuthFlow.d.ts","sourceRoot":"","sources":["../src/AuthFlow.ts"],"names":[],"mappings":"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"}
|