@slashfi/agents-sdk 0.10.1 → 0.11.1

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/dist/index.d.ts CHANGED
@@ -53,7 +53,7 @@ export type { DefineAgentOptions, DefineToolOptions } from "./define.js";
53
53
  export { createAgentRegistry } from "./registry.js";
54
54
  export type { AgentRegistry, AgentRegistryOptions } from "./registry.js";
55
55
  export { createAgentServer, detectAuth, resolveAuth, canSeeAgent } from "./server.js";
56
- export type { AgentServer, AgentServerOptions, AuthConfig, ResolvedAuth } from "./server.js";
56
+ export type { AgentServer, AgentServerOptions, AuthConfig, ResolvedAuth, TrustedIssuer } from "./server.js";
57
57
  export { pendingCollections, generateCollectionToken, cleanupExpiredCollections, } from "./secret-collection.js";
58
58
  export type { PendingCollection, PendingCollectionField, } from "./secret-collection.js";
59
59
  export { createAuthAgent, createMemoryAuthStore, } from "./agent-definitions/auth.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/server.d.ts CHANGED
@@ -29,6 +29,13 @@ import { type SecretStore } from "./agent-definitions/secrets.js";
29
29
  import type { SigningKey } from "./jwt.js";
30
30
  import type { AgentRegistry } from "./registry.js";
31
31
  import type { AgentDefinition } from "./types.js";
