@effect-auth/core 0.1.0-alpha.10 → 0.1.0-alpha.14

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 +18 -2
@@ -1 +1 @@
1
- {"version":3,"file":"Identifiers.js","sourceRoot":"","sources":["../src/Identifiers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Identifiers.js","sourceRoot":"","sources":["../src/Identifiers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,80 @@
1
+ import { Context, Effect, Layer } from "effect";
2
+ import { type ApiKeyId, type ApiKeyManagementService } from "./ApiKey.js";
3
+ import { type RefreshTokenFamilyId, type RefreshTokenId, type RefreshTokenManagementService } from "./RefreshToken.js";
4
+ import type { SessionId, UnixMillis, UserId } from "./Identifiers.js";
5
+ import { type SessionsService } from "./Sessions.js";
6
+ import { type TrustedDeviceStoreService } from "./TrustedDevice.js";
7
+ export type IncidentActionOperation = "contain_user" | "revoke_sessions" | "revoke_trusted_devices" | "revoke_api_keys" | "revoke_refresh_tokens";
8
+ declare const IncidentActionError_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }>) => import("effect/Cause").YieldableError & {
9
+ readonly _tag: "IncidentActionError";
10
+ } & Readonly<A>;
11
+ export declare class IncidentActionError extends IncidentActionError_base<{
12
+ readonly operation: IncidentActionOperation;
13
+ readonly message: string;
14
+ readonly cause?: unknown;
15
+ }> {
16
+ }
17
+ export interface IncidentActionUserInput {
18
+ readonly userId: UserId;
19
+ readonly reason?: string;
20
+ readonly now?: UnixMillis;
21
+ }
22
+ export interface IncidentContainUserActions {
23
+ readonly revokeSessions?: boolean;
24
+ readonly revokeTrustedDevices?: boolean;
25
+ readonly revokeApiKeys?: boolean;
26
+ readonly revokeRefreshTokens?: boolean;
27
+ }
28
+ export interface IncidentContainUserInput extends IncidentActionUserInput {
29
+ readonly actions: IncidentContainUserActions;
30
+ }
31
+ export interface IncidentSessionActionSummary {
32
+ readonly revokedAll: true;
33
+ readonly activeBefore: number;
34
+ readonly sessionIds: readonly SessionId[];
35
+ }
36
+ export interface IncidentTrustedDeviceActionSummary {
37
+ readonly revoked: number;
38
+ readonly deviceIds: readonly string[];
39
+ }
40
+ export interface IncidentApiKeyActionSummary {
41
+ readonly revoked: number;
42
+ readonly keyIds: readonly ApiKeyId[];
43
+ }
44
+ export interface IncidentRefreshTokenActionSummary {
45
+ readonly revokedFamilies: number;
46
+ readonly activeBefore: number;
47
+ readonly tokenIds: readonly RefreshTokenId[];
48
+ readonly familyIds: readonly RefreshTokenFamilyId[];
49
+ }
50
+ export interface IncidentActionResult {
51
+ readonly userId: UserId;
52
+ readonly reason?: string;
53
+ readonly sessions?: IncidentSessionActionSummary;
54
+ readonly trustedDevices?: IncidentTrustedDeviceActionSummary;
55
+ readonly apiKeys?: IncidentApiKeyActionSummary;
56
+ readonly refreshTokens?: IncidentRefreshTokenActionSummary;
57
+ }
58
+ export interface IncidentActionService {
59
+ readonly revokeUserSessions: (input: IncidentActionUserInput) => Effect.Effect<IncidentActionResult, IncidentActionError>;
60
+ readonly revokeTrustedDevices: (input: IncidentActionUserInput) => Effect.Effect<IncidentActionResult, IncidentActionError>;
61
+ readonly revokeApiKeys: (input: IncidentActionUserInput) => Effect.Effect<IncidentActionResult, IncidentActionError>;
62
+ readonly revokeRefreshTokens: (input: IncidentActionUserInput) => Effect.Effect<IncidentActionResult, IncidentActionError>;
63
+ readonly containUser: (input: IncidentContainUserInput) => Effect.Effect<IncidentActionResult, IncidentActionError>;
64
+ }
65
+ declare const IncidentAction_base: Context.ServiceClass<IncidentAction, "auth/IncidentAction", IncidentActionService>;
66
+ export declare class IncidentAction extends IncidentAction_base {
67
+ }
68
+ export declare namespace IncidentAction {
69
+ const make: (service: IncidentActionService) => IncidentActionService;
70
+ }
71
+ export interface IncidentActionDependencies {
72
+ readonly sessions?: SessionsService;
73
+ readonly trustedDevices?: TrustedDeviceStoreService;
74
+ readonly apiKeys?: ApiKeyManagementService;
75
+ readonly refreshTokens?: RefreshTokenManagementService;
76
+ }
77
+ export declare const makeIncidentAction: (dependencies: IncidentActionDependencies) => IncidentActionService;
78
+ export declare const IncidentActionLive: Layer.Layer<IncidentAction, never, never>;
79
+ export {};
80
+ //# sourceMappingURL=IncidentAction.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IncidentAction.d.ts","sourceRoot":"","sources":["../src/IncidentAction.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,158 @@
1
+ import { Context, Data, Effect, Layer } from "effect";
2
+ import { ApiKeyManagement, } from "./ApiKey.js";
3
+ import { RefreshTokenManagement, } from "./RefreshToken.js";
4
+ import { currentUnixMillis } from "./Internal.js";
5
+ import { Sessions, } from "./Sessions.js";
6
+ import { TrustedDeviceStore, } from "./TrustedDevice.js";
7
+ export class IncidentActionError extends Data.TaggedError("IncidentActionError") {
8
+ }
9
+ export class IncidentAction extends Context.Service()("auth/IncidentAction") {
10
+ }
11
+ (function (IncidentAction) {
12
+ IncidentAction.make = (service) => IncidentAction.of(service);
13
+ })(IncidentAction || (IncidentAction = {}));
14
+ const incidentActionError = (operation, message, cause) => new IncidentActionError({
15
+ operation,
16
+ message,
17
+ ...(cause === undefined ? {} : { cause }),
18
+ });
19
+ const requireDependency = (dependency, operation, name) => dependency === undefined
20
+ ? Effect.fail(incidentActionError(operation, `${name} dependency is not available`))
21
+ : Effect.succeed(dependency);
22
+ const actionNow = (input) => input.now === undefined ? currentUnixMillis : Effect.succeed(input.now);
23
+ const resultBase = (input) => ({
24
+ userId: input.userId,
25
+ ...(input.reason === undefined ? {} : { reason: input.reason }),
26
+ });
27
+ const unique = (items) => [...new Set(items)];
28
+ export const makeIncidentAction = (dependencies) => {
29
+ const revokeSessionsSummary = Effect.fn("auth.incident_action.revoke_sessions")(function* (input) {
30
+ const sessions = yield* requireDependency(dependencies.sessions, "revoke_sessions", "Sessions");
31
+ const activeSessions = yield* sessions.listForUser({ userId: input.userId }).pipe(Effect.mapError((cause) => incidentActionError("revoke_sessions", "Failed to list user sessions before incident action", cause)));
32
+ yield* sessions.revokeAllForUser(input.userId).pipe(Effect.mapError((cause) => incidentActionError("revoke_sessions", "Failed to revoke user sessions", cause)));
33
+ return {
34
+ revokedAll: true,
35
+ activeBefore: activeSessions.length,
36
+ sessionIds: activeSessions.map((session) => session.sessionId),
37
+ };
38
+ });
39
+ const revokeTrustedDevicesSummary = Effect.fn("auth.incident_action.revoke_trusted_devices")(function* (input) {
40
+ const trustedDevices = yield* requireDependency(dependencies.trustedDevices, "revoke_trusted_devices", "TrustedDeviceStore");
41
+ const now = yield* actionNow(input);
42
+ const devices = yield* trustedDevices
43
+ .listForUser({ userId: input.userId, now })
44
+ .pipe(Effect.mapError((cause) => incidentActionError("revoke_trusted_devices", "Failed to list trusted devices before incident action", cause)));
45
+ yield* Effect.forEach(devices, (device) => trustedDevices
46
+ .revokeForUser({ userId: input.userId, tokenHash: device.tokenHash })
47
+ .pipe(Effect.mapError((cause) => incidentActionError("revoke_trusted_devices", "Failed to revoke trusted device", cause))), { discard: true });
48
+ return {
49
+ revoked: devices.length,
50
+ deviceIds: devices.map((device) => device.tokenHash),
51
+ };
52
+ });
53
+ const revokeApiKeysSummary = Effect.fn("auth.incident_action.revoke_api_keys")(function* (input) {
54
+ const apiKeys = yield* requireDependency(dependencies.apiKeys, "revoke_api_keys", "ApiKeyManagement");
55
+ const now = yield* actionNow(input);
56
+ const keys = yield* apiKeys
57
+ .listForUser({ userId: input.userId, includeRevoked: false })
58
+ .pipe(Effect.mapError((cause) => incidentActionError("revoke_api_keys", "Failed to list API keys before incident action", cause)));
59
+ yield* Effect.forEach(keys, (key) => apiKeys
60
+ .revokeForUser({
61
+ userId: input.userId,
62
+ keyId: key.id,
63
+ revokedAt: now,
64
+ reason: input.reason,
65
+ })
66
+ .pipe(Effect.mapError((cause) => incidentActionError("revoke_api_keys", "Failed to revoke API key", cause))), { discard: true });
67
+ return {
68
+ revoked: keys.length,
69
+ keyIds: keys.map((key) => key.id),
70
+ };
71
+ });
72
+ const revokeRefreshTokensSummary = Effect.fn("auth.incident_action.revoke_refresh_tokens")(function* (input) {
73
+ const refreshTokens = yield* requireDependency(dependencies.refreshTokens, "revoke_refresh_tokens", "RefreshTokenManagement");
74
+ const now = yield* actionNow(input);
75
+ const tokens = yield* refreshTokens
76
+ .listForUser({ userId: input.userId, includeRevoked: false })
77
+ .pipe(Effect.mapError((cause) => incidentActionError("revoke_refresh_tokens", "Failed to list refresh tokens before incident action", cause)));
78
+ const familyIds = unique(tokens.map((token) => token.familyId));
79
+ yield* Effect.forEach(familyIds, (familyId) => refreshTokens
80
+ .revokeFamilyForUser({
81
+ userId: input.userId,
82
+ familyId,
83
+ revokedAt: now,
84
+ reason: input.reason,
85
+ })
86
+ .pipe(Effect.mapError((cause) => incidentActionError("revoke_refresh_tokens", "Failed to revoke refresh token family", cause))), { discard: true });
87
+ return {
88
+ revokedFamilies: familyIds.length,
89
+ activeBefore: tokens.length,
90
+ tokenIds: tokens.map((token) => token.id),
91
+ familyIds,
92
+ };
93
+ });
94
+ return IncidentAction.make({
95
+ revokeUserSessions: Effect.fn("auth.incident_action.result.revoke_sessions")(function* (input) {
96
+ const sessions = yield* revokeSessionsSummary(input);
97
+ return { ...resultBase(input), sessions };
98
+ }),
99
+ revokeTrustedDevices: Effect.fn("auth.incident_action.result.revoke_trusted_devices")(function* (input) {
100
+ const trustedDevices = yield* revokeTrustedDevicesSummary(input);
101
+ return {
102
+ ...resultBase(input),
103
+ trustedDevices,
104
+ };
105
+ }),
106
+ revokeApiKeys: Effect.fn("auth.incident_action.result.revoke_api_keys")(function* (input) {
107
+ const apiKeys = yield* revokeApiKeysSummary(input);
108
+ return { ...resultBase(input), apiKeys };
109
+ }),
110
+ revokeRefreshTokens: Effect.fn("auth.incident_action.result.revoke_refresh_tokens")(function* (input) {
111
+ const refreshTokens = yield* revokeRefreshTokensSummary(input);
112
+ return { ...resultBase(input), refreshTokens };
113
+ }),
114
+ containUser: Effect.fn("auth.incident_action.contain_user")(function* (input) {
115
+ const { actions } = input;
116
+ if (actions.revokeSessions !== true &&
117
+ actions.revokeTrustedDevices !== true &&
118
+ actions.revokeApiKeys !== true &&
119
+ actions.revokeRefreshTokens !== true) {
120
+ return yield* Effect.fail(incidentActionError("contain_user", "No incident actions selected"));
121
+ }
122
+ const sessions = actions.revokeSessions === true
123
+ ? yield* revokeSessionsSummary(input)
124
+ : undefined;
125
+ const trustedDevices = actions.revokeTrustedDevices === true
126
+ ? yield* revokeTrustedDevicesSummary(input)
127
+ : undefined;
128
+ const apiKeys = actions.revokeApiKeys === true ? yield* revokeApiKeysSummary(input) : undefined;
129
+ const refreshTokens = actions.revokeRefreshTokens === true
130
+ ? yield* revokeRefreshTokensSummary(input)
131
+ : undefined;
132
+ return {
133
+ ...resultBase(input),
134
+ ...(sessions === undefined ? {} : { sessions }),
135
+ ...(trustedDevices === undefined ? {} : { trustedDevices }),
136
+ ...(apiKeys === undefined ? {} : { apiKeys }),
137
+ ...(refreshTokens === undefined ? {} : { refreshTokens }),
138
+ };
139
+ }),
140
+ });
141
+ };
142
+ export const IncidentActionLive = Layer.effect(IncidentAction)(Effect.gen(function* () {
143
+ const sessions = yield* Effect.serviceOption(Sessions);
144
+ const trustedDevices = yield* Effect.serviceOption(TrustedDeviceStore);
145
+ const apiKeys = yield* Effect.serviceOption(ApiKeyManagement);
146
+ const refreshTokens = yield* Effect.serviceOption(RefreshTokenManagement);
147
+ return makeIncidentAction({
148
+ ...(sessions._tag === "Some" ? { sessions: sessions.value } : {}),
149
+ ...(trustedDevices._tag === "Some"
150
+ ? { trustedDevices: trustedDevices.value }
151
+ : {}),
152
+ ...(apiKeys._tag === "Some" ? { apiKeys: apiKeys.value } : {}),
153
+ ...(refreshTokens._tag === "Some"
154
+ ? { refreshTokens: refreshTokens.value }
155
+ : {}),
156
+ });
157
+ }));
158
+ //# sourceMappingURL=IncidentAction.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IncidentAction.js","sourceRoot":"","sources":["../src/IncidentAction.ts"],"names":[],"mappings":"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"}
package/dist/Jwt.d.ts CHANGED
@@ -241,6 +241,12 @@ export interface JwtSignatureDependencies {
241
241
  export interface JwtWebCryptoRs256SignatureOptions {
242
242
  readonly crypto?: typeof globalThis.crypto;
243
243
  }
244
+ export interface JwtWebCryptoEs256SignatureOptions {
245
+ readonly crypto?: typeof globalThis.crypto;
246
+ }
247
+ export interface JwtWebCryptoEdDsaSignatureOptions {
248
+ readonly crypto?: typeof globalThis.crypto;
249
+ }
244
250
  export interface JwtRevocationDependencies {
245
251
  readonly verifier: JwtVerifierService;
246
252
  readonly store: JwtRevocationStoreService;
@@ -252,6 +258,8 @@ export declare const JwtRevocationStoreMemoryLive: Layer.Layer<JwtRevocationStor
252
258
  export declare const makeJwtRevocation: (dependencies: JwtRevocationDependencies) => JwtRevocationService;
253
259
  export declare const makeJwtSignature: (dependencies: JwtSignatureDependencies) => JwtSignatureService;
254
260
  export declare const makeJwtWebCryptoRs256Signature: (options?: JwtWebCryptoRs256SignatureOptions) => JwtSignatureService;
261
+ export declare const makeJwtWebCryptoEs256Signature: (options?: JwtWebCryptoEs256SignatureOptions) => JwtSignatureService;
262
+ export declare const makeJwtWebCryptoEdDsaSignature: (options?: JwtWebCryptoEdDsaSignatureOptions) => JwtSignatureService;
255
263
  export declare const makeJwtIssuer: (dependencies: JwtServiceDependencies) => JwtIssuerService;
256
264
  export declare const makeJwtVerifier: (dependencies: JwtServiceDependencies) => JwtVerifierService;
257
265
  export declare const makeJwks: (dependencies: {
@@ -259,6 +267,8 @@ export declare const makeJwks: (dependencies: {
259
267
  }) => JwksService;
260
268
  export declare const JwtSignatureLive: Layer.Layer<JwtSignature, never, Crypto>;
261
269
  export declare const JwtWebCryptoRs256SignatureLive: (options?: JwtWebCryptoRs256SignatureOptions) => Layer.Layer<JwtSignature, never, never>;
270
+ export declare const JwtWebCryptoEs256SignatureLive: (options?: JwtWebCryptoEs256SignatureOptions) => Layer.Layer<JwtSignature, never, never>;
271
+ export declare const JwtWebCryptoEdDsaSignatureLive: (options?: JwtWebCryptoEdDsaSignatureOptions) => Layer.Layer<JwtSignature, never, never>;
262
272
  export declare const JwtIssuerWithSignatureLive: Layer.Layer<JwtIssuer, never, JwtKeys | JwtSignature>;
263
273
  export declare const JwtVerifierWithSignatureLive: Layer.Layer<JwtVerifier, never, JwtKeys | JwtSignature>;
264
274
  export declare const JwtIssuerLive: Layer.Layer<JwtIssuer, never, Crypto | JwtKeys>;
package/dist/Jwt.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Jwt.d.ts","sourceRoot":"","sources":["../src/Jwt.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Jwt.d.ts","sourceRoot":"","sources":["../src/Jwt.ts"],"names":[],"mappings":"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"}
package/dist/Jwt.js CHANGED
@@ -261,11 +261,126 @@ const rs256ImportAlgorithm = {
261
261
  name: "RSASSA-PKCS1-v1_5",
262
262
  hash: "SHA-256",
263
263
  };
264
+ const es256ImportAlgorithm = {
265
+ name: "ECDSA",
266
+ namedCurve: "P-256",
267
+ };
268
+ const es256SignAlgorithm = {
269
+ name: "ECDSA",
270
+ hash: "SHA-256",
271
+ };
272
+ const ed25519ImportAlgorithm = {
273
+ name: "Ed25519",
274
+ };
264
275
  const jwkForImport = (jwk) => ({ ...jwk });
265
276
  const decodeBase64UrlBytes = (value) => Result.match(Encoding.decodeBase64Url(value), {
266
277
  onSuccess: (bytes) => bytes,
267
278
  onFailure: () => undefined,
268
279
  });
280
+ const readDerLength = (signature, offset) => {
281
+ const first = signature[offset];
282
+ if (first === undefined) {
283
+ return undefined;
284
+ }
285
+ if (first < 0x80) {
286
+ return [first, offset + 1];
287
+ }
288
+ const byteLength = first & 0x7f;
289
+ if (byteLength === 0 || byteLength > 2 || offset + byteLength >= signature.length) {
290
+ return undefined;
291
+ }
292
+ let length = 0;
293
+ for (let index = 0; index < byteLength; index += 1) {
294
+ length = (length << 8) | (signature[offset + 1 + index] ?? 0);
295
+ }
296
+ return [length, offset + 1 + byteLength];
297
+ };
298
+ const normalizeDerInteger = (value, byteLength) => {
299
+ let offset = 0;
300
+ while (offset < value.length - 1 && value[offset] === 0) {
301
+ offset += 1;
302
+ }
303
+ const normalized = value.slice(offset);
304
+ if (normalized.length > byteLength) {
305
+ return undefined;
306
+ }
307
+ const output = new Uint8Array(byteLength);
308
+ output.set(normalized, byteLength - normalized.length);
309
+ return output;
310
+ };
311
+ const derEcdsaSignatureToJose = (signature, byteLength) => {
312
+ if (signature.length === byteLength * 2) {
313
+ return signature;
314
+ }
315
+ if (signature[0] !== 0x30) {
316
+ return undefined;
317
+ }
318
+ const sequenceLength = readDerLength(signature, 1);
319
+ if (sequenceLength === undefined) {
320
+ return undefined;
321
+ }
322
+ const [length, sequenceOffset] = sequenceLength;
323
+ let offset = sequenceOffset;
324
+ if (offset + length !== signature.length || signature[offset] !== 0x02) {
325
+ return undefined;
326
+ }
327
+ const rLength = readDerLength(signature, offset + 1);
328
+ if (rLength === undefined) {
329
+ return undefined;
330
+ }
331
+ const [rSize, rOffset] = rLength;
332
+ const r = normalizeDerInteger(signature.slice(rOffset, rOffset + rSize), byteLength);
333
+ offset = rOffset + rSize;
334
+ if (r === undefined || signature[offset] !== 0x02) {
335
+ return undefined;
336
+ }
337
+ const sLength = readDerLength(signature, offset + 1);
338
+ if (sLength === undefined) {
339
+ return undefined;
340
+ }
341
+ const [sSize, sOffset] = sLength;
342
+ const s = normalizeDerInteger(signature.slice(sOffset, sOffset + sSize), byteLength);
343
+ if (s === undefined || sOffset + sSize !== signature.length) {
344
+ return undefined;
345
+ }
346
+ const output = new Uint8Array(byteLength * 2);
347
+ output.set(r, 0);
348
+ output.set(s, byteLength);
349
+ return output;
350
+ };
351
+ const derInteger = (value) => {
352
+ let offset = 0;
353
+ while (offset < value.length - 1 && value[offset] === 0) {
354
+ offset += 1;
355
+ }
356
+ const normalized = value.slice(offset);
357
+ const needsPadding = (normalized[0] ?? 0) >= 0x80;
358
+ const output = new Uint8Array(normalized.length + (needsPadding ? 3 : 2));
359
+ output[0] = 0x02;
360
+ output[1] = normalized.length + (needsPadding ? 1 : 0);
361
+ if (needsPadding) {
362
+ output[2] = 0;
363
+ output.set(normalized, 3);
364
+ }
365
+ else {
366
+ output.set(normalized, 2);
367
+ }
368
+ return output;
369
+ };
370
+ const joseEcdsaSignatureToDer = (signature, byteLength) => {
371
+ if (signature.length !== byteLength * 2) {
372
+ return undefined;
373
+ }
374
+ const r = derInteger(signature.slice(0, byteLength));
375
+ const s = derInteger(signature.slice(byteLength));
376
+ const payloadLength = r.length + s.length;
377
+ const output = new Uint8Array(2 + payloadLength);
378
+ output[0] = 0x30;
379
+ output[1] = payloadLength;
380
+ output.set(r, 2);
381
+ output.set(s, 2 + r.length);
382
+ return output;
383
+ };
269
384
  export const makeJwtSignature = (dependencies) => JwtSignature.make({
270
385
  supports: (alg) => alg === "HS256",
271
386
  canSign: (input) => input.alg === "HS256" && input.key.secret !== undefined,
@@ -322,6 +437,98 @@ export const makeJwtWebCryptoRs256Signature = (options) => JwtSignature.make({
322
437
  });
323
438
  }),
324
439
  });
440
+ export const makeJwtWebCryptoEs256Signature = (options) => JwtSignature.make({
441
+ supports: (alg) => alg === "ES256",
442
+ canSign: (input) => input.alg === "ES256" && input.key.privateJwk !== undefined,
443
+ canVerify: (input) => input.alg === "ES256" && input.key.publicJwk !== undefined,
444
+ sign: Effect.fn("auth.jwt.signature.webcrypto_es256.sign")(function* (input) {
445
+ const { privateJwk } = input.key;
446
+ if (input.alg !== "ES256" || privateJwk === undefined) {
447
+ return yield* jwtError("signature", "JWT ES256 private key is not available");
448
+ }
449
+ return yield* Effect.tryPromise({
450
+ try: async () => {
451
+ const crypto = getJwtWebCrypto(options);
452
+ const key = await crypto.subtle.importKey("jwk", jwkForImport(privateJwk), es256ImportAlgorithm, false, ["sign"]);
453
+ const signature = new Uint8Array(await crypto.subtle.sign(es256SignAlgorithm, key, textEncoder.encode(input.signingInput)));
454
+ const joseSignature = derEcdsaSignatureToJose(signature, 32);
455
+ if (joseSignature === undefined) {
456
+ throw new Error("Invalid ES256 signature encoding");
457
+ }
458
+ return Encoding.encodeBase64Url(joseSignature);
459
+ },
460
+ catch: (cause) => jwtError("signature", "Failed to sign ES256 JWT", cause),
461
+ });
462
+ }),
463
+ verify: Effect.fn("auth.jwt.signature.webcrypto_es256.verify")(function* (input) {
464
+ const { publicJwk } = input.key;
465
+ if (input.alg !== "ES256" || publicJwk === undefined) {
466
+ return false;
467
+ }
468
+ const signature = decodeBase64UrlBytes(input.signature);
469
+ if (signature === undefined || signature.length !== 64) {
470
+ return false;
471
+ }
472
+ return yield* Effect.tryPromise({
473
+ try: async () => {
474
+ const crypto = getJwtWebCrypto(options);
475
+ const key = await crypto.subtle.importKey("jwk", jwkForImport(publicJwk), es256ImportAlgorithm, false, ["verify"]);
476
+ const signingInput = textEncoder.encode(input.signingInput);
477
+ try {
478
+ if (await crypto.subtle.verify(es256SignAlgorithm, key, signature, signingInput)) {
479
+ return true;
480
+ }
481
+ }
482
+ catch {
483
+ // Some WebCrypto implementations expect DER-encoded ECDSA signatures.
484
+ }
485
+ const derSignature = joseEcdsaSignatureToDer(signature, 32);
486
+ return derSignature === undefined
487
+ ? false
488
+ : await crypto.subtle.verify(es256SignAlgorithm, key, derSignature, signingInput);
489
+ },
490
+ catch: (cause) => jwtError("signature", "Failed to verify ES256 JWT", cause),
491
+ });
492
+ }),
493
+ });
494
+ export const makeJwtWebCryptoEdDsaSignature = (options) => JwtSignature.make({
495
+ supports: (alg) => alg === "EdDSA",
496
+ canSign: (input) => input.alg === "EdDSA" && input.key.privateJwk !== undefined,
497
+ canVerify: (input) => input.alg === "EdDSA" && input.key.publicJwk !== undefined,
498
+ sign: Effect.fn("auth.jwt.signature.webcrypto_eddsa.sign")(function* (input) {
499
+ const { privateJwk } = input.key;
500
+ if (input.alg !== "EdDSA" || privateJwk === undefined) {
501
+ return yield* jwtError("signature", "JWT EdDSA private key is not available");
502
+ }
503
+ return yield* Effect.tryPromise({
504
+ try: async () => {
505
+ const crypto = getJwtWebCrypto(options);
506
+ const key = await crypto.subtle.importKey("jwk", jwkForImport(privateJwk), ed25519ImportAlgorithm, false, ["sign"]);
507
+ const signature = await crypto.subtle.sign(ed25519ImportAlgorithm, key, textEncoder.encode(input.signingInput));
508
+ return Encoding.encodeBase64Url(new Uint8Array(signature));
509
+ },
510
+ catch: (cause) => jwtError("signature", "Failed to sign EdDSA JWT", cause),
511
+ });
512
+ }),
513
+ verify: Effect.fn("auth.jwt.signature.webcrypto_eddsa.verify")(function* (input) {
514
+ const { publicJwk } = input.key;
515
+ if (input.alg !== "EdDSA" || publicJwk === undefined) {
516
+ return false;
517
+ }
518
+ const signature = decodeBase64UrlBytes(input.signature);
519
+ if (signature === undefined || signature.length !== 64) {
520
+ return false;
521
+ }
522
+ return yield* Effect.tryPromise({
523
+ try: async () => {
524
+ const crypto = getJwtWebCrypto(options);
525
+ const key = await crypto.subtle.importKey("jwk", jwkForImport(publicJwk), ed25519ImportAlgorithm, false, ["verify"]);
526
+ return await crypto.subtle.verify(ed25519ImportAlgorithm, key, signature, textEncoder.encode(input.signingInput));
527
+ },
528
+ catch: (cause) => jwtError("signature", "Failed to verify EdDSA JWT", cause),
529
+ });
530
+ }),
531
+ });
325
532
  const audienceValues = (value) => {
326
533
  if (typeof value === "string") {
327
534
  return [value];
@@ -486,6 +693,8 @@ export const JwtSignatureLive = Layer.effect(JwtSignature)(Effect.gen(function*
486
693
  return makeJwtSignature({ crypto });
487
694
  }));
488
695
  export const JwtWebCryptoRs256SignatureLive = (options) => Layer.succeed(JwtSignature)(makeJwtWebCryptoRs256Signature(options));
696
+ export const JwtWebCryptoEs256SignatureLive = (options) => Layer.succeed(JwtSignature)(makeJwtWebCryptoEs256Signature(options));
697
+ export const JwtWebCryptoEdDsaSignatureLive = (options) => Layer.succeed(JwtSignature)(makeJwtWebCryptoEdDsaSignature(options));
489
698
  export const JwtIssuerWithSignatureLive = Layer.effect(JwtIssuer)(Effect.gen(function* () {
490
699
  const keys = yield* JwtKeys;
491
700
  const signature = yield* JwtSignature;