integrate-sdk 0.8.8 → 0.8.9
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/adapters/auto-routes.js +29 -1
- package/dist/adapters/base-handler.d.ts.map +1 -1
- package/dist/adapters/index.js +29 -1
- package/dist/adapters/nextjs.js +29 -1
- package/dist/adapters/node.js +29 -1
- package/dist/adapters/session-detector.js +29 -1
- package/dist/adapters/svelte-kit.js +29 -1
- package/dist/adapters/tanstack-start.js +29 -1
- package/dist/index.js +29 -1
- package/dist/oauth.js +29 -1
- package/dist/server.js +29 -1
- package/dist/src/adapters/base-handler.d.ts.map +1 -1
- package/dist/src/server.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -6581,6 +6581,11 @@ function createMCPServer(config) {
|
|
|
6581
6581
|
} catch {}
|
|
6582
6582
|
}
|
|
6583
6583
|
const codeVerifierEntry = getCodeVerifier(state);
|
|
6584
|
+
if (codeVerifierEntry) {
|
|
6585
|
+
console.log("[OAuth Backend Callback] Found codeVerifier, using backend redirect flow");
|
|
6586
|
+
} else {
|
|
6587
|
+
console.log("[OAuth Backend Callback] No codeVerifier found, using frontend redirect flow");
|
|
6588
|
+
}
|
|
6584
6589
|
if (codeVerifierEntry) {
|
|
6585
6590
|
try {
|
|
6586
6591
|
const { codeVerifier, provider, frontendOrigin: storedFrontendOrigin } = codeVerifierEntry;
|
|
@@ -6632,7 +6637,27 @@ function createMCPServer(config) {
|
|
|
6632
6637
|
return Response.redirect(new URL(`${errorRedirectUrl}?error=${encodeURIComponent(error2.message || "Failed to exchange token")}`, request.url));
|
|
6633
6638
|
}
|
|
6634
6639
|
} else {
|
|
6635
|
-
|
|
6640
|
+
let targetOrigin = frontendOrigin;
|
|
6641
|
+
if (!targetOrigin) {
|
|
6642
|
+
try {
|
|
6643
|
+
const returnUrlObj = new URL(returnUrl);
|
|
6644
|
+
targetOrigin = returnUrlObj.origin;
|
|
6645
|
+
returnUrl = returnUrlObj.pathname + returnUrlObj.search;
|
|
6646
|
+
} catch {
|
|
6647
|
+
const referer = request.headers.get("referer") || request.headers.get("referrer");
|
|
6648
|
+
if (referer) {
|
|
6649
|
+
try {
|
|
6650
|
+
const refererUrl = new URL(referer);
|
|
6651
|
+
targetOrigin = refererUrl.origin;
|
|
6652
|
+
} catch {}
|
|
6653
|
+
}
|
|
6654
|
+
}
|
|
6655
|
+
}
|
|
6656
|
+
if (!targetOrigin) {
|
|
6657
|
+
console.warn("[OAuth] Could not determine frontend origin for redirect. Using request origin as fallback.");
|
|
6658
|
+
targetOrigin = new URL(request.url).origin;
|
|
6659
|
+
}
|
|
6660
|
+
const targetUrl = new URL(returnUrl, targetOrigin);
|
|
6636
6661
|
targetUrl.hash = `oauth_callback=${encodeURIComponent(JSON.stringify({ code, state }))}`;
|
|
6637
6662
|
return Response.redirect(targetUrl);
|
|
6638
6663
|
}
|
|
@@ -7206,9 +7231,12 @@ class OAuthHandler {
|
|
|
7206
7231
|
try {
|
|
7207
7232
|
const { storeCodeVerifier: storeCodeVerifier2 } = await Promise.resolve().then(() => (init_server(), exports_server));
|
|
7208
7233
|
storeCodeVerifier2(authorizeRequest.state, authorizeRequest.codeVerifier, authorizeRequest.provider, authorizeRequest.frontendOrigin);
|
|
7234
|
+
console.log("[OAuth] Stored codeVerifier for state:", authorizeRequest.state.substring(0, 20) + "...", "frontendOrigin:", authorizeRequest.frontendOrigin);
|
|
7209
7235
|
} catch (error) {
|
|
7210
7236
|
console.warn("[OAuth] Failed to store codeVerifier:", error);
|
|
7211
7237
|
}
|
|
7238
|
+
} else {
|
|
7239
|
+
console.log("[OAuth] No codeVerifier provided in authorize request");
|
|
7212
7240
|
}
|
|
7213
7241
|
if (webRequest) {
|
|
7214
7242
|
try {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base-handler.d.ts","sourceRoot":"","sources":["../../../src/adapters/base-handler.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"base-handler.d.ts","sourceRoot":"","sources":["../../../src/adapters/base-handler.ts"],"names":[],"mappings":"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"}
|
package/dist/adapters/index.js
CHANGED
|
@@ -6581,6 +6581,11 @@ function createMCPServer(config) {
|
|
|
6581
6581
|
} catch {}
|
|
6582
6582
|
}
|
|
6583
6583
|
const codeVerifierEntry = getCodeVerifier(state);
|
|
6584
|
+
if (codeVerifierEntry) {
|
|
6585
|
+
console.log("[OAuth Backend Callback] Found codeVerifier, using backend redirect flow");
|
|
6586
|
+
} else {
|
|
6587
|
+
console.log("[OAuth Backend Callback] No codeVerifier found, using frontend redirect flow");
|
|
6588
|
+
}
|
|
6584
6589
|
if (codeVerifierEntry) {
|
|
6585
6590
|
try {
|
|
6586
6591
|
const { codeVerifier, provider, frontendOrigin: storedFrontendOrigin } = codeVerifierEntry;
|
|
@@ -6632,7 +6637,27 @@ function createMCPServer(config) {
|
|
|
6632
6637
|
return Response.redirect(new URL(`${errorRedirectUrl}?error=${encodeURIComponent(error2.message || "Failed to exchange token")}`, request.url));
|
|
6633
6638
|
}
|
|
6634
6639
|
} else {
|
|
6635
|
-
|
|
6640
|
+
let targetOrigin = frontendOrigin;
|
|
6641
|
+
if (!targetOrigin) {
|
|
6642
|
+
try {
|
|
6643
|
+
const returnUrlObj = new URL(returnUrl);
|
|
6644
|
+
targetOrigin = returnUrlObj.origin;
|
|
6645
|
+
returnUrl = returnUrlObj.pathname + returnUrlObj.search;
|
|
6646
|
+
} catch {
|
|
6647
|
+
const referer = request.headers.get("referer") || request.headers.get("referrer");
|
|
6648
|
+
if (referer) {
|
|
6649
|
+
try {
|
|
6650
|
+
const refererUrl = new URL(referer);
|
|
6651
|
+
targetOrigin = refererUrl.origin;
|
|
6652
|
+
} catch {}
|
|
6653
|
+
}
|
|
6654
|
+
}
|
|
6655
|
+
}
|
|
6656
|
+
if (!targetOrigin) {
|
|
6657
|
+
console.warn("[OAuth] Could not determine frontend origin for redirect. Using request origin as fallback.");
|
|
6658
|
+
targetOrigin = new URL(request.url).origin;
|
|
6659
|
+
}
|
|
6660
|
+
const targetUrl = new URL(returnUrl, targetOrigin);
|
|
6636
6661
|
targetUrl.hash = `oauth_callback=${encodeURIComponent(JSON.stringify({ code, state }))}`;
|
|
6637
6662
|
return Response.redirect(targetUrl);
|
|
6638
6663
|
}
|
|
@@ -7206,9 +7231,12 @@ class OAuthHandler {
|
|
|
7206
7231
|
try {
|
|
7207
7232
|
const { storeCodeVerifier: storeCodeVerifier2 } = await Promise.resolve().then(() => (init_server(), exports_server));
|
|
7208
7233
|
storeCodeVerifier2(authorizeRequest.state, authorizeRequest.codeVerifier, authorizeRequest.provider, authorizeRequest.frontendOrigin);
|
|
7234
|
+
console.log("[OAuth] Stored codeVerifier for state:", authorizeRequest.state.substring(0, 20) + "...", "frontendOrigin:", authorizeRequest.frontendOrigin);
|
|
7209
7235
|
} catch (error) {
|
|
7210
7236
|
console.warn("[OAuth] Failed to store codeVerifier:", error);
|
|
7211
7237
|
}
|
|
7238
|
+
} else {
|
|
7239
|
+
console.log("[OAuth] No codeVerifier provided in authorize request");
|
|
7212
7240
|
}
|
|
7213
7241
|
if (webRequest) {
|
|
7214
7242
|
try {
|
package/dist/adapters/nextjs.js
CHANGED
|
@@ -6581,6 +6581,11 @@ function createMCPServer(config) {
|
|
|
6581
6581
|
} catch {}
|
|
6582
6582
|
}
|
|
6583
6583
|
const codeVerifierEntry = getCodeVerifier(state);
|
|
6584
|
+
if (codeVerifierEntry) {
|
|
6585
|
+
console.log("[OAuth Backend Callback] Found codeVerifier, using backend redirect flow");
|
|
6586
|
+
} else {
|
|
6587
|
+
console.log("[OAuth Backend Callback] No codeVerifier found, using frontend redirect flow");
|
|
6588
|
+
}
|
|
6584
6589
|
if (codeVerifierEntry) {
|
|
6585
6590
|
try {
|
|
6586
6591
|
const { codeVerifier, provider, frontendOrigin: storedFrontendOrigin } = codeVerifierEntry;
|
|
@@ -6632,7 +6637,27 @@ function createMCPServer(config) {
|
|
|
6632
6637
|
return Response.redirect(new URL(`${errorRedirectUrl}?error=${encodeURIComponent(error2.message || "Failed to exchange token")}`, request.url));
|
|
6633
6638
|
}
|
|
6634
6639
|
} else {
|
|
6635
|
-
|
|
6640
|
+
let targetOrigin = frontendOrigin;
|
|
6641
|
+
if (!targetOrigin) {
|
|
6642
|
+
try {
|
|
6643
|
+
const returnUrlObj = new URL(returnUrl);
|
|
6644
|
+
targetOrigin = returnUrlObj.origin;
|
|
6645
|
+
returnUrl = returnUrlObj.pathname + returnUrlObj.search;
|
|
6646
|
+
} catch {
|
|
6647
|
+
const referer = request.headers.get("referer") || request.headers.get("referrer");
|
|
6648
|
+
if (referer) {
|
|
6649
|
+
try {
|
|
6650
|
+
const refererUrl = new URL(referer);
|
|
6651
|
+
targetOrigin = refererUrl.origin;
|
|
6652
|
+
} catch {}
|
|
6653
|
+
}
|
|
6654
|
+
}
|
|
6655
|
+
}
|
|
6656
|
+
if (!targetOrigin) {
|
|
6657
|
+
console.warn("[OAuth] Could not determine frontend origin for redirect. Using request origin as fallback.");
|
|
6658
|
+
targetOrigin = new URL(request.url).origin;
|
|
6659
|
+
}
|
|
6660
|
+
const targetUrl = new URL(returnUrl, targetOrigin);
|
|
6636
6661
|
targetUrl.hash = `oauth_callback=${encodeURIComponent(JSON.stringify({ code, state }))}`;
|
|
6637
6662
|
return Response.redirect(targetUrl);
|
|
6638
6663
|
}
|
|
@@ -7206,9 +7231,12 @@ class OAuthHandler {
|
|
|
7206
7231
|
try {
|
|
7207
7232
|
const { storeCodeVerifier: storeCodeVerifier2 } = await Promise.resolve().then(() => (init_server(), exports_server));
|
|
7208
7233
|
storeCodeVerifier2(authorizeRequest.state, authorizeRequest.codeVerifier, authorizeRequest.provider, authorizeRequest.frontendOrigin);
|
|
7234
|
+
console.log("[OAuth] Stored codeVerifier for state:", authorizeRequest.state.substring(0, 20) + "...", "frontendOrigin:", authorizeRequest.frontendOrigin);
|
|
7209
7235
|
} catch (error) {
|
|
7210
7236
|
console.warn("[OAuth] Failed to store codeVerifier:", error);
|
|
7211
7237
|
}
|
|
7238
|
+
} else {
|
|
7239
|
+
console.log("[OAuth] No codeVerifier provided in authorize request");
|
|
7212
7240
|
}
|
|
7213
7241
|
if (webRequest) {
|
|
7214
7242
|
try {
|
package/dist/adapters/node.js
CHANGED
|
@@ -6581,6 +6581,11 @@ function createMCPServer(config) {
|
|
|
6581
6581
|
} catch {}
|
|
6582
6582
|
}
|
|
6583
6583
|
const codeVerifierEntry = getCodeVerifier(state);
|
|
6584
|
+
if (codeVerifierEntry) {
|
|
6585
|
+
console.log("[OAuth Backend Callback] Found codeVerifier, using backend redirect flow");
|
|
6586
|
+
} else {
|
|
6587
|
+
console.log("[OAuth Backend Callback] No codeVerifier found, using frontend redirect flow");
|
|
6588
|
+
}
|
|
6584
6589
|
if (codeVerifierEntry) {
|
|
6585
6590
|
try {
|
|
6586
6591
|
const { codeVerifier, provider, frontendOrigin: storedFrontendOrigin } = codeVerifierEntry;
|
|
@@ -6632,7 +6637,27 @@ function createMCPServer(config) {
|
|
|
6632
6637
|
return Response.redirect(new URL(`${errorRedirectUrl}?error=${encodeURIComponent(error2.message || "Failed to exchange token")}`, request.url));
|
|
6633
6638
|
}
|
|
6634
6639
|
} else {
|
|
6635
|
-
|
|
6640
|
+
let targetOrigin = frontendOrigin;
|
|
6641
|
+
if (!targetOrigin) {
|
|
6642
|
+
try {
|
|
6643
|
+
const returnUrlObj = new URL(returnUrl);
|
|
6644
|
+
targetOrigin = returnUrlObj.origin;
|
|
6645
|
+
returnUrl = returnUrlObj.pathname + returnUrlObj.search;
|
|
6646
|
+
} catch {
|
|
6647
|
+
const referer = request.headers.get("referer") || request.headers.get("referrer");
|
|
6648
|
+
if (referer) {
|
|
6649
|
+
try {
|
|
6650
|
+
const refererUrl = new URL(referer);
|
|
6651
|
+
targetOrigin = refererUrl.origin;
|
|
6652
|
+
} catch {}
|
|
6653
|
+
}
|
|
6654
|
+
}
|
|
6655
|
+
}
|
|
6656
|
+
if (!targetOrigin) {
|
|
6657
|
+
console.warn("[OAuth] Could not determine frontend origin for redirect. Using request origin as fallback.");
|
|
6658
|
+
targetOrigin = new URL(request.url).origin;
|
|
6659
|
+
}
|
|
6660
|
+
const targetUrl = new URL(returnUrl, targetOrigin);
|
|
6636
6661
|
targetUrl.hash = `oauth_callback=${encodeURIComponent(JSON.stringify({ code, state }))}`;
|
|
6637
6662
|
return Response.redirect(targetUrl);
|
|
6638
6663
|
}
|
|
@@ -7206,9 +7231,12 @@ class OAuthHandler {
|
|
|
7206
7231
|
try {
|
|
7207
7232
|
const { storeCodeVerifier: storeCodeVerifier2 } = await Promise.resolve().then(() => (init_server(), exports_server));
|
|
7208
7233
|
storeCodeVerifier2(authorizeRequest.state, authorizeRequest.codeVerifier, authorizeRequest.provider, authorizeRequest.frontendOrigin);
|
|
7234
|
+
console.log("[OAuth] Stored codeVerifier for state:", authorizeRequest.state.substring(0, 20) + "...", "frontendOrigin:", authorizeRequest.frontendOrigin);
|
|
7209
7235
|
} catch (error) {
|
|
7210
7236
|
console.warn("[OAuth] Failed to store codeVerifier:", error);
|
|
7211
7237
|
}
|
|
7238
|
+
} else {
|
|
7239
|
+
console.log("[OAuth] No codeVerifier provided in authorize request");
|
|
7212
7240
|
}
|
|
7213
7241
|
if (webRequest) {
|
|
7214
7242
|
try {
|
|
@@ -6581,6 +6581,11 @@ function createMCPServer(config) {
|
|
|
6581
6581
|
} catch {}
|
|
6582
6582
|
}
|
|
6583
6583
|
const codeVerifierEntry = getCodeVerifier(state);
|
|
6584
|
+
if (codeVerifierEntry) {
|
|
6585
|
+
console.log("[OAuth Backend Callback] Found codeVerifier, using backend redirect flow");
|
|
6586
|
+
} else {
|
|
6587
|
+
console.log("[OAuth Backend Callback] No codeVerifier found, using frontend redirect flow");
|
|
6588
|
+
}
|
|
6584
6589
|
if (codeVerifierEntry) {
|
|
6585
6590
|
try {
|
|
6586
6591
|
const { codeVerifier, provider, frontendOrigin: storedFrontendOrigin } = codeVerifierEntry;
|
|
@@ -6632,7 +6637,27 @@ function createMCPServer(config) {
|
|
|
6632
6637
|
return Response.redirect(new URL(`${errorRedirectUrl}?error=${encodeURIComponent(error2.message || "Failed to exchange token")}`, request.url));
|
|
6633
6638
|
}
|
|
6634
6639
|
} else {
|
|
6635
|
-
|
|
6640
|
+
let targetOrigin = frontendOrigin;
|
|
6641
|
+
if (!targetOrigin) {
|
|
6642
|
+
try {
|
|
6643
|
+
const returnUrlObj = new URL(returnUrl);
|
|
6644
|
+
targetOrigin = returnUrlObj.origin;
|
|
6645
|
+
returnUrl = returnUrlObj.pathname + returnUrlObj.search;
|
|
6646
|
+
} catch {
|
|
6647
|
+
const referer = request.headers.get("referer") || request.headers.get("referrer");
|
|
6648
|
+
if (referer) {
|
|
6649
|
+
try {
|
|
6650
|
+
const refererUrl = new URL(referer);
|
|
6651
|
+
targetOrigin = refererUrl.origin;
|
|
6652
|
+
} catch {}
|
|
6653
|
+
}
|
|
6654
|
+
}
|
|
6655
|
+
}
|
|
6656
|
+
if (!targetOrigin) {
|
|
6657
|
+
console.warn("[OAuth] Could not determine frontend origin for redirect. Using request origin as fallback.");
|
|
6658
|
+
targetOrigin = new URL(request.url).origin;
|
|
6659
|
+
}
|
|
6660
|
+
const targetUrl = new URL(returnUrl, targetOrigin);
|
|
6636
6661
|
targetUrl.hash = `oauth_callback=${encodeURIComponent(JSON.stringify({ code, state }))}`;
|
|
6637
6662
|
return Response.redirect(targetUrl);
|
|
6638
6663
|
}
|
|
@@ -7206,9 +7231,12 @@ class OAuthHandler {
|
|
|
7206
7231
|
try {
|
|
7207
7232
|
const { storeCodeVerifier: storeCodeVerifier2 } = await Promise.resolve().then(() => (init_server(), exports_server));
|
|
7208
7233
|
storeCodeVerifier2(authorizeRequest.state, authorizeRequest.codeVerifier, authorizeRequest.provider, authorizeRequest.frontendOrigin);
|
|
7234
|
+
console.log("[OAuth] Stored codeVerifier for state:", authorizeRequest.state.substring(0, 20) + "...", "frontendOrigin:", authorizeRequest.frontendOrigin);
|
|
7209
7235
|
} catch (error) {
|
|
7210
7236
|
console.warn("[OAuth] Failed to store codeVerifier:", error);
|
|
7211
7237
|
}
|
|
7238
|
+
} else {
|
|
7239
|
+
console.log("[OAuth] No codeVerifier provided in authorize request");
|
|
7212
7240
|
}
|
|
7213
7241
|
if (webRequest) {
|
|
7214
7242
|
try {
|
|
@@ -6581,6 +6581,11 @@ function createMCPServer(config) {
|
|
|
6581
6581
|
} catch {}
|
|
6582
6582
|
}
|
|
6583
6583
|
const codeVerifierEntry = getCodeVerifier(state);
|
|
6584
|
+
if (codeVerifierEntry) {
|
|
6585
|
+
console.log("[OAuth Backend Callback] Found codeVerifier, using backend redirect flow");
|
|
6586
|
+
} else {
|
|
6587
|
+
console.log("[OAuth Backend Callback] No codeVerifier found, using frontend redirect flow");
|
|
6588
|
+
}
|
|
6584
6589
|
if (codeVerifierEntry) {
|
|
6585
6590
|
try {
|
|
6586
6591
|
const { codeVerifier, provider, frontendOrigin: storedFrontendOrigin } = codeVerifierEntry;
|
|
@@ -6632,7 +6637,27 @@ function createMCPServer(config) {
|
|
|
6632
6637
|
return Response.redirect(new URL(`${errorRedirectUrl}?error=${encodeURIComponent(error2.message || "Failed to exchange token")}`, request.url));
|
|
6633
6638
|
}
|
|
6634
6639
|
} else {
|
|
6635
|
-
|
|
6640
|
+
let targetOrigin = frontendOrigin;
|
|
6641
|
+
if (!targetOrigin) {
|
|
6642
|
+
try {
|
|
6643
|
+
const returnUrlObj = new URL(returnUrl);
|
|
6644
|
+
targetOrigin = returnUrlObj.origin;
|
|
6645
|
+
returnUrl = returnUrlObj.pathname + returnUrlObj.search;
|
|
6646
|
+
} catch {
|
|
6647
|
+
const referer = request.headers.get("referer") || request.headers.get("referrer");
|
|
6648
|
+
if (referer) {
|
|
6649
|
+
try {
|
|
6650
|
+
const refererUrl = new URL(referer);
|
|
6651
|
+
targetOrigin = refererUrl.origin;
|
|
6652
|
+
} catch {}
|
|
6653
|
+
}
|
|
6654
|
+
}
|
|
6655
|
+
}
|
|
6656
|
+
if (!targetOrigin) {
|
|
6657
|
+
console.warn("[OAuth] Could not determine frontend origin for redirect. Using request origin as fallback.");
|
|
6658
|
+
targetOrigin = new URL(request.url).origin;
|
|
6659
|
+
}
|
|
6660
|
+
const targetUrl = new URL(returnUrl, targetOrigin);
|
|
6636
6661
|
targetUrl.hash = `oauth_callback=${encodeURIComponent(JSON.stringify({ code, state }))}`;
|
|
6637
6662
|
return Response.redirect(targetUrl);
|
|
6638
6663
|
}
|
|
@@ -7206,9 +7231,12 @@ class OAuthHandler {
|
|
|
7206
7231
|
try {
|
|
7207
7232
|
const { storeCodeVerifier: storeCodeVerifier2 } = await Promise.resolve().then(() => (init_server(), exports_server));
|
|
7208
7233
|
storeCodeVerifier2(authorizeRequest.state, authorizeRequest.codeVerifier, authorizeRequest.provider, authorizeRequest.frontendOrigin);
|
|
7234
|
+
console.log("[OAuth] Stored codeVerifier for state:", authorizeRequest.state.substring(0, 20) + "...", "frontendOrigin:", authorizeRequest.frontendOrigin);
|
|
7209
7235
|
} catch (error) {
|
|
7210
7236
|
console.warn("[OAuth] Failed to store codeVerifier:", error);
|
|
7211
7237
|
}
|
|
7238
|
+
} else {
|
|
7239
|
+
console.log("[OAuth] No codeVerifier provided in authorize request");
|
|
7212
7240
|
}
|
|
7213
7241
|
if (webRequest) {
|
|
7214
7242
|
try {
|
|
@@ -6581,6 +6581,11 @@ function createMCPServer(config) {
|
|
|
6581
6581
|
} catch {}
|
|
6582
6582
|
}
|
|
6583
6583
|
const codeVerifierEntry = getCodeVerifier(state);
|
|
6584
|
+
if (codeVerifierEntry) {
|
|
6585
|
+
console.log("[OAuth Backend Callback] Found codeVerifier, using backend redirect flow");
|
|
6586
|
+
} else {
|
|
6587
|
+
console.log("[OAuth Backend Callback] No codeVerifier found, using frontend redirect flow");
|
|
6588
|
+
}
|
|
6584
6589
|
if (codeVerifierEntry) {
|
|
6585
6590
|
try {
|
|
6586
6591
|
const { codeVerifier, provider, frontendOrigin: storedFrontendOrigin } = codeVerifierEntry;
|
|
@@ -6632,7 +6637,27 @@ function createMCPServer(config) {
|
|
|
6632
6637
|
return Response.redirect(new URL(`${errorRedirectUrl}?error=${encodeURIComponent(error2.message || "Failed to exchange token")}`, request.url));
|
|
6633
6638
|
}
|
|
6634
6639
|
} else {
|
|
6635
|
-
|
|
6640
|
+
let targetOrigin = frontendOrigin;
|
|
6641
|
+
if (!targetOrigin) {
|
|
6642
|
+
try {
|
|
6643
|
+
const returnUrlObj = new URL(returnUrl);
|
|
6644
|
+
targetOrigin = returnUrlObj.origin;
|
|
6645
|
+
returnUrl = returnUrlObj.pathname + returnUrlObj.search;
|
|
6646
|
+
} catch {
|
|
6647
|
+
const referer = request.headers.get("referer") || request.headers.get("referrer");
|
|
6648
|
+
if (referer) {
|
|
6649
|
+
try {
|
|
6650
|
+
const refererUrl = new URL(referer);
|
|
6651
|
+
targetOrigin = refererUrl.origin;
|
|
6652
|
+
} catch {}
|
|
6653
|
+
}
|
|
6654
|
+
}
|
|
6655
|
+
}
|
|
6656
|
+
if (!targetOrigin) {
|
|
6657
|
+
console.warn("[OAuth] Could not determine frontend origin for redirect. Using request origin as fallback.");
|
|
6658
|
+
targetOrigin = new URL(request.url).origin;
|
|
6659
|
+
}
|
|
6660
|
+
const targetUrl = new URL(returnUrl, targetOrigin);
|
|
6636
6661
|
targetUrl.hash = `oauth_callback=${encodeURIComponent(JSON.stringify({ code, state }))}`;
|
|
6637
6662
|
return Response.redirect(targetUrl);
|
|
6638
6663
|
}
|
|
@@ -7206,9 +7231,12 @@ class OAuthHandler {
|
|
|
7206
7231
|
try {
|
|
7207
7232
|
const { storeCodeVerifier: storeCodeVerifier2 } = await Promise.resolve().then(() => (init_server(), exports_server));
|
|
7208
7233
|
storeCodeVerifier2(authorizeRequest.state, authorizeRequest.codeVerifier, authorizeRequest.provider, authorizeRequest.frontendOrigin);
|
|
7234
|
+
console.log("[OAuth] Stored codeVerifier for state:", authorizeRequest.state.substring(0, 20) + "...", "frontendOrigin:", authorizeRequest.frontendOrigin);
|
|
7209
7235
|
} catch (error) {
|
|
7210
7236
|
console.warn("[OAuth] Failed to store codeVerifier:", error);
|
|
7211
7237
|
}
|
|
7238
|
+
} else {
|
|
7239
|
+
console.log("[OAuth] No codeVerifier provided in authorize request");
|
|
7212
7240
|
}
|
|
7213
7241
|
if (webRequest) {
|
|
7214
7242
|
try {
|
package/dist/index.js
CHANGED
|
@@ -6952,6 +6952,11 @@ function createMCPServer(config) {
|
|
|
6952
6952
|
} catch {}
|
|
6953
6953
|
}
|
|
6954
6954
|
const codeVerifierEntry = getCodeVerifier(state);
|
|
6955
|
+
if (codeVerifierEntry) {
|
|
6956
|
+
console.log("[OAuth Backend Callback] Found codeVerifier, using backend redirect flow");
|
|
6957
|
+
} else {
|
|
6958
|
+
console.log("[OAuth Backend Callback] No codeVerifier found, using frontend redirect flow");
|
|
6959
|
+
}
|
|
6955
6960
|
if (codeVerifierEntry) {
|
|
6956
6961
|
try {
|
|
6957
6962
|
const { codeVerifier, provider, frontendOrigin: storedFrontendOrigin } = codeVerifierEntry;
|
|
@@ -7003,7 +7008,27 @@ function createMCPServer(config) {
|
|
|
7003
7008
|
return Response.redirect(new URL(`${errorRedirectUrl}?error=${encodeURIComponent(error2.message || "Failed to exchange token")}`, request.url));
|
|
7004
7009
|
}
|
|
7005
7010
|
} else {
|
|
7006
|
-
|
|
7011
|
+
let targetOrigin = frontendOrigin;
|
|
7012
|
+
if (!targetOrigin) {
|
|
7013
|
+
try {
|
|
7014
|
+
const returnUrlObj = new URL(returnUrl);
|
|
7015
|
+
targetOrigin = returnUrlObj.origin;
|
|
7016
|
+
returnUrl = returnUrlObj.pathname + returnUrlObj.search;
|
|
7017
|
+
} catch {
|
|
7018
|
+
const referer = request.headers.get("referer") || request.headers.get("referrer");
|
|
7019
|
+
if (referer) {
|
|
7020
|
+
try {
|
|
7021
|
+
const refererUrl = new URL(referer);
|
|
7022
|
+
targetOrigin = refererUrl.origin;
|
|
7023
|
+
} catch {}
|
|
7024
|
+
}
|
|
7025
|
+
}
|
|
7026
|
+
}
|
|
7027
|
+
if (!targetOrigin) {
|
|
7028
|
+
console.warn("[OAuth] Could not determine frontend origin for redirect. Using request origin as fallback.");
|
|
7029
|
+
targetOrigin = new URL(request.url).origin;
|
|
7030
|
+
}
|
|
7031
|
+
const targetUrl = new URL(returnUrl, targetOrigin);
|
|
7007
7032
|
targetUrl.hash = `oauth_callback=${encodeURIComponent(JSON.stringify({ code, state }))}`;
|
|
7008
7033
|
return Response.redirect(targetUrl);
|
|
7009
7034
|
}
|
|
@@ -7577,9 +7602,12 @@ class OAuthHandler {
|
|
|
7577
7602
|
try {
|
|
7578
7603
|
const { storeCodeVerifier: storeCodeVerifier2 } = await Promise.resolve().then(() => (init_server(), exports_server));
|
|
7579
7604
|
storeCodeVerifier2(authorizeRequest.state, authorizeRequest.codeVerifier, authorizeRequest.provider, authorizeRequest.frontendOrigin);
|
|
7605
|
+
console.log("[OAuth] Stored codeVerifier for state:", authorizeRequest.state.substring(0, 20) + "...", "frontendOrigin:", authorizeRequest.frontendOrigin);
|
|
7580
7606
|
} catch (error) {
|
|
7581
7607
|
console.warn("[OAuth] Failed to store codeVerifier:", error);
|
|
7582
7608
|
}
|
|
7609
|
+
} else {
|
|
7610
|
+
console.log("[OAuth] No codeVerifier provided in authorize request");
|
|
7583
7611
|
}
|
|
7584
7612
|
if (webRequest) {
|
|
7585
7613
|
try {
|
package/dist/oauth.js
CHANGED
|
@@ -6770,6 +6770,11 @@ function createMCPServer(config) {
|
|
|
6770
6770
|
} catch {}
|
|
6771
6771
|
}
|
|
6772
6772
|
const codeVerifierEntry = getCodeVerifier(state);
|
|
6773
|
+
if (codeVerifierEntry) {
|
|
6774
|
+
console.log("[OAuth Backend Callback] Found codeVerifier, using backend redirect flow");
|
|
6775
|
+
} else {
|
|
6776
|
+
console.log("[OAuth Backend Callback] No codeVerifier found, using frontend redirect flow");
|
|
6777
|
+
}
|
|
6773
6778
|
if (codeVerifierEntry) {
|
|
6774
6779
|
try {
|
|
6775
6780
|
const { codeVerifier, provider, frontendOrigin: storedFrontendOrigin } = codeVerifierEntry;
|
|
@@ -6821,7 +6826,27 @@ function createMCPServer(config) {
|
|
|
6821
6826
|
return Response.redirect(new URL(`${errorRedirectUrl}?error=${encodeURIComponent(error2.message || "Failed to exchange token")}`, request.url));
|
|
6822
6827
|
}
|
|
6823
6828
|
} else {
|
|
6824
|
-
|
|
6829
|
+
let targetOrigin = frontendOrigin;
|
|
6830
|
+
if (!targetOrigin) {
|
|
6831
|
+
try {
|
|
6832
|
+
const returnUrlObj = new URL(returnUrl);
|
|
6833
|
+
targetOrigin = returnUrlObj.origin;
|
|
6834
|
+
returnUrl = returnUrlObj.pathname + returnUrlObj.search;
|
|
6835
|
+
} catch {
|
|
6836
|
+
const referer = request.headers.get("referer") || request.headers.get("referrer");
|
|
6837
|
+
if (referer) {
|
|
6838
|
+
try {
|
|
6839
|
+
const refererUrl = new URL(referer);
|
|
6840
|
+
targetOrigin = refererUrl.origin;
|
|
6841
|
+
} catch {}
|
|
6842
|
+
}
|
|
6843
|
+
}
|
|
6844
|
+
}
|
|
6845
|
+
if (!targetOrigin) {
|
|
6846
|
+
console.warn("[OAuth] Could not determine frontend origin for redirect. Using request origin as fallback.");
|
|
6847
|
+
targetOrigin = new URL(request.url).origin;
|
|
6848
|
+
}
|
|
6849
|
+
const targetUrl = new URL(returnUrl, targetOrigin);
|
|
6825
6850
|
targetUrl.hash = `oauth_callback=${encodeURIComponent(JSON.stringify({ code, state }))}`;
|
|
6826
6851
|
return Response.redirect(targetUrl);
|
|
6827
6852
|
}
|
|
@@ -7395,9 +7420,12 @@ class OAuthHandler {
|
|
|
7395
7420
|
try {
|
|
7396
7421
|
const { storeCodeVerifier: storeCodeVerifier2 } = await Promise.resolve().then(() => (init_server(), exports_server));
|
|
7397
7422
|
storeCodeVerifier2(authorizeRequest.state, authorizeRequest.codeVerifier, authorizeRequest.provider, authorizeRequest.frontendOrigin);
|
|
7423
|
+
console.log("[OAuth] Stored codeVerifier for state:", authorizeRequest.state.substring(0, 20) + "...", "frontendOrigin:", authorizeRequest.frontendOrigin);
|
|
7398
7424
|
} catch (error) {
|
|
7399
7425
|
console.warn("[OAuth] Failed to store codeVerifier:", error);
|
|
7400
7426
|
}
|
|
7427
|
+
} else {
|
|
7428
|
+
console.log("[OAuth] No codeVerifier provided in authorize request");
|
|
7401
7429
|
}
|
|
7402
7430
|
if (webRequest) {
|
|
7403
7431
|
try {
|
package/dist/server.js
CHANGED
|
@@ -2076,9 +2076,12 @@ class OAuthHandler {
|
|
|
2076
2076
|
try {
|
|
2077
2077
|
const { storeCodeVerifier } = await Promise.resolve().then(() => (init_server(), exports_server));
|
|
2078
2078
|
storeCodeVerifier(authorizeRequest.state, authorizeRequest.codeVerifier, authorizeRequest.provider, authorizeRequest.frontendOrigin);
|
|
2079
|
+
console.log("[OAuth] Stored codeVerifier for state:", authorizeRequest.state.substring(0, 20) + "...", "frontendOrigin:", authorizeRequest.frontendOrigin);
|
|
2079
2080
|
} catch (error) {
|
|
2080
2081
|
console.warn("[OAuth] Failed to store codeVerifier:", error);
|
|
2081
2082
|
}
|
|
2083
|
+
} else {
|
|
2084
|
+
console.log("[OAuth] No codeVerifier provided in authorize request");
|
|
2082
2085
|
}
|
|
2083
2086
|
if (webRequest) {
|
|
2084
2087
|
try {
|
|
@@ -7330,6 +7333,11 @@ function createMCPServer(config) {
|
|
|
7330
7333
|
} catch {}
|
|
7331
7334
|
}
|
|
7332
7335
|
const codeVerifierEntry = getCodeVerifier(state);
|
|
7336
|
+
if (codeVerifierEntry) {
|
|
7337
|
+
console.log("[OAuth Backend Callback] Found codeVerifier, using backend redirect flow");
|
|
7338
|
+
} else {
|
|
7339
|
+
console.log("[OAuth Backend Callback] No codeVerifier found, using frontend redirect flow");
|
|
7340
|
+
}
|
|
7333
7341
|
if (codeVerifierEntry) {
|
|
7334
7342
|
try {
|
|
7335
7343
|
const { codeVerifier, provider, frontendOrigin: storedFrontendOrigin } = codeVerifierEntry;
|
|
@@ -7381,7 +7389,27 @@ function createMCPServer(config) {
|
|
|
7381
7389
|
return Response.redirect(new URL(`${errorRedirectUrl}?error=${encodeURIComponent(error2.message || "Failed to exchange token")}`, request.url));
|
|
7382
7390
|
}
|
|
7383
7391
|
} else {
|
|
7384
|
-
|
|
7392
|
+
let targetOrigin = frontendOrigin;
|
|
7393
|
+
if (!targetOrigin) {
|
|
7394
|
+
try {
|
|
7395
|
+
const returnUrlObj = new URL(returnUrl);
|
|
7396
|
+
targetOrigin = returnUrlObj.origin;
|
|
7397
|
+
returnUrl = returnUrlObj.pathname + returnUrlObj.search;
|
|
7398
|
+
} catch {
|
|
7399
|
+
const referer = request.headers.get("referer") || request.headers.get("referrer");
|
|
7400
|
+
if (referer) {
|
|
7401
|
+
try {
|
|
7402
|
+
const refererUrl = new URL(referer);
|
|
7403
|
+
targetOrigin = refererUrl.origin;
|
|
7404
|
+
} catch {}
|
|
7405
|
+
}
|
|
7406
|
+
}
|
|
7407
|
+
}
|
|
7408
|
+
if (!targetOrigin) {
|
|
7409
|
+
console.warn("[OAuth] Could not determine frontend origin for redirect. Using request origin as fallback.");
|
|
7410
|
+
targetOrigin = new URL(request.url).origin;
|
|
7411
|
+
}
|
|
7412
|
+
const targetUrl = new URL(returnUrl, targetOrigin);
|
|
7385
7413
|
targetUrl.hash = `oauth_callback=${encodeURIComponent(JSON.stringify({ code, state }))}`;
|
|
7386
7414
|
return Response.redirect(targetUrl);
|
|
7387
7415
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base-handler.d.ts","sourceRoot":"","sources":["../../../src/adapters/base-handler.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"base-handler.d.ts","sourceRoot":"","sources":["../../../src/adapters/base-handler.ts"],"names":[],"mappings":"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"}
|
package/dist/src/server.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/server.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAI9D;;GAEG;AACH,MAAM,MAAM,eAAe,CAAC,aAAa,SAAS,SAAS,cAAc,EAAE,IAAI,SAAS,CAAC,aAAa,CAAC,GAAG;IACxG,uEAAuE;IACvE,OAAO,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE;YAAE,MAAM,CAAC,EAAE,MAAM,CAAC;YAAC,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;SAAE,CAAA;KAAE,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;IACtH,qDAAqD;IACrD,IAAI,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE;QAAE,MAAM,EAAE;YAAE,MAAM,EAAE,MAAM,CAAA;SAAE,GAAG,OAAO,CAAC;YAAE,MAAM,EAAE,MAAM,CAAA;SAAE,CAAC,CAAA;KAAE,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC7G,oDAAoD;IACpD,GAAG,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE;QAAE,MAAM,EAAE;YAAE,MAAM,EAAE,MAAM,CAAA;SAAE,GAAG,OAAO,CAAC;YAAE,MAAM,EAAE,MAAM,CAAA;SAAE,CAAC,CAAA;KAAE,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;CAC7G,CAAC;AAmCF;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAMtH;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG;IAAE,YAAY,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,cAAc,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAW9H;AA8BD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2DG;AACH,wBAAgB,eAAe,CAAC,aAAa,SAAS,SAAS,cAAc,EAAE,EAC7E,MAAM,EAAE,eAAe,CAAC,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/server.ts"],"names":[],"mappings":"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"}
|