Merge pull request #344 from trails-cool/stigi/fix-oauth-return

Fix OAuth callback returnTo after settings split
This commit is contained in:
Ullrich Schäfer 2026-05-01 09:23:20 +02:00 committed by GitHub
commit 357606ea21
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -2,6 +2,7 @@ import { redirect, data } from "react-router";
import type { Route } from "./+types/api.sync.connect.$provider";
import { getSessionUser } from "~/lib/auth.server";
import { getProvider } from "~/lib/sync/registry";
import { encodeOAuthState } from "~/lib/sync/pushes.server";
export async function loader({ params, request }: Route.LoaderArgs) {
const user = await getSessionUser(request);
@ -12,7 +13,7 @@ export async function loader({ params, request }: Route.LoaderArgs) {
const origin = process.env.ORIGIN ?? "http://localhost:3000";
const redirectUri = `${origin}/api/sync/callback/${params.provider}`;
const state = user.id; // Simple state — could use a CSRF token for production
const state = encodeOAuthState({ returnTo: "/settings/connections" });
return redirect(provider.getAuthUrl(redirectUri, state));
}