pipework 0.187.0 → 0.189.0

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 (46) hide show
  1. package/CHANGELOG.md +28 -0
  2. package/dist/REFERENCE.md +322 -13
  3. package/dist/async/steps/graph.d.ts.map +1 -1
  4. package/dist/async/steps/graph.js +24 -6
  5. package/dist/async/steps/graph.js.map +1 -1
  6. package/dist/async/steps/table.d.ts +5 -0
  7. package/dist/async/steps/table.d.ts.map +1 -1
  8. package/dist/async/steps/table.js +1 -0
  9. package/dist/async/steps/table.js.map +1 -1
  10. package/dist/async/steps/types.d.ts +9 -0
  11. package/dist/async/steps/types.d.ts.map +1 -1
  12. package/dist/auth/auth/chain.js +5 -5
  13. package/dist/auth/auth/chain.js.map +1 -1
  14. package/dist/auth/auth/cookie.d.ts +10 -0
  15. package/dist/auth/auth/cookie.d.ts.map +1 -1
  16. package/dist/auth/auth/cookie.js +37 -0
  17. package/dist/auth/auth/cookie.js.map +1 -1
  18. package/dist/auth/auth/multi-org.d.ts +3 -1
  19. package/dist/auth/auth/multi-org.d.ts.map +1 -1
  20. package/dist/auth/auth/multi-org.js +6 -3
  21. package/dist/auth/auth/multi-org.js.map +1 -1
  22. package/dist/auth/auth/sessions.d.ts +30 -8
  23. package/dist/auth/auth/sessions.d.ts.map +1 -1
  24. package/dist/auth/auth/sessions.js +40 -40
  25. package/dist/auth/auth/sessions.js.map +1 -1
  26. package/dist/auth/auth/signing-keys.d.ts +15 -0
  27. package/dist/auth/auth/signing-keys.d.ts.map +1 -0
  28. package/dist/auth/auth/signing-keys.js +60 -0
  29. package/dist/auth/auth/signing-keys.js.map +1 -0
  30. package/dist/core/errors/http.d.ts +13 -0
  31. package/dist/core/errors/http.d.ts.map +1 -1
  32. package/dist/core/errors/http.js +17 -1
  33. package/dist/core/errors/http.js.map +1 -1
  34. package/dist/core/errors/index.d.ts +1 -1
  35. package/dist/core/errors/index.d.ts.map +1 -1
  36. package/dist/core/errors/index.js +1 -1
  37. package/dist/core/errors/index.js.map +1 -1
  38. package/dist/core/errors/namespace.d.ts +6 -2
  39. package/dist/core/errors/namespace.d.ts.map +1 -1
  40. package/dist/core/errors/namespace.js +6 -2
  41. package/dist/core/errors/namespace.js.map +1 -1
  42. package/package.json +1 -1
  43. package/dist/infra/email/sigv4.d.ts +0 -24
  44. package/dist/infra/email/sigv4.d.ts.map +0 -1
  45. package/dist/infra/email/sigv4.js +0 -55
  46. package/dist/infra/email/sigv4.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"cookie.js","sourceRoot":"","sources":["../../../src/auth/auth/cookie.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cookie.js","sourceRoot":"","sources":["../../../src/auth/auth/cookie.ts"],"names":[],"mappings":"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"}
@@ -58,7 +58,9 @@ export interface MultiOrgSessions {
58
58
  id: string;
59
59
  }): Promise<ResolveLoginResult>;
60
60
  selectOrg(response: HttpResponse, db: DB, sessionToken: string, orgId: string): Promise<HttpTokenResult>;
61
- switchOrg(response: HttpResponse, db: DB, request: Pick<HttpRequest, 'headers'>, orgId: string, userId: string): Promise<HttpTokenResult>;
61
+ switchOrg(response: HttpResponse, db: DB, request: Pick<HttpRequest, 'headers'> & {
62
+ readonly method?: string;
63
+ }, orgId: string, userId: string): Promise<HttpTokenResult>;
62
64
  listOrgs(db: DB, userId: string): Promise<{
63
65
  orgs: readonly OrgMembershipDetail[];
64
66
  }>;