32
+ /** A trusted JWT issuer with scopes granted to its tokens */
33
+ export interface TrustedIssuer {
34
+ /** JWKS endpoint base URL (appends /.well-known/jwks.json) */
35
+ issuer: string;
36
+ /** Scopes granted to tokens from this issuer */
37
+ scopes: string[];
38
+ }
32
39
  export interface AgentServerOptions {
33
40
  /** Port to listen on (default: 3000) */
34
41
  port?: number;
@@ -44,8 +51,8 @@ export interface AgentServerOptions {
44
51
  serverVersion?: string;
45
52
  /** Secret store for handling secret: refs in tool params */
46
53
  secretStore?: SecretStore;
47
- /** URLs of trusted registries for cross-registry JWT verification */
48
- trustedIssuers?: string[];
54
+ /** Trusted JWT issuers with per-issuer scopes */
55
+ trustedIssuers?: (TrustedIssuer | string)[];
49
56
  /** Pre-generated signing key (if not provided, one is generated on start) */
50
57
  signingKey?: SigningKey;
51
58
  }
@@ -73,9 +80,9 @@ export interface ResolvedAuth {
73
80
  isRoot: boolean;
74
81
  }
75
82
  export declare function detectAuth(registry: AgentRegistry): AuthConfig | null;
76
- export declare function resolveAuth(req: Request, authConfig: AuthConfig, jwksOptions?: {
83
+ export declare function resolveAuth(req: Request, authConfig: AuthConfig | null, jwksOptions?: {
77
84
  signingKeys?: SigningKey[];
78
- trustedIssuers?: string[];
85
+ trustedIssuers?: TrustedIssuer[];
79
86
  }): Promise<ResolvedAuth | null>;
80
87
  export declare function canSeeAgent(agent: AgentDefinition, auth: ResolvedAuth | null): boolean;
81
88
  export declare function createAgentServer(registry: AgentRegistry, options?: AgentServerOptions): AgentServer;
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EACL,KAAK,WAAW,EAEjB,MAAM,gCAAgC,CAAC;AAExC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAE3C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,KAAK,EAAE,eAAe,EAAgC,MAAM,YAAY,CAAC;AAMhF,MAAM,WAAW,kBAAkB;IACjC,wCAAwC;IACxC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,iDAAiD;IACjD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,4CAA4C;IAC5C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,kCAAkC;IAClC,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,qEAAqE;IACrE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,mEAAmE;IACnE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,4DAA4D;IAC5D,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,qEAAqE;IACrE,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,6EAA6E;IAC7E,UAAU,CAAC,EAAE,UAAU,CAAC;CACzB;AAED,MAAM,WAAW,WAAW;IAC1B,uBAAuB;IACvB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,sBAAsB;IACtB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACtB,yEAAyE;IACzE,KAAK,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IACvC,sDAAsD;IACtD,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,0CAA0C;IAC1C,QAAQ,EAAE,aAAa,CAAC;CACzB;AAwBD,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,SAAS,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,OAAO,GAAG,MAAM,GAAG,QAAQ,CAAC;IACxC,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,MAAM,EAAE,OAAO,CAAC;CACjB;AAqED,wBAAgB,UAAU,CAAC,QAAQ,EAAE,aAAa,GAAG,UAAU,GAAG,IAAI,CAgBrE;AAED,wBAAsB,WAAW,CAC/B,GAAG,EAAE,OAAO,EACZ,UAAU,EAAE,UAAU,EACtB,WAAW,CAAC,EAAE;IAAE,WAAW,CAAC,EAAE,UAAU,EAAE,CAAC;IAAC,cAAc,CAAC,EAAE,MAAM,EAAE,CAAA;CAAE,GACtE,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAkG9B;AAED,wBAAgB,WAAW,CACzB,KAAK,EAAE,eAAe,EACtB,IAAI,EAAE,YAAY,GAAG,IAAI,GACxB,OAAO,CAQT;AA4DD,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,aAAa,EACvB,OAAO,GAAE,kBAAuB,GAC/B,WAAW,CA2Zb"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EACL,KAAK,WAAW,EAEjB,MAAM,gCAAgC,CAAC;AAExC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAE3C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,KAAK,EAAE,eAAe,EAAgC,MAAM,YAAY,CAAC;AAMhF,6DAA6D;AAC7D,MAAM,WAAW,aAAa;IAC5B,8DAA8D;IAC9D,MAAM,EAAE,MAAM,CAAC;IACf,gDAAgD;IAChD,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,MAAM,WAAW,kBAAkB;IACjC,wCAAwC;IACxC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,iDAAiD;IACjD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,4CAA4C;IAC5C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,kCAAkC;IAClC,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,qEAAqE;IACrE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,mEAAmE;IACnE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,4DAA4D;IAC5D,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,iDAAiD;IACjD,cAAc,CAAC,EAAE,CAAC,aAAa,GAAG,MAAM,CAAC,EAAE,CAAC;IAC5C,6EAA6E;IAC7E,UAAU,CAAC,EAAE,UAAU,CAAC;CACzB;AAED,MAAM,WAAW,WAAW;IAC1B,uBAAuB;IACvB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,sBAAsB;IACtB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACtB,yEAAyE;IACzE,KAAK,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IACvC,sDAAsD;IACtD,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,0CAA0C;IAC1C,QAAQ,EAAE,aAAa,CAAC;CACzB;AAwBD,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,SAAS,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,OAAO,GAAG,MAAM,GAAG,QAAQ,CAAC;IACxC,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,MAAM,EAAE,OAAO,CAAC;CACjB;AAqED,wBAAgB,UAAU,CAAC,QAAQ,EAAE,aAAa,GAAG,UAAU,GAAG,IAAI,CAgBrE;AAED,wBAAsB,WAAW,CAC/B,GAAG,EAAE,OAAO,EACZ,UAAU,EAAE,UAAU,GAAG,IAAI,EAC7B,WAAW,CAAC,EAAE;IAAE,WAAW,CAAC,EAAE,UAAU,EAAE,CAAC;IAAC,cAAc,CAAC,EAAE,aAAa,EAAE,CAAA;CAAE,GAC7E,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CA8G9B;AAED,wBAAgB,WAAW,CACzB,KAAK,EAAE,eAAe,EACtB,IAAI,EAAE,YAAY,GAAG,IAAI,GACxB,OAAO,CAQT;AA4DD,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,aAAa,EACvB,OAAO,GAAE,kBAAuB,GAC/B,WAAW,CAiab"}
package/dist/server.js CHANGED
@@ -96,7 +96,7 @@ export async function resolveAuth(req, authConfig, jwksOptions) {
96
96
  if (scheme?.toLowerCase() !== "bearer" || !credential)
97
97
  return null;
98
98
  // Root key check
99
- if (credential === authConfig.rootKey) {
99
+ if (authConfig && credential === authConfig.rootKey) {
100
100
  return {
101
101
  callerId: "root",
102
102
  callerType: "system",
@@ -125,22 +125,31 @@ export async function resolveAuth(req, authConfig, jwksOptions) {
125
125
  }
126
126
  }
127
127
  // Try trusted issuers (remote JWKS verification)
128
+ // Trusted issuer verification: decode iss claim, look up in config, verify JWKS
128
129
  if (parts.length === 3 && jwksOptions?.trustedIssuers?.length) {
129
- for (const issuer of jwksOptions.trustedIssuers) {
130
- try {
131
- const verified = await verifyJwtFromIssuer(credential, issuer);
132
- if (verified) {
133
- return {
134
- callerId: verified.sub ?? verified.name ?? "unknown",
135
- callerType: "agent",
136
- scopes: verified.scopes ?? ["*"],
137
- isRoot: false,
138
- };
130
+ try {
131
+ // Peek at unverified payload to read iss
132
+ const payloadB64 = parts[1].replace(/-/g, "+").replace(/_/g, "/");
133
+ const unverified = JSON.parse(atob(payloadB64));
134
+ if (unverified.iss) {
135
+ const issuerConfig = jwksOptions.trustedIssuers.find((i) => i.issuer === unverified.iss);
136
+ if (issuerConfig) {
137
+ const verified = await verifyJwtFromIssuer(credential, issuerConfig.issuer);
138
+ if (verified) {
139
+ const scopes = issuerConfig.scopes;
140
+ const isSystem = scopes.includes("*") || scopes.includes("agents:admin");
141
+ return {
142
+ callerId: verified.sub ?? verified.name ?? "unknown",
143
+ callerType: isSystem ? "system" : "agent",
144
+ scopes,
145
+ isRoot: isSystem,
146
+ };
147
+ }
139
148
  }
140
149
  }
141
- catch {
142
- continue;
143
- }
150
+ }
151
+ catch {
152
+ // Failed to decode/verify, fall through
144
153
  }
145
154
  }
146
155
  // Try HMAC JWT verification (legacy, stateless)
@@ -149,7 +158,7 @@ export async function resolveAuth(req, authConfig, jwksOptions) {
149
158
  const payloadB64 = parts[1];
150
159
  const padded = payloadB64.replace(/-/g, "+").replace(/_/g, "/");
151
160
  const payload = JSON.parse(atob(padded));
152
- if (payload.sub) {
161
+ if (payload.sub && authConfig) {
153
162
  const client = await authConfig.store.getClient(payload.sub);
154
163
  if (client) {
155
164
  const verified = await verifyJwt(credential, client.clientSecretHash);
@@ -169,6 +178,8 @@ export async function resolveAuth(req, authConfig, jwksOptions) {
169
178
  }
170
179
  }
171
180
  // Legacy: opaque token validation (backwards compat)
181
+ if (!authConfig)
182
+ return null;
172
183
  const token = await authConfig.store.validateToken(credential);
173
184
  if (!token)
174
185
  return null;
@@ -249,7 +260,8 @@ export function createAgentServer(registry, options = {}) {
249
260
  const { port = 3000, hostname = "localhost", basePath = "", cors = true, serverName = "agents-sdk", serverVersion = "1.0.0", secretStore, } = options;
250
261
  // Signing keys for JWKS-based auth
251
262
  const serverSigningKeys = [];
252
- const configTrustedIssuers = options.trustedIssuers ?? [];
263
+ // Normalize trustedIssuers to TrustedIssuer objects
264
+ const configTrustedIssuers = (options.trustedIssuers ?? []).map((i) => typeof i === 'string' ? { issuer: i, scopes: ['*'] } : i);
253
265
  const authConfig = detectAuth(registry);
254
266
  let serverInstance = null;
255
267
  // ──────────────────────────────────────────
@@ -419,10 +431,13 @@ export function createAgentServer(registry, options = {}) {
419
431
  return new Response(null, { status: 204, headers: corsHeaders() });
420
432
  }
421
433
  // Resolve auth for all requests
422
- const auth = authConfig ? await resolveAuth(req, authConfig, {
423
- signingKeys: serverSigningKeys,
424
- trustedIssuers: configTrustedIssuers,
425
- }) : null;
434
+ // Run resolveAuth when authConfig OR trustedIssuers are present
435
+ const auth = (authConfig || configTrustedIssuers.length > 0)
436
+ ? await resolveAuth(req, authConfig, {
437
+ signingKeys: serverSigningKeys,
438
+ trustedIssuers: configTrustedIssuers,
439
+ })
440
+ : null;
426
441
  // Also check header-based identity (for proxied requests)
427
442
  const headerAuth = !auth
428
443
  ? (() => {
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@slashfi/agents-sdk",
3
- "version": "0.10.1",
3
+ "version": "0.11.1",
4
4
  "author": "Slash Financial",
5
5
  "repository": {
6
6
  "type": "git",
package/src/index.ts CHANGED
@@ -98,7 +98,7 @@ export type { AgentRegistry, AgentRegistryOptions } from "./registry.js";
98
98
 
99
99
  // Server
100
100
  export { createAgentServer, detectAuth, resolveAuth, canSeeAgent } from "./server.js";
101
- export type { AgentServer, AgentServerOptions, AuthConfig, ResolvedAuth } from "./server.js";
101
+ export type { AgentServer, AgentServerOptions, AuthConfig, ResolvedAuth, TrustedIssuer } from "./server.js";
102
102
 
103
103
  // Secret Collection
104
104
  export {
package/src/server.ts CHANGED
@@ -40,6 +40,14 @@ import type { AgentDefinition, CallAgentRequest, Visibility } from "./types.js";
40
40
  // Server Types
41
41
  // ============================================
42
42
 
43
+ /** A trusted JWT issuer with scopes granted to its tokens */
44
+ export interface TrustedIssuer {
45
+ /** JWKS endpoint base URL (appends /.well-known/jwks.json) */
46
+ issuer: string;
47
+ /** Scopes granted to tokens from this issuer */
48
+ scopes: string[];
49
+ }
50
+
43
51
  export interface AgentServerOptions {
44
52
  /** Port to listen on (default: 3000) */
45
53
  port?: number;
@@ -55,8 +63,8 @@ export interface AgentServerOptions {
55
63
  serverVersion?: string;
56
64
  /** Secret store for handling secret: refs in tool params */
57
65
  secretStore?: SecretStore;
58
- /** URLs of trusted registries for cross-registry JWT verification */
59
- trustedIssuers?: string[];
66
+ /** Trusted JWT issuers with per-issuer scopes */
67
+ trustedIssuers?: (TrustedIssuer | string)[];
60
68
  /** Pre-generated signing key (if not provided, one is generated on start) */
61
69
  signingKey?: SigningKey;
62
70
  }
@@ -196,8 +204,8 @@ export function detectAuth(registry: AgentRegistry): AuthConfig | null {
196
204
 
197
205
  export async function resolveAuth(
198
206
  req: Request,
199
- authConfig: AuthConfig,
200
- jwksOptions?: { signingKeys?: SigningKey[]; trustedIssuers?: string[] },
207
+ authConfig: AuthConfig | null,
208
+ jwksOptions?: { signingKeys?: SigningKey[]; trustedIssuers?: TrustedIssuer[] },
201
209
  ): Promise<ResolvedAuth | null> {
202
210
  const authHeader = req.headers.get("Authorization");
203
211
  if (!authHeader) return null;
@@ -206,7 +214,7 @@ export async function resolveAuth(
206
214
  if (scheme?.toLowerCase() !== "bearer" || !credential) return null;
207
215
 
208
216
  // Root key check
209
- if (credential === authConfig.rootKey) {
217
+ if (authConfig && credential === authConfig.rootKey) {
210
218
  return {
211
219
  callerId: "root",
212
220
  callerType: "system",
@@ -236,21 +244,32 @@ export async function resolveAuth(
236
244
  }
237
245
 
238
246
  // Try trusted issuers (remote JWKS verification)
247
+ // Trusted issuer verification: decode iss claim, look up in config, verify JWKS
239
248
  if (parts.length === 3 && jwksOptions?.trustedIssuers?.length) {
240
- for (const issuer of jwksOptions.trustedIssuers) {
241
- try {
242
- const verified = await verifyJwtFromIssuer(credential, issuer);
243
- if (verified) {
244
- return {
245
- callerId: verified.sub ?? verified.name ?? "unknown",
246
- callerType: "agent",
247
- scopes: verified.scopes ?? ["*"],
248
- isRoot: false,
249
- };
249
+ try {
250
+ // Peek at unverified payload to read iss
251
+ const payloadB64 = parts[1].replace(/-/g, "+").replace(/_/g, "/");
252
+ const unverified = JSON.parse(atob(payloadB64)) as { iss?: string };
253
+ if (unverified.iss) {
254
+ const issuerConfig = jwksOptions.trustedIssuers.find(
255
+ (i) => i.issuer === unverified.iss
256
+ );
257
+ if (issuerConfig) {
258
+ const verified = await verifyJwtFromIssuer(credential, issuerConfig.issuer);
259
+ if (verified) {
260
+ const scopes = issuerConfig.scopes;
261
+ const isSystem = scopes.includes("*") || scopes.includes("agents:admin");
262
+ return {
263
+ callerId: verified.sub ?? verified.name ?? "unknown",
264
+ callerType: isSystem ? "system" : "agent",
265
+ scopes,
266
+ isRoot: isSystem,
267
+ };
268
+ }
250
269
  }
251
- } catch {
252
- continue;
253
270
  }
271
+ } catch {
272
+ // Failed to decode/verify, fall through
254
273
  }
255
274
  }
256
275
 
@@ -266,7 +285,7 @@ export async function resolveAuth(
266
285
  exp?: number;
267
286
  };
268
287
 
269
- if (payload.sub) {
288
+ if (payload.sub && authConfig) {
270
289
  const client = await authConfig.store.getClient(payload.sub);
271
290
  if (client) {
272
291
  const verified = await verifyJwt(credential, client.clientSecretHash);
@@ -286,6 +305,7 @@ export async function resolveAuth(
286
305
  }
287
306
 
288
307
  // Legacy: opaque token validation (backwards compat)
308
+ if (!authConfig) return null;
289
309
  const token = await authConfig.store.validateToken(credential);
290
310
  if (!token) return null;
291
311
 
@@ -385,7 +405,10 @@ export function createAgentServer(
385
405
 
386
406
  // Signing keys for JWKS-based auth
387
407
  const serverSigningKeys: SigningKey[] = [];
388
- const configTrustedIssuers: string[] = options.trustedIssuers ?? [];
408
+ // Normalize trustedIssuers to TrustedIssuer objects
409
+ const configTrustedIssuers: TrustedIssuer[] = (options.trustedIssuers ?? []).map(
410
+ (i) => typeof i === 'string' ? { issuer: i, scopes: ['*'] } : i
411
+ );
389
412
 
390
413
  const authConfig = detectAuth(registry);
391
414
  let serverInstance: ReturnType<typeof Bun.serve> | null = null;
@@ -613,10 +636,13 @@ export function createAgentServer(
613
636
  }
614
637
 
615
638
  // Resolve auth for all requests
616
- const auth = authConfig ? await resolveAuth(req, authConfig, {
617
- signingKeys: serverSigningKeys,
618
- trustedIssuers: configTrustedIssuers,
619
- }) : null;
639
+ // Run resolveAuth when authConfig OR trustedIssuers are present
640
+ const auth = (authConfig || configTrustedIssuers.length > 0)
641
+ ? await resolveAuth(req, authConfig, {
642
+ signingKeys: serverSigningKeys,
643
+ trustedIssuers: configTrustedIssuers,
644
+ })
645
+ : null;
620
646
 
621
647
  // Also check header-based identity (for proxied requests)
622
648
  const headerAuth: ResolvedAuth | null = !auth