Skip to content

OAuth sign in isn't redirecting on the server side

The reason behind this limitation is that the auth helpers library lacks a direct mechanism for performing server-side redirects, as each framework handles redirects differently. However, the library does offer a URL through the data property it returns, which should be used for the purpose of redirection.

Next.js:

import { NextResponse } from "next/server";
...
const { data } = await supabase.auth.signInWithOAuth({
provider: 'github',
})
return NextResponse.redirect(data.url)

SvelteKit:

import { redirect } from '@sveltejs/kit';
...
const { data } = await supabase.auth.signInWithOAuth({
provider: 'github',
})
throw redirect(303, data.url)

Remix:

import { redirect } from "@remix-run/node"; // or cloudflare/deno
...
const { data } = await supabase.auth.signInWithOAuth({
provider: 'github',
})
return redirect(data.url)