chatbot-nc 2.2.38 → 2.2.39
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/cjs/utils/error.d.ts +6 -0
- package/dist/cjs/utils/error.js +15 -0
- package/dist/cjs/utils/error.js.map +1 -0
- package/dist/cjs/utils/index.js.map +1 -1
- package/dist/cjs/utils/mcp-oauth.js +18 -13
- package/dist/cjs/utils/mcp-oauth.js.map +1 -1
- package/dist/cjs/utils/oauth.js +4 -3
- package/dist/cjs/utils/oauth.js.map +1 -1
- package/dist/esm/utils/error.d.ts +6 -0
- package/dist/esm/utils/error.js +11 -0
- package/dist/esm/utils/error.js.map +1 -0
- package/dist/esm/utils/index.js.map +1 -1
- package/dist/esm/utils/mcp-oauth.js +18 -13
- package/dist/esm/utils/mcp-oauth.js.map +1 -1
- package/dist/esm/utils/oauth.js +4 -3
- package/dist/esm/utils/oauth.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.BadRequestException = void 0;
|
|
4
|
+
class BadRequestException extends Error {
|
|
5
|
+
constructor(message) {
|
|
6
|
+
super(message);
|
|
7
|
+
this.name = "BadRequestException";
|
|
8
|
+
this.statusCode = 400;
|
|
9
|
+
this.error = "Bad_Request";
|
|
10
|
+
this.code = "BAD_REQUEST";
|
|
11
|
+
Object.setPrototypeOf(this, BadRequestException.prototype);
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
exports.BadRequestException = BadRequestException;
|
|
15
|
+
//# sourceMappingURL=error.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"error.js","sourceRoot":"","sources":["../../../utils/error.ts"],"names":[],"mappings":";;;AAAA,MAAa,mBAAoB,SAAQ,KAAK;IAK5C,YAAY,OAAc;QACxB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,qBAAqB,CAAC;QAClC,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC;QACtB,IAAI,CAAC,KAAK,GAAG,aAAa,CAAC;QAC3B,IAAI,CAAC,IAAI,GAAG,aAAa,CAAC;QAC1B,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,mBAAmB,CAAC,SAAS,CAAC,CAAC;IAC7D,CAAC;CACF;AAbD,kDAaC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../utils/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AACA,qCAAkC;AAClC,qCAAmC;AACnC,+CAA2C;AAC3C,kDAAoC;AACpC,iCAA8B;AAC9B,mCAAgC;AAChC,2CAAuC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../utils/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AACA,qCAAkC;AAClC,qCAAmC;AACnC,+CAA2C;AAC3C,kDAAoC;AACpC,iCAA8B;AAC9B,mCAAgC;AAChC,2CAAuC;AAG1B,QAAA,KAAK,GAAG;IACjB,OAAO,EAAP,gBAAO;IACP,MAAM,EAAN,eAAM;IACN,UAAU,EAAV,wBAAU;IACV,IAAI,EAAJ,WAAI;IACJ,GAAG;IACH,KAAK,EAAL,aAAK;IACL,QAAQ,EAAR,oBAAQ;CACX,CAAA"}
|
|
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
exports.MCPOAuth = void 0;
|
|
7
7
|
const axios_1 = __importDefault(require("axios"));
|
|
8
8
|
const logger_1 = __importDefault(require("../logger"));
|
|
9
|
+
const error_1 = require("./error");
|
|
9
10
|
/**
|
|
10
11
|
*
|
|
11
12
|
* @param mcpServerUrl
|
|
@@ -17,7 +18,7 @@ const discoverOAuthResourceMetadata = async (mcpServerUrl) => {
|
|
|
17
18
|
// Step 1: RFC 9470 - Get Protected Resource Metadata
|
|
18
19
|
const protectedResourceResponse = await fetch(protectedResourceUrl.toString());
|
|
19
20
|
if (!protectedResourceResponse.ok) {
|
|
20
|
-
throw new
|
|
21
|
+
throw new error_1.BadRequestException(`Failed to fetch protected resource metadata: ` +
|
|
21
22
|
`${protectedResourceResponse.status}`);
|
|
22
23
|
}
|
|
23
24
|
const protectedResource = (await protectedResourceResponse.json());
|
|
@@ -31,21 +32,25 @@ const discoverOAuthMetadata = async (mcpServerUrl) => {
|
|
|
31
32
|
const protectedResource = (await discoverOAuthResourceMetadata(mcpServerUrl));
|
|
32
33
|
const authServers = protectedResource.authorization_servers;
|
|
33
34
|
if (!Array.isArray(authServers) || authServers.length === 0) {
|
|
34
|
-
throw new
|
|
35
|
+
throw new error_1.BadRequestException("No authorization servers found in protected resource metadata");
|
|
35
36
|
}
|
|
36
37
|
// Use the first authorization server
|
|
37
38
|
const authServerUrl = authServers[0];
|
|
38
39
|
// Step 2: RFC 8414 - Get Authorization Server Metadata
|
|
39
40
|
const metadataUrl = new URL("/.well-known/oauth-authorization-server", authServerUrl);
|
|
40
|
-
|
|
41
|
+
let metadataResponse = await fetch(metadataUrl.toString());
|
|
41
42
|
if (!metadataResponse.ok) {
|
|
42
|
-
|
|
43
|
-
|
|
43
|
+
const secondMetaDataUrl = new URL("/.well-known/oauth-authorization-server", mcpServerUrl);
|
|
44
|
+
metadataResponse = await fetch(secondMetaDataUrl.toString());
|
|
45
|
+
if (!metadataResponse.ok) {
|
|
46
|
+
throw new error_1.BadRequestException(`Failed to fetch authorization server metadata: ` +
|
|
47
|
+
`${metadataResponse.status}`);
|
|
48
|
+
}
|
|
44
49
|
}
|
|
45
50
|
const metadata = (await metadataResponse.json());
|
|
46
51
|
// Validate required fields
|
|
47
52
|
if (!metadata.authorization_endpoint || !metadata.token_endpoint) {
|
|
48
|
-
throw new
|
|
53
|
+
throw new error_1.BadRequestException("Missing required OAuth endpoints in metadata");
|
|
49
54
|
}
|
|
50
55
|
// Warn if PKCE support isn't advertised
|
|
51
56
|
if (!((_a = metadata.code_challenge_methods_supported) === null || _a === void 0 ? void 0 : _a.includes("S256"))) {
|
|
@@ -64,7 +69,7 @@ const discoverOAuthMetadata = async (mcpServerUrl) => {
|
|
|
64
69
|
const registerClient = async (metadata, redirectUris, client_Name = "AuroCX") => {
|
|
65
70
|
var _a, _b, _c, _d, _e;
|
|
66
71
|
if (!metadata.registration_endpoint)
|
|
67
|
-
throw new
|
|
72
|
+
throw new error_1.BadRequestException("Server does not support dynamic client registration");
|
|
68
73
|
const registrationRequest = {
|
|
69
74
|
client_name: client_Name,
|
|
70
75
|
redirect_uris: redirectUris,
|
|
@@ -84,7 +89,7 @@ const registerClient = async (metadata, redirectUris, client_Name = "AuroCX") =>
|
|
|
84
89
|
});
|
|
85
90
|
if (!response.ok) {
|
|
86
91
|
const errorBody = await response.text();
|
|
87
|
-
throw new
|
|
92
|
+
throw new error_1.BadRequestException(`Client registration failed: ${response.status} - ${errorBody}`);
|
|
88
93
|
}
|
|
89
94
|
const credentials = (await response.json());
|
|
90
95
|
// Store credentials securely
|
|
@@ -132,14 +137,14 @@ const buildAuthorizationUrl = async (metadata, clientId, redirectUri, state, cod
|
|
|
132
137
|
const handleCallBack = async (callbackUrl, storedState, codeVerifier) => {
|
|
133
138
|
const params = parseCallback(callbackUrl);
|
|
134
139
|
if (params.error) {
|
|
135
|
-
throw new
|
|
140
|
+
throw new error_1.BadRequestException(`OAuth error: ${params.error} - ` +
|
|
136
141
|
`${params.error_description || "Unknown error"}`);
|
|
137
142
|
}
|
|
138
143
|
if (params.state !== storedState) {
|
|
139
|
-
throw new
|
|
144
|
+
throw new error_1.BadRequestException("Invalid state parameter - possible CSRF attack");
|
|
140
145
|
}
|
|
141
146
|
if (!params.code) {
|
|
142
|
-
throw new
|
|
147
|
+
throw new error_1.BadRequestException("Missing authorization code");
|
|
143
148
|
}
|
|
144
149
|
return params.code;
|
|
145
150
|
};
|
|
@@ -166,11 +171,11 @@ const parseCallback = (url) => {
|
|
|
166
171
|
// return tokenInfo;
|
|
167
172
|
// }
|
|
168
173
|
// if (!tokenInfo?.access_token || tokenInfo?.accessToken)
|
|
169
|
-
// throw new
|
|
174
|
+
// throw new BadRequestException("Token Not Found");
|
|
170
175
|
// // 🔹 Step 2: Check expiry
|
|
171
176
|
// let refresh_token = tokenInfo.refresh_token || tokenInfo?.refreshToken;
|
|
172
177
|
// if (!refresh_token)
|
|
173
|
-
// throw new
|
|
178
|
+
// throw new BadRequestException("Refresh Token Not Found");
|
|
174
179
|
// const isExpired = !tokenInfo.expire_at || Number(tokenInfo.expire_at) <= Date.now();
|
|
175
180
|
// if (isExpired && refresh_token) {
|
|
176
181
|
// tokenInfo = await GetOAuthMCPRefreshToken(metaData,clientCredentials,refresh_token);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-oauth.js","sourceRoot":"","sources":["../../../utils/mcp-oauth.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAC1B,uDAA4B;
|
|
1
|
+
{"version":3,"file":"mcp-oauth.js","sourceRoot":"","sources":["../../../utils/mcp-oauth.ts"],"names":[],"mappings":"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"}
|
package/dist/cjs/utils/oauth.js
CHANGED
|
@@ -7,6 +7,7 @@ exports.OAuth = void 0;
|
|
|
7
7
|
const axios_1 = __importDefault(require("axios"));
|
|
8
8
|
const crypto_1 = require("crypto");
|
|
9
9
|
const logger_1 = __importDefault(require("../logger"));
|
|
10
|
+
const error_1 = require("./error");
|
|
10
11
|
const OPENID_CONFIGURATION_URLS = {
|
|
11
12
|
// Google
|
|
12
13
|
google: "https://accounts.google.com",
|
|
@@ -69,7 +70,7 @@ const resolveProviderUrl = (provider) => {
|
|
|
69
70
|
// lookup provider name
|
|
70
71
|
const url = OPENID_CONFIGURATION_URLS[provider.toLowerCase()];
|
|
71
72
|
if (!url) {
|
|
72
|
-
throw new
|
|
73
|
+
throw new error_1.BadRequestException(`Unsupported OAuth provider: ${provider}`);
|
|
73
74
|
}
|
|
74
75
|
return url;
|
|
75
76
|
}
|
|
@@ -87,7 +88,7 @@ const discoverOAuthOpenIdMetadata = async (providerUrl) => {
|
|
|
87
88
|
// Step 1: RFC 9470 - Get OpenId Configuration
|
|
88
89
|
const openIdResponse = await fetch(discoveryUrl.toString());
|
|
89
90
|
if (!openIdResponse.ok) {
|
|
90
|
-
throw new
|
|
91
|
+
throw new error_1.BadRequestException(`Failed to fetch OpenID configuration: ` +
|
|
91
92
|
`${openIdResponse.status}`);
|
|
92
93
|
}
|
|
93
94
|
const metadata = (await openIdResponse.json());
|
|
@@ -100,7 +101,7 @@ const discoverOAuthOpenIdMetadata = async (providerUrl) => {
|
|
|
100
101
|
*/
|
|
101
102
|
const oauthToken = async (authValue) => {
|
|
102
103
|
if (!authValue)
|
|
103
|
-
throw new
|
|
104
|
+
throw new error_1.BadRequestException("OAuth Config Not Found");
|
|
104
105
|
const provisionList = JSON.parse(authValue);
|
|
105
106
|
if (!Array.isArray(provisionList))
|
|
106
107
|
return "";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oauth.js","sourceRoot":"","sources":["../../../utils/oauth.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAC1B,mCAAiD;AACjD,uDAA4B;
|
|
1
|
+
{"version":3,"file":"oauth.js","sourceRoot":"","sources":["../../../utils/oauth.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export class BadRequestException extends Error {
|
|
2
|
+
constructor(message) {
|
|
3
|
+
super(message);
|
|
4
|
+
this.name = "BadRequestException";
|
|
5
|
+
this.statusCode = 400;
|
|
6
|
+
this.error = "Bad_Request";
|
|
7
|
+
this.code = "BAD_REQUEST";
|
|
8
|
+
Object.setPrototypeOf(this, BadRequestException.prototype);
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=error.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"error.js","sourceRoot":"","sources":["../../../utils/error.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,mBAAoB,SAAQ,KAAK;IAK5C,YAAY,OAAc;QACxB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,qBAAqB,CAAC;QAClC,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC;QACtB,IAAI,CAAC,KAAK,GAAG,aAAa,CAAC;QAC3B,IAAI,CAAC,IAAI,GAAG,aAAa,CAAC;QAC1B,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,mBAAmB,CAAC,SAAS,CAAC,CAAC;IAC7D,CAAC;CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../utils/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AACnC,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,KAAK,GAAG,MAAM,cAAc,CAAC;AACpC,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../utils/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AACnC,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,KAAK,GAAG,MAAM,cAAc,CAAC;AACpC,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAGvC,MAAM,CAAC,MAAM,KAAK,GAAG;IACjB,OAAO;IACP,MAAM;IACN,UAAU;IACV,IAAI;IACJ,GAAG;IACH,KAAK;IACL,QAAQ;CACX,CAAA"}
|
|
@@ -9,6 +9,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
9
9
|
};
|
|
10
10
|
import axios from "axios";
|
|
11
11
|
import log from "../logger";
|
|
12
|
+
import { BadRequestException } from "./error";
|
|
12
13
|
/**
|
|
13
14
|
*
|
|
14
15
|
* @param mcpServerUrl
|
|
@@ -20,7 +21,7 @@ const discoverOAuthResourceMetadata = (mcpServerUrl) => __awaiter(void 0, void 0
|
|
|
20
21
|
// Step 1: RFC 9470 - Get Protected Resource Metadata
|
|
21
22
|
const protectedResourceResponse = yield fetch(protectedResourceUrl.toString());
|
|
22
23
|
if (!protectedResourceResponse.ok) {
|
|
23
|
-
throw new
|
|
24
|
+
throw new BadRequestException(`Failed to fetch protected resource metadata: ` +
|
|
24
25
|
`${protectedResourceResponse.status}`);
|
|
25
26
|
}
|
|
26
27
|
const protectedResource = (yield protectedResourceResponse.json());
|
|
@@ -34,21 +35,25 @@ const discoverOAuthMetadata = (mcpServerUrl) => __awaiter(void 0, void 0, void 0
|
|
|
34
35
|
const protectedResource = (yield discoverOAuthResourceMetadata(mcpServerUrl));
|
|
35
36
|
const authServers = protectedResource.authorization_servers;
|
|
36
37
|
if (!Array.isArray(authServers) || authServers.length === 0) {
|
|
37
|
-
throw new
|
|
38
|
+
throw new BadRequestException("No authorization servers found in protected resource metadata");
|
|
38
39
|
}
|
|
39
40
|
// Use the first authorization server
|
|
40
41
|
const authServerUrl = authServers[0];
|
|
41
42
|
// Step 2: RFC 8414 - Get Authorization Server Metadata
|
|
42
43
|
const metadataUrl = new URL("/.well-known/oauth-authorization-server", authServerUrl);
|
|
43
|
-
|
|
44
|
+
let metadataResponse = yield fetch(metadataUrl.toString());
|
|
44
45
|
if (!metadataResponse.ok) {
|
|
45
|
-
|
|
46
|
-
|
|
46
|
+
const secondMetaDataUrl = new URL("/.well-known/oauth-authorization-server", mcpServerUrl);
|
|
47
|
+
metadataResponse = yield fetch(secondMetaDataUrl.toString());
|
|
48
|
+
if (!metadataResponse.ok) {
|
|
49
|
+
throw new BadRequestException(`Failed to fetch authorization server metadata: ` +
|
|
50
|
+
`${metadataResponse.status}`);
|
|
51
|
+
}
|
|
47
52
|
}
|
|
48
53
|
const metadata = (yield metadataResponse.json());
|
|
49
54
|
// Validate required fields
|
|
50
55
|
if (!metadata.authorization_endpoint || !metadata.token_endpoint) {
|
|
51
|
-
throw new
|
|
56
|
+
throw new BadRequestException("Missing required OAuth endpoints in metadata");
|
|
52
57
|
}
|
|
53
58
|
// Warn if PKCE support isn't advertised
|
|
54
59
|
if (!((_a = metadata.code_challenge_methods_supported) === null || _a === void 0 ? void 0 : _a.includes("S256"))) {
|
|
@@ -67,7 +72,7 @@ const discoverOAuthMetadata = (mcpServerUrl) => __awaiter(void 0, void 0, void 0
|
|
|
67
72
|
const registerClient = (metadata_1, redirectUris_1, ...args_1) => __awaiter(void 0, [metadata_1, redirectUris_1, ...args_1], void 0, function* (metadata, redirectUris, client_Name = "AuroCX") {
|
|
68
73
|
var _a, _b, _c, _d, _e;
|
|
69
74
|
if (!metadata.registration_endpoint)
|
|
70
|
-
throw new
|
|
75
|
+
throw new BadRequestException("Server does not support dynamic client registration");
|
|
71
76
|
const registrationRequest = {
|
|
72
77
|
client_name: client_Name,
|
|
73
78
|
redirect_uris: redirectUris,
|
|
@@ -87,7 +92,7 @@ const registerClient = (metadata_1, redirectUris_1, ...args_1) => __awaiter(void
|
|
|
87
92
|
});
|
|
88
93
|
if (!response.ok) {
|
|
89
94
|
const errorBody = yield response.text();
|
|
90
|
-
throw new
|
|
95
|
+
throw new BadRequestException(`Client registration failed: ${response.status} - ${errorBody}`);
|
|
91
96
|
}
|
|
92
97
|
const credentials = (yield response.json());
|
|
93
98
|
// Store credentials securely
|
|
@@ -135,14 +140,14 @@ const buildAuthorizationUrl = (metadata, clientId, redirectUri, state, codeChall
|
|
|
135
140
|
const handleCallBack = (callbackUrl, storedState, codeVerifier) => __awaiter(void 0, void 0, void 0, function* () {
|
|
136
141
|
const params = parseCallback(callbackUrl);
|
|
137
142
|
if (params.error) {
|
|
138
|
-
throw new
|
|
143
|
+
throw new BadRequestException(`OAuth error: ${params.error} - ` +
|
|
139
144
|
`${params.error_description || "Unknown error"}`);
|
|
140
145
|
}
|
|
141
146
|
if (params.state !== storedState) {
|
|
142
|
-
throw new
|
|
147
|
+
throw new BadRequestException("Invalid state parameter - possible CSRF attack");
|
|
143
148
|
}
|
|
144
149
|
if (!params.code) {
|
|
145
|
-
throw new
|
|
150
|
+
throw new BadRequestException("Missing authorization code");
|
|
146
151
|
}
|
|
147
152
|
return params.code;
|
|
148
153
|
});
|
|
@@ -169,11 +174,11 @@ const parseCallback = (url) => {
|
|
|
169
174
|
// return tokenInfo;
|
|
170
175
|
// }
|
|
171
176
|
// if (!tokenInfo?.access_token || tokenInfo?.accessToken)
|
|
172
|
-
// throw new
|
|
177
|
+
// throw new BadRequestException("Token Not Found");
|
|
173
178
|
// // 🔹 Step 2: Check expiry
|
|
174
179
|
// let refresh_token = tokenInfo.refresh_token || tokenInfo?.refreshToken;
|
|
175
180
|
// if (!refresh_token)
|
|
176
|
-
// throw new
|
|
181
|
+
// throw new BadRequestException("Refresh Token Not Found");
|
|
177
182
|
// const isExpired = !tokenInfo.expire_at || Number(tokenInfo.expire_at) <= Date.now();
|
|
178
183
|
// if (isExpired && refresh_token) {
|
|
179
184
|
// tokenInfo = await GetOAuthMCPRefreshToken(metaData,clientCredentials,refresh_token);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-oauth.js","sourceRoot":"","sources":["../../../utils/mcp-oauth.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,GAAG,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"mcp-oauth.js","sourceRoot":"","sources":["../../../utils/mcp-oauth.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,GAAG,MAAM,WAAW,CAAC;AAE5B,OAAO,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAE9C;;;;GAIG;AACH,MAAM,6BAA6B,GAAG,CAAO,YAAoB,EAA8C,EAAE;IAChH,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,YAAY,CAAC,CAAA;IACjC,MAAM,oBAAoB,GAAG,IAAI,GAAG,CACnC,uCAAuC,EACvC,GAAG,CACH,CAAA;IAED,qDAAqD;IACrD,MAAM,yBAAyB,GAAG,MAAM,KAAK,CAC5C,oBAAoB,CAAC,QAAQ,EAAE,CAC/B,CAAA;IACD,IAAI,CAAC,yBAAyB,CAAC,EAAE,EAAE,CAAC;QACnC,MAAM,IAAI,mBAAmB,CAC5B,+CAA+C;YAC/C,GAAG,yBAAyB,CAAC,MAAM,EAAE,CACrC,CAAA;IACF,CAAC;IAED,MAAM,iBAAiB,GAAG,CAAC,MAAM,yBAAyB,CAAC,IAAI,EAAE,CAAsC,CAAA;IACvG,OAAO,iBAAiB,CAAA;AACzB,CAAC,CAAA,CAAA;AAED;;GAEG;AACH,MAAM,qBAAqB,GAAG,CAAO,YAAoB,EAA6B,EAAE;;IACvF,MAAM,iBAAiB,GAAG,CAAC,MAAM,6BAA6B,CAAC,YAAY,CAAC,CAAsC,CAAA;IAClH,MAAM,WAAW,GAAG,iBAAiB,CAAC,qBAAqB,CAAC;IAE5D,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC7D,MAAM,IAAI,mBAAmB,CAC5B,+DAA+D,CAC/D,CAAA;IACF,CAAC;IAED,qCAAqC;IACrC,MAAM,aAAa,GAAG,WAAW,CAAC,CAAC,CAAC,CAAA;IAEpC,uDAAuD;IACvD,MAAM,WAAW,GAAG,IAAI,GAAG,CAC1B,yCAAyC,EACzC,aAAa,CACb,CAAA;IACD,IAAI,gBAAgB,GAAG,MAAM,KAAK,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAA;IAE1D,IAAI,CAAC,gBAAgB,CAAC,EAAE,EAAE,CAAC;QAE1B,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAChC,yCAAyC,EACzC,YAAY,CACZ,CAAA;QACD,gBAAgB,GAAG,MAAM,KAAK,CAAC,iBAAiB,CAAC,QAAQ,EAAE,CAAC,CAAA;QAC5D,IAAI,CAAC,gBAAgB,CAAC,EAAE,EAAE,CAAC;YAC1B,MAAM,IAAI,mBAAmB,CAC5B,iDAAiD;gBACjD,GAAG,gBAAgB,CAAC,MAAM,EAAE,CAC5B,CAAA;QACF,CAAC;IAEF,CAAC;IAED,MAAM,QAAQ,GAAG,CAAC,MAAM,gBAAgB,CAAC,IAAI,EAAE,CAAqB,CAAC;IAErE,2BAA2B;IAC3B,IAAI,CAAC,QAAQ,CAAC,sBAAsB,IAAI,CAAC,QAAQ,CAAC,cAAc,EAAE,CAAC;QAClE,MAAM,IAAI,mBAAmB,CAAC,8CAA8C,CAAC,CAAA;IAC9E,CAAC;IAED,wCAAwC;IACxC,IAAI,CAAC,CAAA,MAAA,QAAQ,CAAC,gCAAgC,0CAAE,QAAQ,CAAC,MAAM,CAAC,CAAA,EAAE,CAAC;QAClE,OAAO,CAAC,IAAI,CACX,+CAA+C;YAC/C,2BAA2B,CAC3B,CAAA;IACF,CAAC;IAED,OAAO,QAAQ,CAAA;AAChB,CAAC,CAAA,CAAA;AAED;;;;;;GAMG;AACH,MAAM,cAAc,GAAG,wCAAuH,EAAE,+EAAlH,QAA0B,EAAE,YAAsB,EAAE,cAAsB,QAAQ;;IAC/G,IAAI,CAAC,QAAQ,CAAC,qBAAqB;QAClC,MAAM,IAAI,mBAAmB,CAAC,qDAAqD,CAAC,CAAA;IAErF,MAAM,mBAAmB,GAAuB;QAC/C,WAAW,EAAE,WAAW;QACxB,aAAa,EAAE,YAAY;QAC3B,WAAW,EAAE,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,qBAAqB,mCAAI,CAAC,oBAAoB,EAAE,eAAe,CAAC;QACvF,cAAc,EAAE,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,wBAAwB,mCAAI,CAAC,MAAM,CAAC;QAC9D,0BAA0B,EAAE,CAAA,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,qCAAqC,0CAAE,MAAM,MAAI,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,qCAAqC,0CAAE,QAAQ,CAAC,MAAM,CAAC,CAAA,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,qCAAqC,CAAE,CAAC,CAAC;KACvN,CAAA;IAED,IAAI,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,gBAAgB,0CAAE,MAAM;QACrC,mBAAmB,CAAC,KAAK,GAAG,QAAQ,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEhE,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,QAAQ,CAAC,qBAAqB,EAAE;QAC5D,MAAM,EAAE,MAAM;QACd,OAAO,EAAE;YACR,cAAc,EAAE,kBAAkB;YAClC,MAAM,EAAE,kBAAkB;SAC1B;QACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC;KACzC,CAAC,CAAA;IAEF,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QAClB,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;QACvC,MAAM,IAAI,mBAAmB,CAC5B,+BAA+B,QAAQ,CAAC,MAAM,MAAM,SAAS,EAAE,CAC/D,CAAA;IACF,CAAC;IACD,MAAM,WAAW,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAsB,CAAA;IAEhE,6BAA6B;IAC7B,OAAO,WAAW,CAAA;AACnB,CAAC,CAAA,CAAA;AAED;;;;;;;;;;GAUG;AACH,MAAM,qBAAqB,GAAG,CAC7B,QAA0B,EAC1B,QAAgB,EAChB,WAAmB,EACnB,KAAa,EACb,aAAsB,EACtB,mBAA4B,EAC5B,QAAiB,EACC,EAAE;;IACpB,IAAI,KAAK,GAAG;QACX,aAAa,EAAE,MAAM;QACrB,SAAS,EAAE,QAAQ;QACnB,YAAY,EAAE,WAAW;QACzB,KAAK,EAAE,KAAK;QACZ,MAAM,EAAE,SAAS;QACjB,aAAa,EAAE,OAAO;KACC,CAAA;IACxB,IAAI,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,gBAAgB,0CAAE,MAAM;QACrC,KAAK,CAAC,KAAK,GAAG,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IACnD,IAAI,mBAAmB;QACtB,KAAK,CAAC,cAAc,GAAG,aAAa,CAAC;IACtC,IAAI,mBAAmB;QACtB,KAAK,CAAC,qBAAqB,GAAG,mBAAmB,CAAC;IACnD,IAAI,QAAQ;QACX,KAAK,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,KAAK,CAAC,CAAA;IAEzC,OAAO,GAAG,QAAQ,CAAC,sBAAsB,IAAI,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAA;AACjE,CAAC,CAAA,CAAA;AAED;;;;;;GAMG;AACH,MAAM,cAAc,GAAG,CAAO,WAAmB,EAAE,WAAmB,EAAE,YAAoB,EAAE,EAAE;IAC/F,MAAM,MAAM,GAAG,aAAa,CAAC,WAAW,CAAC,CAAA;IAEzC,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;QAClB,MAAM,IAAI,mBAAmB,CAC5B,gBAAgB,MAAM,CAAC,KAAK,KAAK;YACjC,GAAG,MAAM,CAAC,iBAAiB,IAAI,eAAe,EAAE,CAChD,CAAA;IACF,CAAC;IAED,IAAI,MAAM,CAAC,KAAK,KAAK,WAAW,EAAE,CAAC;QAClC,MAAM,IAAI,mBAAmB,CAAC,gDAAgD,CAAC,CAAA;IAChF,CAAC;IAED,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QAClB,MAAM,IAAI,mBAAmB,CAAC,4BAA4B,CAAC,CAAA;IAC5D,CAAC;IAED,OAAO,MAAM,CAAC,IAAI,CAAA;AACnB,CAAC,CAAA,CAAA;AASD;;;;GAIG;AACH,MAAM,aAAa,GAAG,CAAC,GAAW,EAAkB,EAAE;IACrD,MAAM,SAAS,GAAG,IAAI,eAAe,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAA;IAC1D,OAAO;QACN,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,SAAS;QACxC,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,SAAS;QAC1C,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,SAAS;QAC1C,iBAAiB,EAAE,SAAS,CAAC,GAAG,CAAC,mBAAmB,CAAC,IAAI,SAAS;KAClE,CAAA;AACF,CAAC,CAAA;AAED,yIAAyI;AACzI,6CAA6C;AAC7C,iEAAiE;AACjE,iBAAiB;AACjB,0EAA0E;AAC1E,uEAAuE;AACvE,sBAAsB;AACtB,KAAK;AACL,2DAA2D;AAC3D,sDAAsD;AAEtD,8BAA8B;AAC9B,2EAA2E;AAC3E,uBAAuB;AACvB,gEAAgE;AAChE,wFAAwF;AACxF,qCAAqC;AACrC,yFAAyF;AACzF,uEAAuE;AACvE,qBAAqB;AACrB,KAAK;AACL,qBAAqB;AACrB,IAAI;AAEJ;;;;;;;;GAQG;AACH,MAAM,mBAAmB,GAAG,CAAO,IAAY,EAAE,YAAoB,EAAE,QAA0C,EAAE,iBAAoC,EAAE,aAAsB,EAAE,EAAE;;IAClL,IAAI,CAAC;QACJ,IAAI,OAAO,GAAG,EAAE,cAAc,EAAE,mCAAmC,EAAS,CAAC;QAC7E,MAAM,IAAI,GAAQ;YACjB,UAAU,EAAE,oBAAoB;YAChC,YAAY,EAAE,YAAY;YAC1B,IAAI;SACJ,CAAC;QAEF,IAAI,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,qCAAqC,0CAAE,QAAQ,CAAC,MAAM,CAAC;YACpE,IAAI,CAAC,SAAS,GAAG,iBAAiB,CAAC,SAAS,CAAA;QAC7C,IAAI,CAAC,CAAA,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,qCAAqC,0CAAE,QAAQ,CAAC,MAAM,CAAC,CAAA,KAAI,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,qCAAqC,0CAAE,QAAQ,CAAC,oBAAoB,CAAC,CAAA;YACxJ,IAAI,CAAC,aAAa,GAAG,iBAAiB,CAAC,aAAa,CAAC;aACjD,IAAI,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,qCAAqC,0CAAE,QAAQ,CAAC,qBAAqB,CAAC,EAAE,CAAC;YAC3F,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,iBAAiB,CAAC,SAAS,IAAI,iBAAiB,CAAC,aAAa,EAAE,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;YAClH,OAAO,CAAC,aAAa,GAAG,SAAS,KAAK,EAAE,CAAA;QACzC,CAAC;QAED,IAAI,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,gCAAgC,0CAAE,MAAM;YACrD,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QAEpC,MAAM,QAAQ,GAAG,IAAI,eAAe,CAAC,IAAI,CAAC,CAAC;QAC3C,IAAI,SAAS,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,EAAE,QAAQ,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE;YAC7F,OAAO,GAAG,CAAC,IAAI,CAAC;QACjB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;YAChB,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;YAC/B,GAAG,CAAC,KAAK,CAAC,yCAAyC,GAAG,GAAG,CAAC,CAAC;YAC3D,MAAM,GAAG,CAAC;QACX,CAAC,CAAQ,CAAC;QAEV,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,UAAU,MAAI,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,MAAM,CAAA,KAAI,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,MAAM,CAAA,CAAC,EAAE,CAAC,CAAA;QAC1I,OAAO,SAAS,CAAC;IAClB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,MAAM,KAAK,CAAC;IACb,CAAC;AACF,CAAC,CAAA,CAAA;AAED;;;;;;GAMG;AACH,MAAM,oBAAoB,GAAG,CAAO,QAA0C,EAAE,iBAAoC,EAAE,aAAqB,EAAE,EAAE;;IAC9I,IAAI,CAAC;QACJ,IAAI,OAAO,GAAG,EAAE,cAAc,EAAE,mCAAmC,EAAS,CAAC;QAC7E,MAAM,IAAI,GAAQ;YACjB,UAAU,EAAE,eAAe;YAC3B,aAAa;SACb,CAAC;QAEF,IAAI,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,qCAAqC,0CAAE,QAAQ,CAAC,MAAM,CAAC;YACpE,IAAI,CAAC,SAAS,GAAG,iBAAiB,CAAC,SAAS,CAAA;QAC7C,IAAI,CAAC,CAAA,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,qCAAqC,0CAAE,QAAQ,CAAC,MAAM,CAAC,CAAA,KAAI,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,qCAAqC,0CAAE,QAAQ,CAAC,oBAAoB,CAAC,CAAA;YACxJ,IAAI,CAAC,aAAa,GAAG,iBAAiB,CAAC,aAAa,CAAC;aACjD,IAAI,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,qCAAqC,0CAAE,QAAQ,CAAC,qBAAqB,CAAC,EAAE,CAAC;YAC3F,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,iBAAiB,CAAC,SAAS,IAAI,iBAAiB,CAAC,aAAa,EAAE,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;YAClH,OAAO,CAAC,aAAa,GAAG,SAAS,KAAK,EAAE,CAAA;QACzC,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,eAAe,CAAC,IAAI,CAAC,CAAC;QAC3C,IAAI,SAAS,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,EAAE,QAAQ,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE;YAC7F,OAAO,GAAG,CAAC,IAAI,CAAC;QACjB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;YAChB,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;YAC/B,GAAG,CAAC,KAAK,CAAC,sCAAsC,GAAG,GAAG,CAAC,CAAC;YACxD,MAAM,GAAG,CAAC;QACX,CAAC,CAAQ,CAAC;QAEV,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,UAAU,MAAI,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,MAAM,CAAA,KAAI,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,MAAM,CAAA,CAAC,EAAE,CAAC,CAAA;QAC1I,OAAO,SAAS,CAAC;IAClB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,MAAM,KAAK,CAAC;IACb,CAAC;AAEF,CAAC,CAAA,CAAA;AAED;;;;GAIG;AACH,MAAM,cAAc,GAAG,YAAkD,EAAE,mDAA7C,YAAoB,IAAI;IACrD,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,SAAS,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;AAC5D,CAAC,CAAA,CAAA;AAED,MAAM,CAAC,MAAM,QAAQ,GAAG,EAAE,6BAA6B,EAAE,qBAAqB,EAAE,cAAc,EAAE,qBAAqB,EAAE,cAAc,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,CAAC"}
|
package/dist/esm/utils/oauth.js
CHANGED
|
@@ -10,6 +10,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
10
10
|
import axios from "axios";
|
|
11
11
|
import { createHash, randomBytes } from "crypto";
|
|
12
12
|
import log from "../logger";
|
|
13
|
+
import { BadRequestException } from "./error";
|
|
13
14
|
const OPENID_CONFIGURATION_URLS = {
|
|
14
15
|
// Google
|
|
15
16
|
google: "https://accounts.google.com",
|
|
@@ -72,7 +73,7 @@ const resolveProviderUrl = (provider) => {
|
|
|
72
73
|
// lookup provider name
|
|
73
74
|
const url = OPENID_CONFIGURATION_URLS[provider.toLowerCase()];
|
|
74
75
|
if (!url) {
|
|
75
|
-
throw new
|
|
76
|
+
throw new BadRequestException(`Unsupported OAuth provider: ${provider}`);
|
|
76
77
|
}
|
|
77
78
|
return url;
|
|
78
79
|
}
|
|
@@ -90,7 +91,7 @@ const discoverOAuthOpenIdMetadata = (providerUrl) => __awaiter(void 0, void 0, v
|
|
|
90
91
|
// Step 1: RFC 9470 - Get OpenId Configuration
|
|
91
92
|
const openIdResponse = yield fetch(discoveryUrl.toString());
|
|
92
93
|
if (!openIdResponse.ok) {
|
|
93
|
-
throw new
|
|
94
|
+
throw new BadRequestException(`Failed to fetch OpenID configuration: ` +
|
|
94
95
|
`${openIdResponse.status}`);
|
|
95
96
|
}
|
|
96
97
|
const metadata = (yield openIdResponse.json());
|
|
@@ -103,7 +104,7 @@ const discoverOAuthOpenIdMetadata = (providerUrl) => __awaiter(void 0, void 0, v
|
|
|
103
104
|
*/
|
|
104
105
|
const oauthToken = (authValue) => __awaiter(void 0, void 0, void 0, function* () {
|
|
105
106
|
if (!authValue)
|
|
106
|
-
throw new
|
|
107
|
+
throw new BadRequestException("OAuth Config Not Found");
|
|
107
108
|
const provisionList = JSON.parse(authValue);
|
|
108
109
|
if (!Array.isArray(provisionList))
|
|
109
110
|
return "";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oauth.js","sourceRoot":"","sources":["../../../utils/oauth.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AACjD,OAAO,GAAG,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"oauth.js","sourceRoot":"","sources":["../../../utils/oauth.ts"],"names":[],"mappings":"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"}
|