@effect-auth/core 0.1.0-alpha.10 → 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.
Files changed (93) hide show
  1. package/README.md +65 -4
  2. package/dist/AuditLog.d.ts +60 -0
  3. package/dist/AuditLog.d.ts.map +1 -1
  4. package/dist/AuditLog.js +105 -0
  5. package/dist/AuditLog.js.map +1 -1
  6. package/dist/AuthKernel.d.ts +1 -1
  7. package/dist/Client.d.ts +72 -1
  8. package/dist/Client.d.ts.map +1 -1
  9. package/dist/Client.js +218 -1
  10. package/dist/Client.js.map +1 -1
  11. package/dist/DomainVerification.d.ts +200 -0
  12. package/dist/DomainVerification.d.ts.map +1 -0
  13. package/dist/DomainVerification.js +304 -0
  14. package/dist/DomainVerification.js.map +1 -0
  15. package/dist/EffectQbSqliteStorage.d.ts +389 -4
  16. package/dist/EffectQbSqliteStorage.d.ts.map +1 -1
  17. package/dist/EffectQbSqliteStorage.js +1191 -4
  18. package/dist/EffectQbSqliteStorage.js.map +1 -1
  19. package/dist/EmailOtp.d.ts +2 -2
  20. package/dist/HttpApi/Api.d.ts +477 -23
  21. package/dist/HttpApi/Api.d.ts.map +1 -1
  22. package/dist/HttpApi/Api.js +705 -4
  23. package/dist/HttpApi/Api.js.map +1 -1
  24. package/dist/HttpApi/Endpoints.d.ts +133 -5
  25. package/dist/HttpApi/Endpoints.d.ts.map +1 -1
  26. package/dist/HttpApi/Endpoints.js +57 -2
  27. package/dist/HttpApi/Endpoints.js.map +1 -1
  28. package/dist/HttpApi/Errors.d.ts +32 -0
  29. package/dist/HttpApi/Errors.d.ts.map +1 -1
  30. package/dist/HttpApi/Errors.js +46 -0
  31. package/dist/HttpApi/Errors.js.map +1 -1
  32. package/dist/HttpApi/Schemas.d.ts +149 -8
  33. package/dist/HttpApi/Schemas.d.ts.map +1 -1
  34. package/dist/HttpApi/Schemas.js +128 -0
  35. package/dist/HttpApi/Schemas.js.map +1 -1
  36. package/dist/Identifiers.d.ts +3 -0
  37. package/dist/Identifiers.d.ts.map +1 -1
  38. package/dist/Identifiers.js +2 -0
  39. package/dist/Identifiers.js.map +1 -1
  40. package/dist/IncidentAction.d.ts +80 -0
  41. package/dist/IncidentAction.d.ts.map +1 -0
  42. package/dist/IncidentAction.js +158 -0
  43. package/dist/IncidentAction.js.map +1 -0
  44. package/dist/Jwt.d.ts +10 -0
  45. package/dist/Jwt.d.ts.map +1 -1
  46. package/dist/Jwt.js +209 -0
  47. package/dist/Jwt.js.map +1 -1
  48. package/dist/LoginNotification.d.ts +1 -1
  49. package/dist/LoginRisk.d.ts +272 -1
  50. package/dist/LoginRisk.d.ts.map +1 -1
  51. package/dist/LoginRisk.js +427 -0
  52. package/dist/LoginRisk.js.map +1 -1
  53. package/dist/MachineAuth.d.ts +73 -0
  54. package/dist/MachineAuth.d.ts.map +1 -0
  55. package/dist/MachineAuth.js +147 -0
  56. package/dist/MachineAuth.js.map +1 -0
  57. package/dist/MagicLink.d.ts +2 -2
  58. package/dist/OAuth.d.ts +957 -1
  59. package/dist/OAuth.d.ts.map +1 -1
  60. package/dist/OAuth.js +1403 -1
  61. package/dist/OAuth.js.map +1 -1
  62. package/dist/Password.d.ts +2 -2
  63. package/dist/Retention.d.ts +98 -0
  64. package/dist/Retention.d.ts.map +1 -0
  65. package/dist/Retention.js +204 -0
  66. package/dist/Retention.js.map +1 -0
  67. package/dist/SecurityTimeline.d.ts +8 -2
  68. package/dist/SecurityTimeline.d.ts.map +1 -1
  69. package/dist/SecurityTimeline.js +75 -0
  70. package/dist/SecurityTimeline.js.map +1 -1
  71. package/dist/StorageMigrations.d.ts +11 -1
  72. package/dist/StorageMigrations.d.ts.map +1 -1
  73. package/dist/StorageMigrations.js +206 -0
  74. package/dist/StorageMigrations.js.map +1 -1
  75. package/dist/Webhook.d.ts +310 -2
  76. package/dist/Webhook.d.ts.map +1 -1
  77. package/dist/Webhook.js +511 -1
  78. package/dist/Webhook.js.map +1 -1
  79. package/dist/index.d.ts +4 -0
  80. package/dist/index.d.ts.map +1 -1
  81. package/dist/index.js +4 -0
  82. package/dist/index.js.map +1 -1
  83. package/migrations/0014_auth_webhook_outbox.sql +16 -0
  84. package/migrations/0015_auth_webhook_replay.sql +7 -0
  85. package/migrations/0016_auth_login_risk_history.sql +23 -0
  86. package/migrations/0017_auth_audit_log.sql +17 -0
  87. package/migrations/0018_auth_domain_verification.sql +18 -0
  88. package/migrations/0019_auth_oauth_authorization_code.sql +17 -0
  89. package/migrations/0020_auth_oauth_provider_mode_token.sql +24 -0
  90. package/migrations/0021_auth_oauth_client_secret.sql +14 -0
  91. package/migrations/0022_auth_oauth_client.sql +15 -0
  92. package/migrations/0023_auth_oauth_consent.sql +15 -0
  93. package/package.json +17 -1
