Fix Discord OAuth callback session handling
cgen-d075ac5ea7ea407e9e174aebc9f11d0d
This commit is contained in:
parent
6157b1cc5c
commit
628ad823e3
1 changed files with 12 additions and 4 deletions
|
|
@ -44,6 +44,7 @@ export default function DiscordOAuthCallback() {
|
||||||
code,
|
code,
|
||||||
state: state || "/dashboard",
|
state: state || "/dashboard",
|
||||||
}),
|
}),
|
||||||
|
credentials: "include", // Include cookies in request
|
||||||
});
|
});
|
||||||
|
|
||||||
const data = await response.json();
|
const data = await response.json();
|
||||||
|
|
@ -56,13 +57,20 @@ export default function DiscordOAuthCallback() {
|
||||||
|
|
||||||
// Success
|
// Success
|
||||||
setStatus("success");
|
setStatus("success");
|
||||||
setMessage("Successfully linked! Redirecting...");
|
setMessage(data.message || "Successfully authenticated!");
|
||||||
|
|
||||||
// The backend handles session setup, so just redirect
|
// Save session tokens to localStorage if provided
|
||||||
const nextPath = state && state.startsWith("/") ? state : "/dashboard";
|
if (data.session?.access_token) {
|
||||||
|
localStorage.setItem("sb-access-token", data.session.access_token);
|
||||||
|
localStorage.setItem("sb-refresh-token", data.session.refresh_token);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Redirect to next page
|
||||||
|
const nextPath = state && state.startsWith("/") ? state : data.isNewUser ? "/onboarding" : "/dashboard";
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
navigate(nextPath);
|
navigate(nextPath);
|
||||||
}, 2000);
|
window.location.reload(); // Reload to pick up new auth context
|
||||||
|
}, 1500);
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
setStatus("error");
|
setStatus("error");
|
||||||
setMessage(
|
setMessage(
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue