@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.
- package/README.md +65 -4
- package/dist/AuditLog.d.ts +60 -0
- package/dist/AuditLog.d.ts.map +1 -1
- package/dist/AuditLog.js +105 -0
- package/dist/AuditLog.js.map +1 -1
- package/dist/AuthKernel.d.ts +1 -1
- package/dist/Client.d.ts +72 -1
- package/dist/Client.d.ts.map +1 -1
- package/dist/Client.js +218 -1
- package/dist/Client.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 +389 -4
- package/dist/EffectQbSqliteStorage.d.ts.map +1 -1
- package/dist/EffectQbSqliteStorage.js +1191 -4
- package/dist/EffectQbSqliteStorage.js.map +1 -1
- package/dist/EmailOtp.d.ts +2 -2
- package/dist/HttpApi/Api.d.ts +477 -23
- package/dist/HttpApi/Api.d.ts.map +1 -1
- package/dist/HttpApi/Api.js +705 -4
- package/dist/HttpApi/Api.js.map +1 -1
- package/dist/HttpApi/Endpoints.d.ts +133 -5
- package/dist/HttpApi/Endpoints.d.ts.map +1 -1
- package/dist/HttpApi/Endpoints.js +57 -2
- package/dist/HttpApi/Endpoints.js.map +1 -1
- package/dist/HttpApi/Errors.d.ts +32 -0
- package/dist/HttpApi/Errors.d.ts.map +1 -1
- package/dist/HttpApi/Errors.js +46 -0
- package/dist/HttpApi/Errors.js.map +1 -1
- package/dist/HttpApi/Schemas.d.ts +149 -8
- package/dist/HttpApi/Schemas.d.ts.map +1 -1
- package/dist/HttpApi/Schemas.js +128 -0
- package/dist/HttpApi/Schemas.js.map +1 -1
- 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/Jwt.d.ts +10 -0
- package/dist/Jwt.d.ts.map +1 -1
- package/dist/Jwt.js +209 -0
- package/dist/Jwt.js.map +1 -1
- package/dist/LoginNotification.d.ts +1 -1
- package/dist/LoginRisk.d.ts +272 -1
- package/dist/LoginRisk.d.ts.map +1 -1
- package/dist/LoginRisk.js +427 -0
- package/dist/LoginRisk.js.map +1 -1
- 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 +2 -2
- package/dist/OAuth.d.ts +957 -1
- package/dist/OAuth.d.ts.map +1 -1
- package/dist/OAuth.js +1403 -1
- package/dist/OAuth.js.map +1 -1
- package/dist/Password.d.ts +2 -2
- 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 +8 -2
- package/dist/SecurityTimeline.d.ts.map +1 -1
- package/dist/SecurityTimeline.js +75 -0
- package/dist/SecurityTimeline.js.map +1 -1
- package/dist/StorageMigrations.d.ts +11 -1
- package/dist/StorageMigrations.d.ts.map +1 -1
- package/dist/StorageMigrations.js +206 -0
- package/dist/StorageMigrations.js.map +1 -1
- package/dist/Webhook.d.ts +310 -2
- package/dist/Webhook.d.ts.map +1 -1
- package/dist/Webhook.js +511 -1
- package/dist/Webhook.js.map +1 -1
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -1
- 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 +18 -2
package/dist/Identifiers.js.map
CHANGED
|
@@ -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":"AAAA,OAAO,EAAE,OAAO,EAAQ,MAAM,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AAEtD,OAAO,EAEL,KAAK,QAAQ,EAGb,KAAK,uBAAuB,EAC7B,MAAM,aAAa,CAAC;AACrB,OAAO,EAEL,KAAK,oBAAoB,EACzB,KAAK,cAAc,EAGnB,KAAK,6BAA6B,EACnC,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAEtE,OAAO,EAIL,KAAK,eAAe,EACrB,MAAM,eAAe,CAAC;AACvB,OAAO,EAIL,KAAK,yBAAyB,EAC/B,MAAM,oBAAoB,CAAC;AAE5B,MAAM,MAAM,uBAAuB,GAC/B,cAAc,GACd,iBAAiB,GACjB,wBAAwB,GACxB,iBAAiB,GACjB,uBAAuB,CAAC;;;;AAE5B,qBAAa,mBAAoB,SAAQ,yBAEvC;IACA,QAAQ,CAAC,SAAS,EAAE,uBAAuB,CAAC;IAC5C,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;CAC1B,CAAC;CAAG;AAEL,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,GAAG,CAAC,EAAE,UAAU,CAAC;CAC3B;AAED,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,CAAC;IAClC,QAAQ,CAAC,oBAAoB,CAAC,EAAE,OAAO,CAAC;IACxC,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAC;IACjC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,OAAO,CAAC;CACxC;AAED,MAAM,WAAW,wBAAyB,SAAQ,uBAAuB;IACvE,QAAQ,CAAC,OAAO,EAAE,0BAA0B,CAAC;CAC9C;AAED,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,CAAC,UAAU,EAAE,IAAI,CAAC;IAC1B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,UAAU,EAAE,SAAS,SAAS,EAAE,CAAC;CAC3C;AAED,MAAM,WAAW,kCAAkC;IACjD,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC;CACvC;AAED,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,SAAS,QAAQ,EAAE,CAAC;CACtC;AAED,MAAM,WAAW,iCAAiC;IAChD,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,QAAQ,EAAE,SAAS,cAAc,EAAE,CAAC;IAC7C,QAAQ,CAAC,SAAS,EAAE,SAAS,oBAAoB,EAAE,CAAC;CACrD;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,CAAC,EAAE,4BAA4B,CAAC;IACjD,QAAQ,CAAC,cAAc,CAAC,EAAE,kCAAkC,CAAC;IAC7D,QAAQ,CAAC,OAAO,CAAC,EAAE,2BAA2B,CAAC;IAC/C,QAAQ,CAAC,aAAa,CAAC,EAAE,iCAAiC,CAAC;CAC5D;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,kBAAkB,EAAE,CAC3B,KAAK,EAAE,uBAAuB,KAC3B,MAAM,CAAC,MAAM,CAAC,oBAAoB,EAAE,mBAAmB,CAAC,CAAC;IAC9D,QAAQ,CAAC,oBAAoB,EAAE,CAC7B,KAAK,EAAE,uBAAuB,KAC3B,MAAM,CAAC,MAAM,CAAC,oBAAoB,EAAE,mBAAmB,CAAC,CAAC;IAC9D,QAAQ,CAAC,aAAa,EAAE,CACtB,KAAK,EAAE,uBAAuB,KAC3B,MAAM,CAAC,MAAM,CAAC,oBAAoB,EAAE,mBAAmB,CAAC,CAAC;IAC9D,QAAQ,CAAC,mBAAmB,EAAE,CAC5B,KAAK,EAAE,uBAAuB,KAC3B,MAAM,CAAC,MAAM,CAAC,oBAAoB,EAAE,mBAAmB,CAAC,CAAC;IAC9D,QAAQ,CAAC,WAAW,EAAE,CACpB,KAAK,EAAE,wBAAwB,KAC5B,MAAM,CAAC,MAAM,CAAC,oBAAoB,EAAE,mBAAmB,CAAC,CAAC;CAC/D;;AAED,qBAAa,cAAe,SAAQ,mBAGV;CAAG;AAE7B,yBAAiB,cAAc,CAAC;IACvB,MAAM,IAAI,GAAI,SAAS,qBAAqB,KAAG,qBAC1B,CAAC;CAC9B;AAED,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,QAAQ,CAAC,EAAE,eAAe,CAAC;IACpC,QAAQ,CAAC,cAAc,CAAC,EAAE,yBAAyB,CAAC;IACpD,QAAQ,CAAC,OAAO,CAAC,EAAE,uBAAuB,CAAC;IAC3C,QAAQ,CAAC,aAAa,CAAC,EAAE,6BAA6B,CAAC;CACxD;AAoCD,eAAO,MAAM,kBAAkB,GAC7B,cAAc,0BAA0B,KACvC,qBA2PF,CAAC;AAEF,eAAO,MAAM,kBAAkB,2CAkB9B,CAAC"}
|
|
@@ -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;
|