@@ -0,0 +1,147 @@
1
+ import { Data, Effect, Redacted } from "effect";
2
+ export class MachineAuthError extends Data.TaggedError("MachineAuthError") {
3
+ }
4
+ export const bearerToken = (headers) => {
5
+ const authorization = headers.get("authorization");
6
+ if (authorization === null) {
7
+ return undefined;
8
+ }
9
+ const [scheme, token] = authorization.trim().split(/\s+/, 2);
10
+ return scheme?.toLowerCase() === "bearer" && token !== undefined && token !== ""
11
+ ? token
12
+ : undefined;
13
+ };
14
+ export const apiKeyPrefixFromSecret = (secret) => {
15
+ const separator = secret.indexOf(".");
16
+ return separator > 0 ? secret.slice(0, separator) : "malformed";
17
+ };
18
+ export const jwtClaimScopes = (claims) => {
19
+ const { scope, scopes } = claims;
20
+ if (typeof scope === "string") {
21
+ return scope.split(/\s+/).filter((value) => value.length > 0);
22
+ }
23
+ return Array.isArray(scopes) &&
24
+ scopes.every((value) => typeof value === "string")
25
+ ? scopes
26
+ : [];
27
+ };
28
+ const nonEmptyStringField = (record, key) => {
29
+ if (key === undefined) {
30
+ return undefined;
31
+ }
32
+ const value = record?.[key];
33
+ return typeof value === "string" && value.length > 0 ? value : undefined;
34
+ };
35
+ const machineActorMetadataFields = (record, options, defaults) => {
36
+ const tenantId = nonEmptyStringField(record, options.tenantIdField ?? defaults.tenantIdField);
37
+ const serviceAccountId = nonEmptyStringField(record, options.serviceAccountIdField ?? defaults.serviceAccountIdField);
38
+ return {
39
+ ...(tenantId === undefined ? {} : { tenantId }),
40
+ ...(serviceAccountId === undefined ? {} : { serviceAccountId }),
41
+ };
42
+ };
43
+ export const apiKeyMachineActor = (key, options = {}) => ({
44
+ kind: "api_key",
45
+ userId: key.userId,
46
+ keyId: key.id,
47
+ scopes: key.scopes,
48
+ key,
49
+ ...machineActorMetadataFields(key.metadata, options, {
50
+ tenantIdField: "tenantId",
51
+ serviceAccountIdField: "serviceAccountId",
52
+ }),
53
+ });
54
+ export const jwtMachineActor = (input, options = {}) => {
55
+ const jwtId = typeof input.claims.jti === "string" && input.claims.jti.length > 0
56
+ ? input.claims.jti
57
+ : undefined;
58
+ return {
59
+ kind: "jwt",
60
+ subject: input.claims.sub,
61
+ scopes: input.scopes ?? jwtClaimScopes(input.claims),
62
+ claims: input.claims,
63
+ key: input.key,
64
+ ...(jwtId === undefined ? {} : { jwtId }),
65
+ ...machineActorMetadataFields(input.claims, options, {
66
+ tenantIdField: "tenant_id",
67
+ serviceAccountIdField: "service_account_id",
68
+ }),
69
+ };
70
+ };
71
+ const missingScopes = (actorScopes, requiredScopes) => (requiredScopes ?? []).filter((scope) => !actorScopes.includes(scope));
72
+ export const requireMachineScopes = (input) => {
73
+ const missing = missingScopes(input.actor.scopes, input.scopes);
74
+ return missing.length === 0
75
+ ? Effect.succeed(input.actor)
76
+ : Effect.fail(new MachineAuthError({
77
+ reason: "missing_scope",
78
+ message: "Machine credential is missing a required scope",
79
+ }));
80
+ };
81
+ export const verifyMachineApiKey = (options) => Effect.gen(function* () {
82
+ const secret = bearerToken(options.headers);
83
+ if (secret === undefined) {
84
+ return yield* new MachineAuthError({
85
+ reason: "missing_bearer",
86
+ message: "Missing bearer token",
87
+ });
88
+ }
89
+ const result = yield* options.apiKeyVerification
90
+ .verify({
91
+ secret: Redacted.make(secret),
92
+ ...(options.now === undefined ? {} : { now: options.now }),
93
+ ...(options.verificationMetadata === undefined
94
+ ? {}
95
+ : { metadata: options.verificationMetadata }),
96
+ })
97
+ .pipe(Effect.mapError((cause) => new MachineAuthError({
98
+ reason: "verification_failed",
99
+ message: "Failed to verify machine API key",
100
+ cause,
101
+ })));
102
+ if (!result.valid || result.key === undefined) {
103
+ return yield* new MachineAuthError({
104
+ reason: "invalid_api_key",
105
+ message: "Invalid API key bearer token",
106
+ });
107
+ }
108
+ return yield* requireMachineScopes({
109
+ actor: apiKeyMachineActor(result.key, options),
110
+ scopes: options.requiredScopes ?? [],
111
+ });
112
+ });
113
+ export const verifyMachineJwt = (options) => Effect.gen(function* () {
114
+ const token = bearerToken(options.headers);
115
+ if (token === undefined) {
116
+ return yield* new MachineAuthError({
117
+ reason: "missing_bearer",
118
+ message: "Missing bearer token",
119
+ });
120
+ }
121
+ const result = yield* options.jwtVerifier
122
+ .verify({
123
+ token: Redacted.make(token),
124
+ ...(options.issuer === undefined ? {} : { issuer: options.issuer }),
125
+ ...(options.audience === undefined ? {} : { audience: options.audience }),
126
+ ...(options.now === undefined ? {} : { now: options.now }),
127
+ ...(options.clockTolerance === undefined
128
+ ? {}
129
+ : { clockTolerance: options.clockTolerance }),
130
+ })
131
+ .pipe(Effect.mapError((cause) => new MachineAuthError({
132
+ reason: "verification_failed",
133
+ message: "Failed to verify machine JWT",
134
+ cause,
135
+ })));
136
+ if (!result.valid) {
137
+ return yield* new MachineAuthError({
138
+ reason: "invalid_jwt",
139
+ message: "Invalid JWT bearer token",
140
+ });
141
+ }
142
+ return yield* requireMachineScopes({
143
+ actor: jwtMachineActor(result, options),
144
+ scopes: options.requiredScopes ?? [],
145
+ });
146
+ });
147
+ //# sourceMappingURL=MachineAuth.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MachineAuth.js","sourceRoot":"","sources":["../src/MachineAuth.ts"],"names":[],"mappings":"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"}
@@ -79,7 +79,7 @@ export interface MagicLinkDependencies extends MagicLinkOptions {
79
79
  export declare const defaultMagicLinkTtl: Duration.Duration;
80
80
  export declare const defaultMagicLinkSecretBytes = 32;
81
81
  export declare const makeMagicLinkLogin: (dependencies: MagicLinkDependencies) => MagicLinkLoginService;
82
- export declare const MagicLinkLoginLive: (options: MagicLinkOptions) => Layer.Layer<MagicLinkLogin, never, Crypto | UserStore | AuthMailer | Challenge | AuthFlow>;
83
- export declare const MagicLinkFeatureLive: (options: MagicLinkOptions) => Layer.Layer<MagicLinkLogin, never, Crypto | UserStore | AuthMailer | Challenge | AuthFlow>;
82
+ export declare const MagicLinkLoginLive: (options: MagicLinkOptions) => Layer.Layer<MagicLinkLogin, never, Crypto | UserStore | Challenge | AuthMailer | AuthFlow>;
83
+ export declare const MagicLinkFeatureLive: (options: MagicLinkOptions) => Layer.Layer<MagicLinkLogin, never, Crypto | UserStore | Challenge | AuthMailer | AuthFlow>;
84
84
  export {};
85
85
  //# sourceMappingURL=MagicLink.d.ts.map