Auto-reconnect after OAuth
This commit is contained in:
@@ -216,6 +216,21 @@ const App = () => {
|
|||||||
localStorage.setItem("lastTransportType", transportType);
|
localStorage.setItem("lastTransportType", transportType);
|
||||||
}, [transportType]);
|
}, [transportType]);
|
||||||
|
|
||||||
|
// Auto-connect if serverUrl is provided in URL params (e.g. after OAuth callback)
|
||||||
|
useEffect(() => {
|
||||||
|
const serverUrl = params.get("serverUrl");
|
||||||
|
if (serverUrl) {
|
||||||
|
setSseUrl(serverUrl);
|
||||||
|
setTransportType("sse");
|
||||||
|
// Remove serverUrl from URL without reloading the page
|
||||||
|
const newUrl = new URL(window.location.href);
|
||||||
|
newUrl.searchParams.delete("serverUrl");
|
||||||
|
window.history.replaceState({}, "", newUrl.toString());
|
||||||
|
// Connect to the server
|
||||||
|
connectMcpServer();
|
||||||
|
}
|
||||||
|
}, []);
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
fetch(`${PROXY_SERVER_URL}/config`)
|
fetch(`${PROXY_SERVER_URL}/config`)
|
||||||
.then((response) => response.json())
|
.then((response) => response.json())
|
||||||
|
|||||||
@@ -19,8 +19,8 @@ const OAuthCallback = () => {
|
|||||||
const accessToken = await handleOAuthCallback(serverUrl, code);
|
const accessToken = await handleOAuthCallback(serverUrl, code);
|
||||||
// Store the access token for future use
|
// Store the access token for future use
|
||||||
sessionStorage.setItem(SESSION_KEYS.ACCESS_TOKEN, accessToken);
|
sessionStorage.setItem(SESSION_KEYS.ACCESS_TOKEN, accessToken);
|
||||||
// Redirect back to the main app
|
// Redirect back to the main app with server URL to trigger auto-connect
|
||||||
window.location.href = '/';
|
window.location.href = `/?serverUrl=${encodeURIComponent(serverUrl)}`;
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.error('OAuth callback error:', error);
|
console.error('OAuth callback error:', error);
|
||||||
window.location.href = '/';
|
window.location.href = '/';
|
||||||
|
|||||||
Reference in New Issue
Block a user