@@ -1 +1 @@
1
- {"version":3,"file":"multi-org.d.ts","sourceRoot":"","sources":["../../../src/auth/auth/multi-org.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"multi-org.d.ts","sourceRoot":"","sources":["../../../src/auth/auth/multi-org.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,10 @@
1
- import { SignJWT, jwtVerify, importPKCS8, importSPKI } from 'jose';
1
+ import { SignJWT, jwtVerify } from 'jose';
2
2
  import { parseExpiry } from './parse-expiry.js';
3
3
  import { sql } from '../../data/db/sql.js';
4
4
  import { ForbiddenError, UnauthorizedError, ConflictError, NotFoundError } from '../../core/errors/index.js';
5
5
  import { assertValidIdentifier } from '../../data/db/identifiers.js';
6
6
  import { assertUuid } from './uuid.js';
7
+ import { checkSigningKeys, importSigningKey } from './signing-keys.js';
7
8
  /**
8
9
  * Creates a multi-org session manager with org selection flow and membership management.
9
10
  * The default table comes from blueprint `orgs: {}`; org ids must be uuids.
@@ -12,19 +13,20 @@ export function createMultiOrgSessions(config) {
12
13
  const tableName = config.table ?? 'pipework_user_orgs';
13
14
  assertValidIdentifier(tableName, 'multi-org membership table');
14
15
  const t = sql.raw(`"${tableName}"`);
16
+ checkSigningKeys(config.signing, 'createMultiOrgSessions');
15
17
  const orgSelectAudience = `${config.audience}:org-select`;
16
18
  const orgSelectExpiresIn = config.orgSelectToken?.expiresIn ?? '10m';
17
19
  let cachedPrivateKey = null;
18
20
  let cachedPublicKey = null;
19
21
  async function getPrivateKey() {
20
22
  if (cachedPrivateKey === null) {
21
- cachedPrivateKey = await importPKCS8(config.signing.privateKey, config.signing.algorithm);
23
+ cachedPrivateKey = await importSigningKey('private', config.signing, 'createMultiOrgSessions');
22
24
  }
23
25
  return cachedPrivateKey;
24
26
  }
25
27
  async function getPublicKey() {
26
28
  if (cachedPublicKey === null) {
27
- cachedPublicKey = await importSPKI(config.signing.publicKey, config.signing.algorithm);
29
+ cachedPublicKey = await importSigningKey('public', config.signing, 'createMultiOrgSessions');
28
30
  }
29
31
  return cachedPublicKey;
30
32
  }
@@ -92,6 +94,7 @@ export function createMultiOrgSessions(config) {
92
94
  return config.sessions.issueTokensHttp(response, db, { id: userId, tenantId: orgId });
93
95
  }
94
96
  async function switchOrg(response, db, request, orgId, userId) {
97
+ config.sessions.assertSameSiteCookie(request);
95
98
  await requireMembership(db, userId, orgId);
96
99
  await config.sessions.revokeRefreshCookie(db, request);
97
100
  return config.sessions.issueTokensHttp(response, db, { id: userId, tenantId: orgId });
@@ -1 +1 @@
1
- {"version":3,"file":"multi-org.js","sourceRoot":"","sources":["../../../src/auth/auth/multi-org.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"multi-org.js","sourceRoot":"","sources":["../../../src/auth/auth/multi-org.ts"],"names":[],"mappings":"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"}
@@ -29,6 +29,8 @@ export interface SessionConfig {
29
29
  readonly versionCacheTtlMs?: number;
30
30
  readonly resolveRoles?: (db: DB, userId: string, tenantId: string) => Promise<string[]>;
31
31
  readonly environment?: string;
32
+ /** Origins allowed to send the refresh cookie to `refreshHttp` / `revokeHttp` / `revokeRefreshCookie` / `revokeAllHttp`, besides the request's own host. */
33
+ readonly trustedOrigins?: readonly string[];
32
34
  }
33
35
  /** Access + refresh token pair returned by issueTokens(). */
34
36
  export interface TokenPair {
@@ -56,8 +58,14 @@ export type SessionAuth = BaseAuth & {
56
58
  };
57
59
  /** Options for `sessions.strategy()`. */
58
60
  export interface SessionStrategyOptions {
59
- /** Origins (e.g. `https://app.example.com`) besides the request's own host allowed to send cookie-authenticated writes. */
61
+ /** Origins (e.g. `https://app.example.com`) besides the request's own host allowed to send cookie-authenticated requests. */
60
62
  readonly trustedOrigins?: readonly string[];
63
+ /**
64
+ * A cookie-authenticated GET/HEAD/OPTIONS that a browser marks cross-site (and not a top-level navigation,
65
+ * and whose Origin is neither ours nor trusted) is refused with 403 under `'refuse'` (default); `'allow'`
66
+ * lets such reads through. Bearer-header auth is never checked.
67
+ */
68
+ readonly crossSiteReads?: 'refuse' | 'allow';
61
69
  }
62
70
  /** Session manager with JWT issue/refresh/revoke lifecycle and cookie-based HTTP helpers. */
63
71
  export interface Sessions {
@@ -80,23 +88,37 @@ export interface Sessions {
80
88
  cleanExpiredTokens(db: DB): Promise<number>;
81
89
  /**
82
90
  * The auth strategy for these sessions: `Authorization: Bearer` first, else the access cookie when
83
- * `accessToken.cookie` is set. A cookie-authenticated write (not GET/HEAD/OPTIONS) must come from the
84
- * API's own origin or a trusted origin, else 403 `CROSS_SITE_REQUEST`. It never refreshes: the client
91
+ * `accessToken.cookie` is set. A cookie-authenticated request must come from the
92
+ * API's own origin or a trusted origin, else 403 `CROSS_SITE_REQUEST`; a read (GET/HEAD/OPTIONS) also passes as a
93
+ * top-level navigation or with no Sec-Fetch-Site and no Origin (see `crossSiteReads`). It never refreshes: the client
85
94
  * calls the refresh route on a 401 "Access token expired" (a refresh here would trip reuse detection
86
95
  * on concurrent requests). On an optional-auth route a token it refuses (expired, revoked, not ours)
87
96
  * reads as signed out.
88
97
  */
89
98
  strategy(options?: SessionStrategyOptions): AuthStrategy<SessionAuth>;
90
- /** Revokes the refresh token in the request's refresh cookie, if any; sets no cookie. */
91
- revokeRefreshCookie(db: DB, request: Pick<HttpRequest, 'headers'>): Promise<void>;
99
+ /** Throws 403 `CROSS_SITE_REQUEST` when a cookie-authenticated request is cross-site by the rule `refreshHttp` applies. */
100
+ assertSameSiteCookie(request: Pick<HttpRequest, 'headers'> & {
101
+ readonly method?: string;
102
+ }): void;
103
+ /** Revokes the refresh token in the request's refresh cookie, if any; sets no cookie. Refuses a cross-site request like `refreshHttp`. */
104
+ revokeRefreshCookie(db: DB, request: Pick<HttpRequest, 'headers'> & {
105
+ readonly method?: string;
106
+ }): Promise<void>;
92
107
  issueTokensHttp(response: HttpResponse, db: DB, user: {
93
108
  id: string;
94
109
  tenantId: string;
95
110
  roles?: readonly string[];
96
111
  }): Promise<HttpTokenResult>;
97
- refreshHttp(response: HttpResponse, db: DB, request: Pick<HttpRequest, 'headers'>): Promise<HttpTokenResult>;
98
- revokeHttp(response: HttpResponse, db: DB, request: Pick<HttpRequest, 'headers'>): Promise<void>;
99
- revokeAllHttp(response: HttpResponse, db: DB, userId: string): Promise<void>;
112
+ refreshHttp(response: HttpResponse, db: DB, request: Pick<HttpRequest, 'headers'> & {
113
+ readonly method?: string;
114
+ }): Promise<HttpTokenResult>;
115
+ revokeHttp(response: HttpResponse, db: DB, request: Pick<HttpRequest, 'headers'> & {
116
+ readonly method?: string;
117
+ }): Promise<void>;
118
+ /** Pass `request` to have the cookie-site check run before anything is revoked. */
119
+ revokeAllHttp(response: HttpResponse, db: DB, userId: string, request?: Pick<HttpRequest, 'headers'> & {
120
+ readonly method?: string;
121
+ }): Promise<void>;
100
122
  }
101
123
  /**
102
124
  * Creates a Sessions manager with JWT access/refresh tokens, rotation, reuse detection, and cookie helpers.
@@ -1 +1 @@
1
- {"version":3,"file":"sessions.d.ts","sourceRoot":"","sources":["../../../src/auth/auth/sessions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sessions.d.ts","sourceRoot":"","sources":["../../../src/auth/auth/sessions.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,11 @@
1
- import { createPublicKey, verify as cryptoVerify } from 'node:crypto';
2
- import { SignJWT, jwtVerify, importPKCS8, importSPKI } from 'jose';
1
+ import { verify as cryptoVerify } from 'node:crypto';
2
+ import { SignJWT, jwtVerify } from 'jose';
3
3
  import { parseExpiry } from './parse-expiry.js';
4
4
  import { sql } from '../../data/db/sql.js';
5
- import { UnauthorizedError, CrossSiteRequestError } from '../../core/errors/index.js';
5
+ import { UnauthorizedError, AuthUnavailableError, isPipeworkError } from '../../core/errors/index.js';
6
6
  import { assertUuid } from './uuid.js';
7
- import { resolveCookieConfig, buildSetCookieHeader, buildClearCookieHeader, parseCookieHeader } from './cookie.js';
7
+ import { resolveCookieConfig, buildSetCookieHeader, buildClearCookieHeader, parseCookieHeader, assertSameSiteRequest } from './cookie.js';
8
+ import { checkSigningKeys, importSigningKey } from './signing-keys.js';
8
9
  /**
9
10
  * Creates a Sessions manager with JWT access/refresh tokens, rotation, reuse detection, and cookie helpers.
10
11
  * Its tables come from blueprint `sessions: {}`; `tenantId` must be a uuid.
@@ -14,18 +15,19 @@ export function createSessions(config) {
14
15
  if (environment === 'production') {
15
16
  validateSigningKeys(config);
16
17
  }
18
+ const verifyKey = checkSigningKeys(config.signing, 'createSessions');
17
19
  let privateKey = null;
18
20
  let publicKey = null;
19
21
  const versionCache = new Map();
20
22
  const cacheTtl = config.versionCacheTtlMs ?? 60_000;
21
23
  async function getPrivateKey() {
22
24
  if (!privateKey)
23
- privateKey = await importPKCS8(config.signing.privateKey, config.signing.algorithm);
25
+ privateKey = await importSigningKey('private', config.signing, 'createSessions');
24
26
  return privateKey;
25
27
  }
26
28
  async function getPublicKey() {
27
29
  if (!publicKey)
28
- publicKey = await importSPKI(config.signing.publicKey, config.signing.algorithm);
30
+ publicKey = await importSigningKey('public', config.signing, 'createSessions');
29
31
  return publicKey;
30
32
  }
31
33
  async function getOrCreateVersion(db, userId) {
@@ -146,7 +148,6 @@ export function createSessions(config) {
146
148
  throw new UnauthorizedError('Invalid access token');
147
149
  }
148
150
  }
149
- let verifyKey = null;
150
151
  function signedSubject(token) {
151
152
  try {
152
153
  if (typeof token !== 'string')
@@ -158,7 +159,6 @@ export function createSessions(config) {
158
159
  const head = JSON.parse(Buffer.from(header, 'base64url').toString('utf8'));
159
160
  if (head.alg !== config.signing.algorithm)
160
161
  return null;
161
- verifyKey ??= createPublicKey(config.signing.publicKey);
162
162
  const signed = cryptoVerify('sha256', Buffer.from(`${header}.${body}`), { key: verifyKey, dsaEncoding: 'ieee-p1363' }, Buffer.from(signature, 'base64url'));
163
163
  if (!signed)
164
164
  return null;
@@ -201,6 +201,13 @@ export function createSessions(config) {
201
201
  return null;
202
202
  return resolveCookieConfig(cookie, environment, { name: '__pipework_access', sameSite: 'lax' });
203
203
  }
204
+ // A browser sends Sec-Fetch-Site or Origin on every POST, so a request with neither is not a browser's
205
+ // and carries no cross-site risk: server-side proxies and native clients keep working.
206
+ function assertSameSiteCookie(request) {
207
+ if (request.headers['sec-fetch-site'] === undefined && request.headers['origin'] === undefined)
208
+ return;
209
+ assertSameSiteRequest({ headers: request.headers }, config.trustedOrigins ?? []);
210
+ }
204
211
  function getRefreshMaxAge() {
205
212
  return parseExpiry(config.refreshToken.expiresIn);
206
213
  }
@@ -233,6 +240,7 @@ export function createSessions(config) {
233
240
  if (token === undefined) {
234
241
  throw new UnauthorizedError('Missing refresh token cookie');
235
242
  }
243
+ assertSameSiteCookie(request);
236
244
  const pair = await refresh(db, token);
237
245
  setCookies(response, sessionCookies(resolved, pair));
238
246
  return { accessToken: pair.accessToken, expiresIn: pair.expiresIn };
@@ -248,22 +256,28 @@ export function createSessions(config) {
248
256
  if (token === undefined) {
249
257
  throw new UnauthorizedError('Missing refresh token cookie');
250
258
  }
259
+ assertSameSiteCookie(request);
251
260
  await revokeToken(db, token);
252
261
  setCookies(response, clearCookies(resolved));
253
262
  }
254
263
  async function revokeRefreshCookie(db, request) {
255
264
  const resolved = getCookieConfig();
256
265
  const token = parseCookieHeader(request.headers['cookie'], resolved.name);
257
- if (token !== undefined)
258
- await revokeToken(db, token);
266
+ if (token === undefined)
267
+ return;
268
+ assertSameSiteCookie(request);
269
+ await revokeToken(db, token);
259
270
  }
260
- async function revokeAllHttp(response, db, userId) {
271
+ async function revokeAllHttp(response, db, userId, request) {
261
272
  const resolved = getCookieConfig();
273
+ if (request !== undefined)
274
+ assertSameSiteCookie(request);
262
275
  await revokeAll(db, userId);
263
276
  setCookies(response, clearCookies(resolved));
264
277
  }
265
278
  function strategy(options = {}) {
266
- const trusted = options.trustedOrigins ?? [];
279
+ const trusted = [...(config.trustedOrigins ?? []), ...(options.trustedOrigins ?? [])];
280
+ const crossSiteReads = options.crossSiteReads ?? 'refuse';
267
281
  const tokens = new WeakMap();
268
282
  const accessCookieName = getAccessCookieConfig()?.name;
269
283
  return {
@@ -281,8 +295,18 @@ export function createSessions(config) {
281
295
  if (token === undefined)
282
296
  throw new UnauthorizedError('Invalid access token');
283
297
  const payload = await verifyAccessToken(token);
284
- if (config.versionCheck && !(await checkVersion(context.db(), payload.sub, payload.av))) {
285
- throw new UnauthorizedError('Session revoked');
298
+ if (config.versionCheck) {
299
+ let current;
300
+ try {
301
+ current = await checkVersion(context.db(), payload.sub, payload.av);
302
+ }
303
+ catch (error) {
304
+ if (isPipeworkError(error))
305
+ throw error;
306
+ throw new AuthUnavailableError('Authentication is unavailable: the session version check failed', { cause: error });
307
+ }
308
+ if (!current)
309
+ throw new UnauthorizedError('Session revoked');
286
310
  }
287
311
  return { userId: payload.sub, tenantId: payload.tid, roles: payload.roles ?? [], via: extracted.via };
288
312
  },
@@ -299,7 +323,7 @@ export function createSessions(config) {
299
323
  if (cookie !== undefined && cookie !== '') {
300
324
  token = cookie;
301
325
  via = 'cookie';
302
- assertSameSiteWrite(request, trusted);
326
+ assertSameSiteRequest(request, trusted, crossSiteReads);
303
327
  }
304
328
  }
305
329
  if (token === undefined || token === '')
@@ -311,33 +335,9 @@ export function createSessions(config) {
311
335
  }
312
336
  return {
313
337
  issueTokens, refresh, revokeAll, bumpVersion, verifyAccessToken, signedSubject, checkVersion, cleanExpiredTokens,
314
- strategy, revokeRefreshCookie, issueTokensHttp, refreshHttp, revokeHttp, revokeAllHttp,
338
+ strategy, assertSameSiteCookie, revokeRefreshCookie, issueTokensHttp, refreshHttp, revokeHttp, revokeAllHttp,
315
339
  };
316
340
  }
317
- const SAFE_METHODS = new Set(['GET', 'HEAD', 'OPTIONS']);
318
- function assertSameSiteWrite(request, trusted) {
319
- // No method is treated as a write: an AuthRequest built without one must not skip the check.
320
- if (request.method !== undefined && SAFE_METHODS.has(request.method.toUpperCase()))
321
- return;
322
- const site = request.headers['sec-fetch-site'];
323
- if (site === 'same-origin' || site === 'none')
324
- return;
325
- // same-site, cross-site, any other value, or no header: only the Origin can vouch for the write.
326
- const origin = request.headers['origin'];
327
- if (origin !== undefined) {
328
- if (trusted.includes(origin))
329
- return;
330
- try {
331
- const host = request.headers['host'];
332
- if (host !== undefined && new URL(origin).host === host.toLowerCase())
333
- return;
334
- }
335
- catch {
336
- // an unparseable Origin (such as "null") is refused below
337
- }
338
- }
339
- throw new CrossSiteRequestError();
340
- }
341
341
  const TEST_KEY_PATTERNS = [
342
342
  'test', 'example', 'dummy', 'placeholder', 'changeme', 'insecure', 'dev-only',
343
343
  ];
@@ -1 +1 @@
1
- {"version":3,"file":"sessions.js","sourceRoot":"","sources":["../../../src/auth/auth/sessions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sessions.js","sourceRoot":"","sources":["../../../src/auth/auth/sessions.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ import { type KeyObject } from 'node:crypto';
2
+ interface Signing {
3
+ readonly algorithm: 'ES256';
4
+ readonly privateKey: string;
5
+ readonly publicKey: string;
6
+ }
7
+ /**
8
+ * Parses both configured signing keys now, so a key that is not valid PEM stops the server at start.
9
+ * Returns the public key for synchronous verification. `owner` names the factory in the message.
10
+ */
11
+ export declare function checkSigningKeys(signing: Signing, owner: string): KeyObject;
12
+ /** Imports a configured key for jose; a failure is a configuration fault (500), never a refusal of a token. */
13
+ export declare function importSigningKey(kind: 'public' | 'private', signing: Signing, owner: string): Promise<CryptoKey>;
14
+ export {};
15
+ //# sourceMappingURL=signing-keys.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"signing-keys.d.ts","sourceRoot":"","sources":["../../../src/auth/auth/signing-keys.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqC,KAAK,SAAS,EAAE,MAAM,aAAa,CAAA;AAI/E,UAAU,OAAO;IAAG,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;CAAE;AAE1G;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,SAAS,CAgB3E;AAED,+GAA+G;AAC/G,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,QAAQ,GAAG,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAWtH"}
@@ -0,0 +1,60 @@
1
+ import { createPublicKey, createPrivateKey } from 'node:crypto';
2
+ import { importPKCS8, importSPKI } from 'jose';
3
+ import { AuthConfigurationError } from '../../core/errors/index.js';
4
+ /**
5
+ * Parses both configured signing keys now, so a key that is not valid PEM stops the server at start.
6
+ * Returns the public key for synchronous verification. `owner` names the factory in the message.
7
+ */
8
+ export function checkSigningKeys(signing, owner) {
9
+ let publicKey;
10
+ try {
11
+ publicKey = createPublicKey(signing.publicKey);
12
+ }
13
+ catch (error) {
14
+ throw keyFault('signing.publicKey', 'a valid SPKI PEM public key', owner, error);
15
+ }
16
+ let privateKey;
17
+ try {
18
+ privateKey = createPrivateKey(signing.privateKey);
19
+ }
20
+ catch (error) {
21
+ throw keyFault('signing.privateKey', 'a valid PKCS#8 PEM private key', owner, error);
22
+ }
23
+ assertFitsAlgorithm(publicKey, 'signing.publicKey', signing.algorithm, owner);
24
+ assertFitsAlgorithm(privateKey, 'signing.privateKey', signing.algorithm, owner);
25
+ return publicKey;
26
+ }
27
+ /** Imports a configured key for jose; a failure is a configuration fault (500), never a refusal of a token. */
28
+ export async function importSigningKey(kind, signing, owner) {
29
+ try {
30
+ return kind === 'public'
31
+ ? await importSPKI(signing.publicKey, signing.algorithm)
32
+ : await importPKCS8(signing.privateKey, signing.algorithm);
33
+ }
34
+ catch (error) {
35
+ throw keyFault(kind === 'public' ? 'signing.publicKey' : 'signing.privateKey', `a key usable with ${signing.algorithm}`, owner, error);
36
+ }
37
+ }
38
+ function keyFault(field, expected, owner, error) {
39
+ const reason = error instanceof Error ? error.message : String(error);
40
+ return new AuthConfigurationError(`[pipework] ${owner}: ${field} is not ${expected}: ${reason}`, { field });
41
+ }
42
+ const CURVES = { ES256: 'prime256v1', ES384: 'secp384r1', ES512: 'secp521r1' };
43
+ function assertFitsAlgorithm(key, field, algorithm, owner) {
44
+ const type = key.asymmetricKeyType;
45
+ let fits = null;
46
+ if (/^(RS|PS)\d+$/.test(algorithm)) {
47
+ fits = type === 'rsa' || (algorithm.startsWith('PS') && type === 'rsa-pss');
48
+ }
49
+ else if (algorithm in CURVES) {
50
+ fits = type === 'ec' && key.asymmetricKeyDetails?.namedCurve === CURVES[algorithm];
51
+ }
52
+ else if (algorithm === 'EdDSA') {
53
+ fits = type === 'ed25519' || type === 'ed448';
54
+ }
55
+ if (fits === null || fits)
56
+ return;
57
+ const curve = type === 'ec' ? ` (${key.asymmetricKeyDetails?.namedCurve ?? 'unknown curve'})` : '';
58
+ throw new AuthConfigurationError(`[pipework] ${owner}: ${field} is a ${type ?? 'unknown'}${curve} key, which does not fit algorithm ${algorithm}`, { field });
59
+ }
60
+ //# sourceMappingURL=signing-keys.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"signing-keys.js","sourceRoot":"","sources":["../../../src/auth/auth/signing-keys.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAkB,MAAM,aAAa,CAAA;AAC/E,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,MAAM,CAAA;AAC9C,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAA;AAInE;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAAC,OAAgB,EAAE,KAAa;IAC9D,IAAI,SAAoB,CAAA;IACxB,IAAI,CAAC;QACH,SAAS,GAAG,eAAe,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;IAChD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,QAAQ,CAAC,mBAAmB,EAAE,6BAA6B,EAAE,KAAK,EAAE,KAAK,CAAC,CAAA;IAClF,CAAC;IACD,IAAI,UAAqB,CAAA;IACzB,IAAI,CAAC;QACH,UAAU,GAAG,gBAAgB,CAAC,OAAO,CAAC,UAAU,CAAC,CAAA;IACnD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,QAAQ,CAAC,oBAAoB,EAAE,gCAAgC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAA;IACtF,CAAC;IACD,mBAAmB,CAAC,SAAS,EAAE,mBAAmB,EAAE,OAAO,CAAC,SAAS,EAAE,KAAK,CAAC,CAAA;IAC7E,mBAAmB,CAAC,UAAU,EAAE,oBAAoB,EAAE,OAAO,CAAC,SAAS,EAAE,KAAK,CAAC,CAAA;IAC/E,OAAO,SAAS,CAAA;AAClB,CAAC;AAED,+GAA+G;AAC/G,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,IAA0B,EAAE,OAAgB,EAAE,KAAa;IAChG,IAAI,CAAC;QACH,OAAO,IAAI,KAAK,QAAQ;YACtB,CAAC,CAAC,MAAM,UAAU,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,SAAS,CAAC;YACxD,CAAC,CAAC,MAAM,WAAW,CAAC,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,SAAS,CAAC,CAAA;IAC9D,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,QAAQ,CACZ,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,oBAAoB,EAC9D,qBAAqB,OAAO,CAAC,SAAS,EAAE,EAAE,KAAK,EAAE,KAAK,CACvD,CAAA;IACH,CAAC;AACH,CAAC;AAED,SAAS,QAAQ,CAAC,KAAa,EAAE,QAAgB,EAAE,KAAa,EAAE,KAAc;IAC9E,MAAM,MAAM,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IACrE,OAAO,IAAI,sBAAsB,CAC/B,cAAc,KAAK,KAAK,KAAK,WAAW,QAAQ,KAAK,MAAM,EAAE,EAC7D,EAAE,KAAK,EAAE,CACV,CAAA;AACH,CAAC;AAED,MAAM,MAAM,GAA2B,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW,EAAE,CAAA;AAEtG,SAAS,mBAAmB,CAAC,GAAc,EAAE,KAAa,EAAE,SAAiB,EAAE,KAAa;IAC1F,MAAM,IAAI,GAAG,GAAG,CAAC,iBAAiB,CAAA;IAClC,IAAI,IAAI,GAAmB,IAAI,CAAA;IAC/B,IAAI,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;QACnC,IAAI,GAAG,IAAI,KAAK,KAAK,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,IAAI,KAAK,SAAS,CAAC,CAAA;IAC7E,CAAC;SAAM,IAAI,SAAS,IAAI,MAAM,EAAE,CAAC;QAC/B,IAAI,GAAG,IAAI,KAAK,IAAI,IAAI,GAAG,CAAC,oBAAoB,EAAE,UAAU,KAAK,MAAM,CAAC,SAAS,CAAC,CAAA;IACpF,CAAC;SAAM,IAAI,SAAS,KAAK,OAAO,EAAE,CAAC;QACjC,IAAI,GAAG,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,OAAO,CAAA;IAC/C,CAAC;IACD,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI;QAAE,OAAM;IACjC,MAAM,KAAK,GAAG,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,oBAAoB,EAAE,UAAU,IAAI,eAAe,GAAG,CAAC,CAAC,CAAC,EAAE,CAAA;IAClG,MAAM,IAAI,sBAAsB,CAC9B,cAAc,KAAK,KAAK,KAAK,SAAS,IAAI,IAAI,SAAS,GAAG,KAAK,sCAAsC,SAAS,EAAE,EAChH,EAAE,KAAK,EAAE,CACV,CAAA;AACH,CAAC"}
@@ -52,4 +52,17 @@ export declare class MalformedMultipartError extends PipeworkError {
52
52
  readonly httpStatus: 400;
53
53
  constructor(message?: string, details?: Record<string, unknown>);
54
54
  }
55
+ export declare class AuthConfigurationError extends PipeworkError {
56
+ readonly code: "AUTH_CONFIGURATION";
57
+ readonly httpStatus: 500;
58
+ constructor(message: string, details?: Record<string, unknown>);
59
+ }
60
+ export declare class AuthUnavailableError extends PipeworkError {
61
+ readonly code: "AUTH_UNAVAILABLE";
62
+ readonly httpStatus: 503;
63
+ constructor(message: string, options?: {
64
+ cause?: unknown;
65
+ details?: Record<string, unknown>;
66
+ });
67
+ }
55
68
  //# sourceMappingURL=http.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../../src/core/errors/http.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAA;AAEzC,qBAAa,aAAc,SAAQ,aAAa;IAC9C,QAAQ,CAAC,IAAI,EAAG,WAAW,CAAS;IACpC,QAAQ,CAAC,UAAU,EAAG,GAAG,CAAS;gBAEtB,QAAQ,EAAE,MAAM,EAAE,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM;CAGpE;AAED,qBAAa,iBAAkB,SAAQ,aAAa;IAClD,QAAQ,CAAC,IAAI,EAAG,cAAc,CAAS;IACvC,QAAQ,CAAC,UAAU,EAAG,GAAG,CAAS;gBAEtB,OAAO,GAAE,MAAkC,EAAE,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM;CAG/F;AAED,qBAAa,cAAe,SAAQ,aAAa;IAC/C,QAAQ,CAAC,IAAI,EAAG,WAAW,CAAS;IACpC,QAAQ,CAAC,UAAU,EAAG,GAAG,CAAS;gBAEtB,OAAO,GAAE,MAAmC,EAAE,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM;CAGhG;AAED,qBAAa,qBAAsB,SAAQ,aAAa;IACtD,QAAQ,CAAC,IAAI,EAAG,oBAAoB,CAAS;IAC7C,QAAQ,CAAC,UAAU,EAAG,GAAG,CAAS;gBAGhC,OAAO,GAAE,MAAgF,EACzF,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM;CAIxC;AAED,qBAAa,eAAgB,SAAQ,aAAa;IAChD,QAAQ,CAAC,IAAI,EAAG,kBAAkB,CAAS;IAC3C,QAAQ,CAAC,UAAU,EAAG,GAAG,CAAS;IAClC,QAAQ,CAAC,WAAW,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC,CAAC,CAAA;gBAErD,OAAO,EAAE,MAAM;gBACf,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE,MAAM;CAW7E;AAED,qBAAa,oBAAqB,SAAQ,aAAa;IACrD,QAAQ,CAAC,IAAI,EAAG,mBAAmB,CAAS;IAC5C,QAAQ,CAAC,UAAU,EAAG,GAAG,CAAS;IAClC,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAA;gBAEtB,iBAAiB,EAAE,MAAM,EAAE,OAAO,GAAE,MAA8C;CAI/F;AAED,qBAAa,aAAc,SAAQ,aAAa;IAC9C,QAAQ,CAAC,IAAI,EAAG,UAAU,CAAS;IACnC,QAAQ,CAAC,UAAU,EAAG,GAAG,CAAS;gBAEtB,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM;CAGnE;AAGD,qBAAa,oBAAqB,SAAQ,aAAa;IACrD,QAAQ,CAAC,IAAI,EAAG,mBAAmB,CAAS;IAC5C,QAAQ,CAAC,UAAU,EAAG,GAAG,CAAS;gBAEtB,OAAO,GAAE,MAAiC,EAAE,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM;CAG9F;AAED,qBAAa,yBAA0B,SAAQ,aAAa;IAC1D,QAAQ,CAAC,IAAI,EAAG,wBAAwB,CAAS;IACjD,QAAQ,CAAC,UAAU,EAAG,GAAG,CAAS;gBAEtB,OAAO,GAAE,MAAiC,EAAE,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM;CAG9F;AAED,qBAAa,uBAAwB,SAAQ,aAAa;IACxD,QAAQ,CAAC,IAAI,EAAG,qBAAqB,CAAS;IAC9C,QAAQ,CAAC,UAAU,EAAG,GAAG,CAAS;gBAEtB,OAAO,GAAE,MAA8E,EAAE,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM;CAG3I"}
1
+ {"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../../src/core/errors/http.ts"],"names":[],"mappings":"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"}
@@ -23,7 +23,7 @@ export class ForbiddenError extends PipeworkError {
23
23
  export class CrossSiteRequestError extends PipeworkError {
24
24
  code = 'CROSS_SITE_REQUEST';
25
25
  httpStatus = 403;
26
- constructor(message = 'A write authenticated by a cookie must come from the app\'s own site.', details = {}) {
26
+ constructor(message = 'A request authenticated by a cookie must come from the app\'s own site.', details = {}) {
27
27
  super(message, details);
28
28
  }
29
29
  }
@@ -80,4 +80,20 @@ export class MalformedMultipartError extends PipeworkError {
80
80
  super(message, details);
81
81
  }
82
82
  }
83
+ export class AuthConfigurationError extends PipeworkError {
84
+ code = 'AUTH_CONFIGURATION';
85
+ httpStatus = 500;
86
+ constructor(message, details = {}) {
87
+ super(message, details);
88
+ }
89
+ }
90
+ export class AuthUnavailableError extends PipeworkError {
91
+ code = 'AUTH_UNAVAILABLE';
92
+ httpStatus = 503;
93
+ constructor(message, options = {}) {
94
+ super(message, options.details ?? {});
95
+ if (options.cause !== undefined)
96
+ this.cause = options.cause;
97
+ }
98
+ }
83
99
  //# sourceMappingURL=http.js.map