@kya-os/mcp-i-core 1.3.10 → 1.3.11
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/.claude/settings.local.json +9 -0
- package/.turbo/turbo-build.log +1 -1
- package/.turbo/turbo-test$colon$coverage.log +3419 -3072
- package/.turbo/turbo-test.log +1805 -1680
- package/coverage/coverage-final.json +60 -0
- package/dist/identity/idp-token-resolver.d.ts +17 -1
- package/dist/identity/idp-token-resolver.d.ts.map +1 -1
- package/dist/identity/idp-token-resolver.js +34 -6
- package/dist/identity/idp-token-resolver.js.map +1 -1
- package/dist/identity/idp-token-storage.interface.d.ts +38 -7
- package/dist/identity/idp-token-storage.interface.d.ts.map +1 -1
- package/dist/identity/idp-token-storage.interface.js +2 -0
- package/dist/identity/idp-token-storage.interface.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/services/tool-context-builder.d.ts +18 -1
- package/dist/services/tool-context-builder.d.ts.map +1 -1
- package/dist/services/tool-context-builder.js +63 -10
- package/dist/services/tool-context-builder.js.map +1 -1
- package/dist/services/tool-protection.service.d.ts +1 -1
- package/dist/services/tool-protection.service.d.ts.map +1 -1
- package/dist/services/tool-protection.service.js +17 -10
- package/dist/services/tool-protection.service.js.map +1 -1
- package/dist/utils/did-helpers.d.ts +33 -0
- package/dist/utils/did-helpers.d.ts.map +1 -1
- package/dist/utils/did-helpers.js +53 -0
- package/dist/utils/did-helpers.js.map +1 -1
- package/package.json +1 -1
- package/src/delegation/__tests__/vc-issuer.test.ts +1 -1
- package/src/identity/idp-token-resolver.ts +41 -7
- package/src/identity/idp-token-storage.interface.ts +42 -7
- package/src/index.ts +6 -2
- package/src/services/tool-context-builder.ts +75 -10
- package/src/services/tool-protection.service.ts +51 -32
- package/src/utils/__tests__/did-helpers.test.ts +55 -0
- package/src/utils/did-helpers.ts +60 -0
- package/dist/__tests__/utils/mock-providers.d.ts +0 -104
- package/dist/__tests__/utils/mock-providers.d.ts.map +0 -1
- package/dist/__tests__/utils/mock-providers.js +0 -293
- package/dist/__tests__/utils/mock-providers.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-protection.service.js","sourceRoot":"","sources":["../../src/services/tool-protection.service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tool-protection.service.js","sourceRoot":"","sources":["../../src/services/tool-protection.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -120,4 +120,37 @@ export declare function extractAgentId(did: string): string;
|
|
|
120
120
|
* ```
|
|
121
121
|
*/
|
|
122
122
|
export declare function extractAgentSlug(did: string): string;
|
|
123
|
+
/**
|
|
124
|
+
* Generate a did:key from Ed25519 public key bytes
|
|
125
|
+
*
|
|
126
|
+
* Following spec: https://w3c-ccg.github.io/did-method-key/
|
|
127
|
+
* Format: did:key:z<multibase-base58btc(<multicodec-ed25519-pub><publicKey>)>
|
|
128
|
+
*
|
|
129
|
+
* @param publicKeyBytes - Ed25519 public key as Uint8Array (32 bytes)
|
|
130
|
+
* @returns did:key string
|
|
131
|
+
*
|
|
132
|
+
* @example
|
|
133
|
+
* ```typescript
|
|
134
|
+
* const publicKey = new Uint8Array(32); // 32-byte Ed25519 public key
|
|
135
|
+
* const did = generateDidKeyFromBytes(publicKey);
|
|
136
|
+
* // did = "did:key:z6Mk..."
|
|
137
|
+
* ```
|
|
138
|
+
*/
|
|
139
|
+
export declare function generateDidKeyFromBytes(publicKeyBytes: Uint8Array): string;
|
|
140
|
+
/**
|
|
141
|
+
* Generate a did:key from base64-encoded Ed25519 public key
|
|
142
|
+
*
|
|
143
|
+
* Convenience wrapper around generateDidKeyFromBytes for base64-encoded keys.
|
|
144
|
+
*
|
|
145
|
+
* @param publicKeyBase64 - Ed25519 public key as base64 string
|
|
146
|
+
* @returns did:key string
|
|
147
|
+
*
|
|
148
|
+
* @example
|
|
149
|
+
* ```typescript
|
|
150
|
+
* const publicKeyBase64 = "...base64 encoded key...";
|
|
151
|
+
* const did = generateDidKeyFromBase64(publicKeyBase64);
|
|
152
|
+
* // did = "did:key:z6Mk..."
|
|
153
|
+
* ```
|
|
154
|
+
*/
|
|
155
|
+
export declare function generateDidKeyFromBase64(publicKeyBase64: string): string;
|
|
123
156
|
//# sourceMappingURL=did-helpers.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"did-helpers.d.ts","sourceRoot":"","sources":["../../src/utils/did-helpers.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;
|
|
1
|
+
{"version":3,"file":"did-helpers.d.ts","sourceRoot":"","sources":["../../src/utils/did-helpers.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH;;;;;;;;;;;GAWG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAE/C;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAMvD;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEhD;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAE/D;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE;IACnC,QAAQ,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CACrD,GAAG,MAAM,CAMT;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAGlD;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEpD;AAQD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,uBAAuB,CAAC,cAAc,EAAE,UAAU,GAAG,MAAM,CAW1E;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,wBAAwB,CAAC,eAAe,EAAE,MAAM,GAAG,MAAM,CAMxE"}
|
|
@@ -15,6 +15,9 @@ exports.compareDids = compareDids;
|
|
|
15
15
|
exports.getServerDid = getServerDid;
|
|
16
16
|
exports.extractAgentId = extractAgentId;
|
|
17
17
|
exports.extractAgentSlug = extractAgentSlug;
|
|
18
|
+
exports.generateDidKeyFromBytes = generateDidKeyFromBytes;
|
|
19
|
+
exports.generateDidKeyFromBase64 = generateDidKeyFromBase64;
|
|
20
|
+
const base58_1 = require("./base58");
|
|
18
21
|
/**
|
|
19
22
|
* Check if a string is a valid DID format
|
|
20
23
|
*
|
|
@@ -147,4 +150,54 @@ function extractAgentId(did) {
|
|
|
147
150
|
function extractAgentSlug(did) {
|
|
148
151
|
return extractAgentId(did);
|
|
149
152
|
}
|
|
153
|
+
/**
|
|
154
|
+
* Ed25519 multicodec prefix for did:key encoding
|
|
155
|
+
* As per https://w3c-ccg.github.io/did-method-key/
|
|
156
|
+
*/
|
|
157
|
+
const ED25519_MULTICODEC_PREFIX = new Uint8Array([0xed, 0x01]);
|
|
158
|
+
/**
|
|
159
|
+
* Generate a did:key from Ed25519 public key bytes
|
|
160
|
+
*
|
|
161
|
+
* Following spec: https://w3c-ccg.github.io/did-method-key/
|
|
162
|
+
* Format: did:key:z<multibase-base58btc(<multicodec-ed25519-pub><publicKey>)>
|
|
163
|
+
*
|
|
164
|
+
* @param publicKeyBytes - Ed25519 public key as Uint8Array (32 bytes)
|
|
165
|
+
* @returns did:key string
|
|
166
|
+
*
|
|
167
|
+
* @example
|
|
168
|
+
* ```typescript
|
|
169
|
+
* const publicKey = new Uint8Array(32); // 32-byte Ed25519 public key
|
|
170
|
+
* const did = generateDidKeyFromBytes(publicKey);
|
|
171
|
+
* // did = "did:key:z6Mk..."
|
|
172
|
+
* ```
|
|
173
|
+
*/
|
|
174
|
+
function generateDidKeyFromBytes(publicKeyBytes) {
|
|
175
|
+
// Combine multicodec prefix + public key
|
|
176
|
+
const multicodecKey = new Uint8Array(ED25519_MULTICODEC_PREFIX.length + publicKeyBytes.length);
|
|
177
|
+
multicodecKey.set(ED25519_MULTICODEC_PREFIX);
|
|
178
|
+
multicodecKey.set(publicKeyBytes, ED25519_MULTICODEC_PREFIX.length);
|
|
179
|
+
// Base58-btc encode and add multibase prefix 'z'
|
|
180
|
+
const base58Encoded = (0, base58_1.base58Encode)(multicodecKey);
|
|
181
|
+
return `did:key:z${base58Encoded}`;
|
|
182
|
+
}
|
|
183
|
+
/**
|
|
184
|
+
* Generate a did:key from base64-encoded Ed25519 public key
|
|
185
|
+
*
|
|
186
|
+
* Convenience wrapper around generateDidKeyFromBytes for base64-encoded keys.
|
|
187
|
+
*
|
|
188
|
+
* @param publicKeyBase64 - Ed25519 public key as base64 string
|
|
189
|
+
* @returns did:key string
|
|
190
|
+
*
|
|
191
|
+
* @example
|
|
192
|
+
* ```typescript
|
|
193
|
+
* const publicKeyBase64 = "...base64 encoded key...";
|
|
194
|
+
* const did = generateDidKeyFromBase64(publicKeyBase64);
|
|
195
|
+
* // did = "did:key:z6Mk..."
|
|
196
|
+
* ```
|
|
197
|
+
*/
|
|
198
|
+
function generateDidKeyFromBase64(publicKeyBase64) {
|
|
199
|
+
// Decode base64 to bytes
|
|
200
|
+
const publicKeyBytes = Uint8Array.from(atob(publicKeyBase64), (c) => c.charCodeAt(0));
|
|
201
|
+
return generateDidKeyFromBytes(publicKeyBytes);
|
|
202
|
+
}
|
|
150
203
|
//# sourceMappingURL=did-helpers.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"did-helpers.js","sourceRoot":"","sources":["../../src/utils/did-helpers.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;
|
|
1
|
+
{"version":3,"file":"did-helpers.js","sourceRoot":"","sources":["../../src/utils/did-helpers.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;AAgBH,gCAEC;AAeD,oCAMC;AAaD,oCAEC;AAeD,kCAEC;AAwBD,oCAQC;AAiBD,wCAGC;AAkBD,4CAEC;AAwBD,0DAWC;AAiBD,4DAMC;AAvMD,qCAAwC;AAExC;;;;;;;;;;;GAWG;AACH,SAAgB,UAAU,CAAC,GAAW;IACpC,OAAO,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;AAC3D,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,SAAgB,YAAY,CAAC,GAAW;IACtC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACrB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;IACzC,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AACjC,CAAC;AAED;;;;;;;;;;GAUG;AACH,SAAgB,YAAY,CAAC,GAAW;IACtC,OAAO,GAAG,CAAC,IAAI,EAAE,CAAC;AACpB,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,SAAgB,WAAW,CAAC,IAAY,EAAE,IAAY;IACpD,OAAO,YAAY,CAAC,IAAI,CAAC,KAAK,YAAY,CAAC,IAAI,CAAC,CAAC;AACnD,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,SAAgB,YAAY,CAAC,MAE5B;IACC,MAAM,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,SAAS,IAAI,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC;IACxE,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;IAC/C,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,SAAgB,cAAc,CAAC,GAAW;IACxC,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC7B,OAAO,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AACjC,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,SAAgB,gBAAgB,CAAC,GAAW;IAC1C,OAAO,cAAc,CAAC,GAAG,CAAC,CAAC;AAC7B,CAAC;AAED;;;GAGG;AACH,MAAM,yBAAyB,GAAG,IAAI,UAAU,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;AAE/D;;;;;;;;;;;;;;;GAeG;AACH,SAAgB,uBAAuB,CAAC,cAA0B;IAChE,yCAAyC;IACzC,MAAM,aAAa,GAAG,IAAI,UAAU,CAClC,yBAAyB,CAAC,MAAM,GAAG,cAAc,CAAC,MAAM,CACzD,CAAC;IACF,aAAa,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;IAC7C,aAAa,CAAC,GAAG,CAAC,cAAc,EAAE,yBAAyB,CAAC,MAAM,CAAC,CAAC;IAEpE,iDAAiD;IACjD,MAAM,aAAa,GAAG,IAAA,qBAAY,EAAC,aAAa,CAAC,CAAC;IAClD,OAAO,YAAY,aAAa,EAAE,CAAC;AACrC,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,SAAgB,wBAAwB,CAAC,eAAuB;IAC9D,yBAAyB;IACzB,MAAM,cAAc,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAClE,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAChB,CAAC;IACF,OAAO,uBAAuB,CAAC,cAAc,CAAC,CAAC;AACjD,CAAC"}
|
package/package.json
CHANGED
|
@@ -4,11 +4,14 @@
|
|
|
4
4
|
* Resolves User DID to IDP access token (MH-7 requirement).
|
|
5
5
|
* Handles token lookup, expiration checking, and automatic refresh.
|
|
6
6
|
*
|
|
7
|
+
* Updated for CRED-003: Returns full token data including usage metadata
|
|
8
|
+
* to support credential providers with custom token usage patterns.
|
|
9
|
+
*
|
|
7
10
|
* @package @kya-os/mcp-i-core
|
|
8
11
|
*/
|
|
9
12
|
|
|
10
13
|
import type { IdpTokens } from "@kya-os/contracts/config";
|
|
11
|
-
import type { IIdpTokenStorage } from "./idp-token-storage.interface.js";
|
|
14
|
+
import type { IIdpTokenStorage, IdpTokensWithMetadata } from "./idp-token-storage.interface.js";
|
|
12
15
|
|
|
13
16
|
export interface IdpTokenResolverConfig {
|
|
14
17
|
/** Token storage implementation */
|
|
@@ -68,6 +71,27 @@ export class IdpTokenResolver {
|
|
|
68
71
|
provider: string,
|
|
69
72
|
scopes: string[]
|
|
70
73
|
): Promise<string | null> {
|
|
74
|
+
const tokenData = await this.resolveTokenDataFromDid(userDid, provider, scopes);
|
|
75
|
+
return tokenData?.access_token ?? null;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
/**
|
|
79
|
+
* Resolve User DID to full IDP token data (CRED-003)
|
|
80
|
+
*
|
|
81
|
+
* Returns the full token data including usage metadata for credential providers.
|
|
82
|
+
* This allows ToolContextBuilder to construct appropriate headers based on
|
|
83
|
+
* tokenUsage (cookie/bearer/header) and cookieFormat.
|
|
84
|
+
*
|
|
85
|
+
* @param userDid - User DID to resolve
|
|
86
|
+
* @param provider - OAuth provider name or credential provider
|
|
87
|
+
* @param scopes - Required scopes for token
|
|
88
|
+
* @returns Full token data with metadata or null if not found/expired
|
|
89
|
+
*/
|
|
90
|
+
async resolveTokenDataFromDid(
|
|
91
|
+
userDid: string,
|
|
92
|
+
provider: string,
|
|
93
|
+
scopes: string[]
|
|
94
|
+
): Promise<IdpTokensWithMetadata | null> {
|
|
71
95
|
// 1. Look up token from storage
|
|
72
96
|
const storedToken = await this.config.tokenStorage.getToken(
|
|
73
97
|
userDid,
|
|
@@ -95,6 +119,7 @@ export class IdpTokenResolver {
|
|
|
95
119
|
});
|
|
96
120
|
|
|
97
121
|
// 3. Refresh if refresh_token available
|
|
122
|
+
// Note: Credential tokens don't support refresh - they require re-authentication
|
|
98
123
|
if (storedToken.refresh_token) {
|
|
99
124
|
const refreshed = await this.config.oauthService.refreshToken(
|
|
100
125
|
provider,
|
|
@@ -102,12 +127,20 @@ export class IdpTokenResolver {
|
|
|
102
127
|
);
|
|
103
128
|
|
|
104
129
|
if (refreshed) {
|
|
105
|
-
// 4. Update storage with new tokens
|
|
130
|
+
// 4. Update storage with new tokens, preserving usage metadata
|
|
131
|
+
const refreshedWithMetadata: IdpTokensWithMetadata = {
|
|
132
|
+
...refreshed,
|
|
133
|
+
tokenUsage: storedToken.tokenUsage,
|
|
134
|
+
tokenHeader: storedToken.tokenHeader,
|
|
135
|
+
cookieFormat: storedToken.cookieFormat,
|
|
136
|
+
apiHeaders: storedToken.apiHeaders,
|
|
137
|
+
};
|
|
138
|
+
|
|
106
139
|
await this.config.tokenStorage.storeToken(
|
|
107
140
|
userDid,
|
|
108
141
|
provider,
|
|
109
142
|
scopes,
|
|
110
|
-
|
|
143
|
+
refreshedWithMetadata
|
|
111
144
|
);
|
|
112
145
|
|
|
113
146
|
this.config.logger("[IdpTokenResolver] Token refreshed successfully", {
|
|
@@ -116,8 +149,8 @@ export class IdpTokenResolver {
|
|
|
116
149
|
expiresAt: new Date(refreshed.expires_at).toISOString(),
|
|
117
150
|
});
|
|
118
151
|
|
|
119
|
-
// 5. Return new
|
|
120
|
-
return
|
|
152
|
+
// 5. Return new token data
|
|
153
|
+
return refreshedWithMetadata;
|
|
121
154
|
} else {
|
|
122
155
|
this.config.logger("[IdpTokenResolver] Token refresh failed", {
|
|
123
156
|
userDid: userDid.substring(0, 20) + "...",
|
|
@@ -134,14 +167,15 @@ export class IdpTokenResolver {
|
|
|
134
167
|
}
|
|
135
168
|
}
|
|
136
169
|
|
|
137
|
-
// 4. Return valid
|
|
170
|
+
// 4. Return valid token data
|
|
138
171
|
this.config.logger("[IdpTokenResolver] Token resolved successfully", {
|
|
139
172
|
userDid: userDid.substring(0, 20) + "...",
|
|
140
173
|
provider,
|
|
141
174
|
expiresAt: new Date(storedToken.expires_at).toISOString(),
|
|
175
|
+
tokenUsage: storedToken.tokenUsage,
|
|
142
176
|
});
|
|
143
177
|
|
|
144
|
-
return storedToken
|
|
178
|
+
return storedToken;
|
|
145
179
|
}
|
|
146
180
|
}
|
|
147
181
|
|
|
@@ -5,11 +5,46 @@
|
|
|
5
5
|
* Platform-specific implementations (Cloudflare KV, Node.js database, etc.)
|
|
6
6
|
* implement this interface.
|
|
7
7
|
*
|
|
8
|
+
* Supports both OAuth tokens and credential-based session tokens (CRED-003).
|
|
9
|
+
*
|
|
8
10
|
* @package @kya-os/mcp-i-core
|
|
9
11
|
*/
|
|
10
12
|
|
|
11
13
|
import type { IdpTokens } from "@kya-os/contracts/config";
|
|
12
14
|
|
|
15
|
+
/**
|
|
16
|
+
* Token usage metadata for credential providers (CRED-003)
|
|
17
|
+
*
|
|
18
|
+
* Specifies how the token should be used in subsequent API calls.
|
|
19
|
+
*/
|
|
20
|
+
export interface TokenUsageMetadata {
|
|
21
|
+
/**
|
|
22
|
+
* How to use the token in requests
|
|
23
|
+
* - "cookie": Send as Cookie header
|
|
24
|
+
* - "bearer": Send as Authorization: Bearer xxx
|
|
25
|
+
* - "header": Send as custom header (specify tokenHeader)
|
|
26
|
+
*/
|
|
27
|
+
tokenUsage?: "cookie" | "bearer" | "header";
|
|
28
|
+
|
|
29
|
+
/** Custom header name when tokenUsage is "header" */
|
|
30
|
+
tokenHeader?: string;
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* Cookie format template when tokenUsage is "cookie"
|
|
34
|
+
* Use {{token}} placeholder for the token value
|
|
35
|
+
* @example "CIX={{token}}; customerCookie={{token}}"
|
|
36
|
+
*/
|
|
37
|
+
cookieFormat?: string;
|
|
38
|
+
|
|
39
|
+
/** Additional headers to include in API calls */
|
|
40
|
+
apiHeaders?: Record<string, string>;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
/**
|
|
44
|
+
* Extended IdpTokens with usage metadata (CRED-003)
|
|
45
|
+
*/
|
|
46
|
+
export interface IdpTokensWithMetadata extends IdpTokens, TokenUsageMetadata {}
|
|
47
|
+
|
|
13
48
|
/**
|
|
14
49
|
* Interface for IDP token storage
|
|
15
50
|
*/
|
|
@@ -18,36 +53,36 @@ export interface IIdpTokenStorage {
|
|
|
18
53
|
* Store IDP tokens
|
|
19
54
|
*
|
|
20
55
|
* @param userDid - User DID to associate tokens with
|
|
21
|
-
* @param provider - OAuth provider name
|
|
56
|
+
* @param provider - OAuth provider name or credential provider
|
|
22
57
|
* @param scopes - Scopes granted for these tokens
|
|
23
|
-
* @param tokens - IDP tokens to store
|
|
58
|
+
* @param tokens - IDP tokens to store (may include usage metadata for credentials)
|
|
24
59
|
*/
|
|
25
60
|
storeToken(
|
|
26
61
|
userDid: string,
|
|
27
62
|
provider: string,
|
|
28
63
|
scopes: string[],
|
|
29
|
-
tokens: IdpTokens
|
|
64
|
+
tokens: IdpTokens | IdpTokensWithMetadata
|
|
30
65
|
): Promise<void>;
|
|
31
66
|
|
|
32
67
|
/**
|
|
33
68
|
* Retrieve IDP tokens
|
|
34
69
|
*
|
|
35
70
|
* @param userDid - User DID to retrieve tokens for
|
|
36
|
-
* @param provider - OAuth provider name
|
|
71
|
+
* @param provider - OAuth provider name or credential provider
|
|
37
72
|
* @param scopes - Scopes to retrieve tokens for
|
|
38
|
-
* @returns IDP tokens or null if not found
|
|
73
|
+
* @returns IDP tokens with optional usage metadata or null if not found
|
|
39
74
|
*/
|
|
40
75
|
getToken(
|
|
41
76
|
userDid: string,
|
|
42
77
|
provider: string,
|
|
43
78
|
scopes: string[]
|
|
44
|
-
): Promise<
|
|
79
|
+
): Promise<IdpTokensWithMetadata | null>;
|
|
45
80
|
|
|
46
81
|
/**
|
|
47
82
|
* Delete IDP tokens
|
|
48
83
|
*
|
|
49
84
|
* @param userDid - User DID
|
|
50
|
-
* @param provider - OAuth provider name
|
|
85
|
+
* @param provider - OAuth provider name or credential provider
|
|
51
86
|
* @param scopes - Scopes
|
|
52
87
|
*/
|
|
53
88
|
deleteToken(
|
package/src/index.ts
CHANGED
|
@@ -300,7 +300,11 @@ export type {
|
|
|
300
300
|
OAuthIdentity,
|
|
301
301
|
} from "./identity/user-did-manager";
|
|
302
302
|
|
|
303
|
-
// IDP Token Resolver (Phase 1 - MH-7)
|
|
303
|
+
// IDP Token Resolver (Phase 1 - MH-7, updated for CRED-003)
|
|
304
304
|
export { IdpTokenResolver } from "./identity/idp-token-resolver";
|
|
305
305
|
export type { IdpTokenResolverConfig } from "./identity/idp-token-resolver";
|
|
306
|
-
export type {
|
|
306
|
+
export type {
|
|
307
|
+
IIdpTokenStorage,
|
|
308
|
+
TokenUsageMetadata,
|
|
309
|
+
IdpTokensWithMetadata,
|
|
310
|
+
} from "./identity/idp-token-storage.interface";
|
|
@@ -4,11 +4,15 @@
|
|
|
4
4
|
* Builds ToolExecutionContext for tool handlers by resolving IDP tokens
|
|
5
5
|
* based on tool protection configuration and user identity.
|
|
6
6
|
*
|
|
7
|
+
* Updated for CRED-003: Builds idpHeaders based on tokenUsage metadata
|
|
8
|
+
* to support credential providers with custom token usage patterns.
|
|
9
|
+
*
|
|
7
10
|
* @package @kya-os/mcp-i-core
|
|
8
11
|
*/
|
|
9
12
|
|
|
10
13
|
import type { ToolExecutionContext } from "@kya-os/contracts/config";
|
|
11
14
|
import type { IdpTokenResolver } from "../identity/idp-token-resolver.js";
|
|
15
|
+
import type { IdpTokensWithMetadata } from "../identity/idp-token-storage.interface.js";
|
|
12
16
|
import type { ToolProtection } from "../types/tool-protection.js";
|
|
13
17
|
import type { OAuthConfigService } from "./oauth-config.service.js";
|
|
14
18
|
import type { ProviderResolver } from "./provider-resolver.js";
|
|
@@ -57,7 +61,7 @@ export class ToolContextBuilder {
|
|
|
57
61
|
* Build tool execution context
|
|
58
62
|
*
|
|
59
63
|
* @param toolName - Name of the tool being executed
|
|
60
|
-
* @param userDid - User DID (optional, required for OAuth)
|
|
64
|
+
* @param userDid - User DID (optional, required for OAuth/credentials)
|
|
61
65
|
* @param sessionId - Session ID (optional)
|
|
62
66
|
* @param delegationToken - Delegation token (optional)
|
|
63
67
|
* @param toolProtection - Tool protection configuration (optional)
|
|
@@ -70,7 +74,7 @@ export class ToolContextBuilder {
|
|
|
70
74
|
delegationToken: string | undefined,
|
|
71
75
|
toolProtection: ToolProtection | null
|
|
72
76
|
): Promise<ToolExecutionContext | undefined> {
|
|
73
|
-
// Only build context if tool requires OAuth
|
|
77
|
+
// Only build context if tool requires OAuth/credentials
|
|
74
78
|
if (!toolProtection?.requiredScopes?.length || !userDid) {
|
|
75
79
|
return undefined;
|
|
76
80
|
}
|
|
@@ -90,15 +94,16 @@ export class ToolContextBuilder {
|
|
|
90
94
|
return undefined;
|
|
91
95
|
}
|
|
92
96
|
|
|
93
|
-
// Resolve
|
|
94
|
-
|
|
97
|
+
// CRED-003: Resolve full token data (not just access_token)
|
|
98
|
+
// This includes tokenUsage, cookieFormat, apiHeaders for credential providers
|
|
99
|
+
const tokenData = await this.config.tokenResolver.resolveTokenDataFromDid(
|
|
95
100
|
userDid,
|
|
96
101
|
provider,
|
|
97
102
|
toolProtection.requiredScopes
|
|
98
103
|
);
|
|
99
104
|
|
|
100
|
-
if (!
|
|
101
|
-
// Token not available - throw OAuthRequiredError to trigger
|
|
105
|
+
if (!tokenData) {
|
|
106
|
+
// Token not available - throw OAuthRequiredError to trigger auth flow
|
|
102
107
|
this.config.logger("[ToolContextBuilder] Token not available, throwing OAuthRequiredError", {
|
|
103
108
|
toolName,
|
|
104
109
|
userDid: userDid.substring(0, 20) + "...",
|
|
@@ -107,7 +112,7 @@ export class ToolContextBuilder {
|
|
|
107
112
|
});
|
|
108
113
|
|
|
109
114
|
// Throw error with provider and scopes info
|
|
110
|
-
//
|
|
115
|
+
// Auth URL will be built by the Cloudflare layer (agent.ts)
|
|
111
116
|
throw new OAuthRequiredError({
|
|
112
117
|
toolName,
|
|
113
118
|
requiredScopes: toolProtection.requiredScopes,
|
|
@@ -118,9 +123,13 @@ export class ToolContextBuilder {
|
|
|
118
123
|
});
|
|
119
124
|
}
|
|
120
125
|
|
|
121
|
-
// Build
|
|
126
|
+
// CRED-003: Build headers based on tokenUsage
|
|
127
|
+
const idpHeaders = this.buildAuthHeaders(tokenData);
|
|
128
|
+
|
|
129
|
+
// Build context with token and headers
|
|
122
130
|
const context: ToolExecutionContext = {
|
|
123
|
-
idpToken,
|
|
131
|
+
idpToken: tokenData.access_token,
|
|
132
|
+
idpHeaders,
|
|
124
133
|
provider,
|
|
125
134
|
scopes: toolProtection.requiredScopes,
|
|
126
135
|
userDid,
|
|
@@ -132,12 +141,68 @@ export class ToolContextBuilder {
|
|
|
132
141
|
toolName,
|
|
133
142
|
userDid: userDid.substring(0, 20) + "...",
|
|
134
143
|
provider,
|
|
135
|
-
hasToken: !!
|
|
144
|
+
hasToken: !!tokenData.access_token,
|
|
145
|
+
tokenUsage: tokenData.tokenUsage,
|
|
146
|
+
headerKeys: Object.keys(idpHeaders),
|
|
136
147
|
});
|
|
137
148
|
|
|
138
149
|
return context;
|
|
139
150
|
}
|
|
140
151
|
|
|
152
|
+
/**
|
|
153
|
+
* Build authentication headers based on token usage metadata (CRED-003)
|
|
154
|
+
*
|
|
155
|
+
* Supports three modes:
|
|
156
|
+
* - "cookie": Cookie header (with optional cookieFormat template)
|
|
157
|
+
* - "bearer": Authorization: Bearer xxx
|
|
158
|
+
* - "header": Custom header name
|
|
159
|
+
*
|
|
160
|
+
* Also includes any apiHeaders from provider config.
|
|
161
|
+
*
|
|
162
|
+
* @param tokenData - Token data with usage metadata
|
|
163
|
+
* @returns Headers object for API calls
|
|
164
|
+
*/
|
|
165
|
+
private buildAuthHeaders(tokenData: IdpTokensWithMetadata): Record<string, string> {
|
|
166
|
+
const authHeaders: Record<string, string> = {};
|
|
167
|
+
|
|
168
|
+
const tokenUsage = tokenData.tokenUsage || "bearer"; // Default to bearer for OAuth
|
|
169
|
+
const token = tokenData.access_token;
|
|
170
|
+
|
|
171
|
+
switch (tokenUsage) {
|
|
172
|
+
case "cookie":
|
|
173
|
+
// Use cookieFormat if specified, otherwise send raw token
|
|
174
|
+
if (tokenData.cookieFormat) {
|
|
175
|
+
authHeaders["Cookie"] = tokenData.cookieFormat.replace(
|
|
176
|
+
/\{\{token\}\}/g,
|
|
177
|
+
token
|
|
178
|
+
);
|
|
179
|
+
} else {
|
|
180
|
+
authHeaders["Cookie"] = token;
|
|
181
|
+
}
|
|
182
|
+
break;
|
|
183
|
+
|
|
184
|
+
case "bearer":
|
|
185
|
+
authHeaders["Authorization"] = `Bearer ${token}`;
|
|
186
|
+
break;
|
|
187
|
+
|
|
188
|
+
case "header":
|
|
189
|
+
const headerName = tokenData.tokenHeader || "X-Session-Token";
|
|
190
|
+
authHeaders[headerName] = token;
|
|
191
|
+
break;
|
|
192
|
+
|
|
193
|
+
default:
|
|
194
|
+
// Unknown usage - default to bearer
|
|
195
|
+
authHeaders["Authorization"] = `Bearer ${token}`;
|
|
196
|
+
}
|
|
197
|
+
|
|
198
|
+
// Add any additional API headers from provider config
|
|
199
|
+
if (tokenData.apiHeaders) {
|
|
200
|
+
Object.assign(authHeaders, tokenData.apiHeaders);
|
|
201
|
+
}
|
|
202
|
+
|
|
203
|
+
return authHeaders;
|
|
204
|
+
}
|
|
205
|
+
|
|
141
206
|
/**
|
|
142
207
|
* Resolve OAuth provider for a tool
|
|
143
208
|
*
|