@n24q02m/mcp-core 1.18.0-beta.2 → 1.18.0-beta.21
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/build/auth/credential-form.d.ts.map +1 -1
- package/build/auth/credential-form.js +9 -6
- package/build/auth/credential-form.js.map +1 -1
- package/build/auth/delegated-oauth-app.d.ts.map +1 -1
- package/build/auth/delegated-oauth-app.js +26 -10
- package/build/auth/delegated-oauth-app.js.map +1 -1
- package/build/auth/local-oauth-app.d.ts.map +1 -1
- package/build/auth/local-oauth-app.js +27 -11
- package/build/auth/local-oauth-app.js.map +1 -1
- package/build/auth/relay-login.d.ts.map +1 -1
- package/build/auth/relay-login.js +24 -22
- package/build/auth/relay-login.js.map +1 -1
- package/build/auth/well-known.d.ts.map +1 -1
- package/build/auth/well-known.js +1 -0
- package/build/auth/well-known.js.map +1 -1
- package/build/crypto/index.d.ts +1 -1
- package/build/crypto/index.d.ts.map +1 -1
- package/build/crypto/index.js +1 -1
- package/build/crypto/index.js.map +1 -1
- package/build/crypto/kdf.d.ts +13 -0
- package/build/crypto/kdf.d.ts.map +1 -1
- package/build/crypto/kdf.js +18 -0
- package/build/crypto/kdf.js.map +1 -1
- package/build/oauth/jwt-issuer.d.ts +58 -25
- package/build/oauth/jwt-issuer.d.ts.map +1 -1
- package/build/oauth/jwt-issuer.js +100 -31
- package/build/oauth/jwt-issuer.js.map +1 -1
- package/build/storage/backends.d.ts +56 -0
- package/build/storage/backends.d.ts.map +1 -0
- package/build/storage/backends.js +167 -0
- package/build/storage/backends.js.map +1 -0
- package/build/storage/encryption.js.map +1 -1
- package/build/storage/home-dir.d.ts +11 -0
- package/build/storage/home-dir.d.ts.map +1 -0
- package/build/storage/home-dir.js +18 -0
- package/build/storage/home-dir.js.map +1 -0
- package/build/storage/index.d.ts +1 -0
- package/build/storage/index.d.ts.map +1 -1
- package/build/storage/index.js +1 -0
- package/build/storage/index.js.map +1 -1
- package/build/storage/per-plugin-store.d.ts +5 -3
- package/build/storage/per-plugin-store.d.ts.map +1 -1
- package/build/storage/per-plugin-store.js +19 -28
- package/build/storage/per-plugin-store.js.map +1 -1
- package/build/transport/cache.js +5 -5
- package/build/transport/cache.js.map +1 -1
- package/build/transport/local-server.d.ts +3 -1
- package/build/transport/local-server.d.ts.map +1 -1
- package/build/transport/local-server.js +2 -2
- package/build/transport/local-server.js.map +1 -1
- package/build/transport/oauth-middleware.d.ts +2 -1
- package/build/transport/oauth-middleware.d.ts.map +1 -1
- package/build/transport/oauth-middleware.js +17 -5
- package/build/transport/oauth-middleware.js.map +1 -1
- package/package.json +9 -9
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
* with `WWW-Authenticate: Bearer resource_metadata="..."` per RFC 6750 +
|
|
7
7
|
* RFC 9728 (OAuth 2.1 protected resource metadata discovery).
|
|
8
8
|
*
|
|
9
|
-
* Success attaches the validated claims to `
|
|
9
|
+
* Success attaches the validated claims to `AuthenticatedRequest.user` so
|
|
10
10
|
* downstream handlers can read the subject without re-validating.
|
|
11
11
|
*/
|
|
12
12
|
function writeChallenge(res, resourceMetadataUrl, error) {
|
|
@@ -22,14 +22,26 @@ function writeChallenge(res, resourceMetadataUrl, error) {
|
|
|
22
22
|
error_description: error ? 'The access token is missing or invalid' : 'Authentication required'
|
|
23
23
|
}));
|
|
24
24
|
}
|
|
25
|
-
function extractBearerToken(authHeader) {
|
|
25
|
+
export function extractBearerToken(authHeader) {
|
|
26
26
|
if (!authHeader)
|
|
27
27
|
return null;
|
|
28
|
+
// Fast path for strictly "Bearer " or "bearer " (exact case & single space)
|
|
29
|
+
if (authHeader.startsWith('Bearer ') || authHeader.startsWith('bearer ')) {
|
|
30
|
+
const token = authHeader.substring(7).trim();
|
|
31
|
+
return token.length > 0 ? token : null;
|
|
32
|
+
}
|
|
33
|
+
// Fallback for tricky cases (mixed case, leading whitespace, etc.)
|
|
28
34
|
const trimmed = authHeader.trim();
|
|
29
|
-
|
|
30
|
-
|
|
35
|
+
if (trimmed.length <= 6)
|
|
36
|
+
return null;
|
|
37
|
+
const prefix = trimmed.substring(0, 6);
|
|
38
|
+
if (prefix.toLowerCase() !== 'bearer')
|
|
39
|
+
return null;
|
|
40
|
+
const char6 = trimmed.charCodeAt(6);
|
|
41
|
+
// Check if character 6 is whitespace (space=32, tab=9, newline=10, return=13)
|
|
42
|
+
if (char6 !== 32 && char6 !== 9 && char6 !== 10 && char6 !== 13)
|
|
31
43
|
return null;
|
|
32
|
-
const token =
|
|
44
|
+
const token = trimmed.substring(7).trim();
|
|
33
45
|
return token.length > 0 ? token : null;
|
|
34
46
|
}
|
|
35
47
|
export class OAuthMiddleware {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oauth-middleware.js","sourceRoot":"","sources":["../../src/transport/oauth-middleware.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAuBH,SAAS,cAAc,CAAC,GAAmB,EAAE,mBAA2B,EAAE,KAAc;IACtF,MAAM,MAAM,GAAG,CAAC,sBAAsB,mBAAmB,GAAG,CAAC,CAAA;IAC7D,IAAI,KAAK;QAAE,MAAM,CAAC,IAAI,CAAC,UAAU,KAAK,GAAG,CAAC,CAAA;IAC1C,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE;QACjB,kBAAkB,EAAE,UAAU,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;QACjD,cAAc,EAAE,kBAAkB;KACnC,CAAC,CAAA;IACF,GAAG,CAAC,GAAG,CACL,IAAI,CAAC,SAAS,CAAC;QACb,KAAK,EAAE,KAAK,IAAI,cAAc;QAC9B,iBAAiB,EAAE,KAAK,CAAC,CAAC,CAAC,wCAAwC,CAAC,CAAC,CAAC,yBAAyB;KAChG,CAAC,CACH,CAAA;AACH,CAAC;AAED,
|
|
1
|
+
{"version":3,"file":"oauth-middleware.js","sourceRoot":"","sources":["../../src/transport/oauth-middleware.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@n24q02m/mcp-core",
|
|
3
|
-
"version": "1.18.0-beta.
|
|
3
|
+
"version": "1.18.0-beta.21",
|
|
4
4
|
"description": "Unified MCP Streamable HTTP 2025-11-25 transport, OAuth 2.1 AS, lifecycle, install",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"mcp",
|
|
@@ -44,8 +44,8 @@
|
|
|
44
44
|
"types": "./build/crypto/index.d.ts"
|
|
45
45
|
},
|
|
46
46
|
"./storage": {
|
|
47
|
-
"import": "./build/storage/
|
|
48
|
-
"types": "./build/storage/
|
|
47
|
+
"import": "./build/storage/index.js",
|
|
48
|
+
"types": "./build/storage/index.d.ts"
|
|
49
49
|
},
|
|
50
50
|
"./relay": {
|
|
51
51
|
"import": "./build/relay/client.js",
|
|
@@ -77,20 +77,20 @@
|
|
|
77
77
|
},
|
|
78
78
|
"dependencies": {
|
|
79
79
|
"@modelcontextprotocol/sdk": "^1.29.0",
|
|
80
|
-
"better-sqlite3": "^12.
|
|
80
|
+
"better-sqlite3": "^12.11.1",
|
|
81
81
|
"env-paths": "^4.0.0",
|
|
82
82
|
"jose": "^6.2.3"
|
|
83
83
|
},
|
|
84
84
|
"devDependencies": {
|
|
85
|
-
"@biomejs/biome": "^2.
|
|
85
|
+
"@biomejs/biome": "^2.5.1",
|
|
86
86
|
"@types/better-sqlite3": "^7.6.13",
|
|
87
|
-
"@types/node": "^
|
|
88
|
-
"@vitest/coverage-v8": "^4.1.
|
|
87
|
+
"@types/node": "^26.0.1",
|
|
88
|
+
"@vitest/coverage-v8": "^4.1.9",
|
|
89
89
|
"typescript": "^6.0.3",
|
|
90
|
-
"vitest": "^4.1.
|
|
90
|
+
"vitest": "^4.1.9"
|
|
91
91
|
},
|
|
92
92
|
"engines": {
|
|
93
|
-
"node": ">=24.
|
|
93
|
+
"node": ">=24.18.0"
|
|
94
94
|
},
|
|
95
95
|
"packageManager": "bun@1.2.21"
|
|
96
96
|
}
|