diff --git a/apps/docs/pages/guides/auth/auth-helpers/nextjs.mdx b/apps/docs/pages/guides/auth/auth-helpers/nextjs.mdx index c5b7a313484..1fe729573b4 100644 --- a/apps/docs/pages/guides/auth/auth-helpers/nextjs.mdx +++ b/apps/docs/pages/guides/auth/auth-helpers/nextjs.mdx @@ -164,14 +164,13 @@ import { createRouteHandlerClient } from '@supabase/auth-helpers-nextjs' import { cookies } from 'next/headers' import { NextResponse } from 'next/server' -export const dynamic = 'force-dynamic' - export async function GET(request) { const requestUrl = new URL(request.url) const code = requestUrl.searchParams.get('code') if (code) { - const supabase = createRouteHandlerClient({ cookies }) + const cookieStore = cookies() + const supabase = createRouteHandlerClient({ cookies: () => cookieStore }) await supabase.auth.exchangeCodeForSession(code) } @@ -194,14 +193,13 @@ import { NextResponse } from 'next/server' import type { NextRequest } from 'next/server' import type { Database } from '@/lib/database.types' -export const dynamic = 'force-dynamic' - export async function GET(request: NextRequest) { const requestUrl = new URL(request.url) const code = requestUrl.searchParams.get('code') if (code) { - const supabase = createRouteHandlerClient({ cookies }) + const cookieStore = cookies() + const supabase = createRouteHandlerClient({ cookies: () => cookieStore }) await supabase.auth.exchangeCodeForSession(code) } @@ -394,14 +392,13 @@ import { createRouteHandlerClient } from '@supabase/auth-helpers-nextjs' import { cookies } from 'next/headers' import { NextResponse } from 'next/server' -export const dynamic = 'force-dynamic' - export async function POST(request) { const requestUrl = new URL(request.url) const formData = await request.formData() const email = formData.get('email') const password = formData.get('password') - const supabase = createRouteHandlerClient({ cookies }) + const cookieStore = cookies() + const supabase = createRouteHandlerClient({ cookies: () => cookieStore }) await supabase.auth.signUp({ email, @@ -428,14 +425,13 @@ import { NextResponse } from 'next/server' import type { Database } from '@/lib/database.types' -export const dynamic = 'force-dynamic' - export async function POST(request: Request) { const requestUrl = new URL(request.url) const formData = await request.formData() const email = String(formData.get('email')) const password = String(formData.get('password')) - const supabase = createRouteHandlerClient({ cookies }) + const cookieStore = cookies() + const supabase = createRouteHandlerClient({ cookies: () => cookieStore }) await supabase.auth.signUp({ email, @@ -482,14 +478,13 @@ import { createRouteHandlerClient } from '@supabase/auth-helpers-nextjs' import { cookies } from 'next/headers' import { NextResponse } from 'next/server' -export const dynamic = 'force-dynamic' - export async function POST(request) { const requestUrl = new URL(request.url) const formData = await request.formData() const email = formData.get('email') const password = formData.get('password') - const supabase = createRouteHandlerClient({ cookies }) + const cookieStore = cookies() + const supabase = createRouteHandlerClient({ cookies: () => cookieStore }) await supabase.auth.signInWithPassword({ email, @@ -513,14 +508,13 @@ import { NextResponse } from 'next/server' import type { Database } from '@/lib/database.types' -export const dynamic = 'force-dynamic' - export async function POST(request: Request) { const requestUrl = new URL(request.url) const formData = await request.formData() const email = String(formData.get('email')) const password = String(formData.get('password')) - const supabase = createRouteHandlerClient({ cookies }) + const cookieStore = cookies() + const supabase = createRouteHandlerClient({ cookies: () => cookieStore }) await supabase.auth.signInWithPassword({ email, @@ -564,11 +558,10 @@ import { createRouteHandlerClient } from '@supabase/auth-helpers-nextjs' import { cookies } from 'next/headers' import { NextResponse } from 'next/server' -export const dynamic = 'force-dynamic' - export async function POST(request) { const requestUrl = new URL(request.url) - const supabase = createRouteHandlerClient({ cookies }) + const cookieStore = cookies() + const supabase = createRouteHandlerClient({ cookies: () => cookieStore }) await supabase.auth.signOut() @@ -589,11 +582,10 @@ import { NextResponse } from 'next/server' import type { Database } from '@/lib/database.types' -export const dynamic = 'force-dynamic' - export async function POST(request: Request) { const requestUrl = new URL(request.url) - const supabase = createRouteHandlerClient({ cookies }) + const cookieStore = cookies() + const supabase = createRouteHandlerClient({ cookies: () => cookieStore }) await supabase.auth.signOut() @@ -804,10 +796,9 @@ In order to use Supabase in Server Components, you need to have implemented the import { cookies } from 'next/headers' import { createServerComponentClient } from '@supabase/auth-helpers-nextjs' -export const dynamic = 'force-dynamic' - export default async function Page() { - const supabase = createServerComponentClient({ cookies }) + const cookeStore = cookies() + const supabase = createServerComponentClient({ cookies: () => cookieStore }) const { data } = await supabase.from('todos').select() return
{JSON.stringify(data, null, 2)}
} @@ -823,10 +814,9 @@ import { createServerComponentClient } from '@supabase/auth-helpers-nextjs' import type { Database } from '@/lib/database.types' -export const dynamic = 'force-dynamic' - export default async function ServerComponent() { - const supabase = createServerComponentClient({ cookies }) + const cookieStore = cookies() + const supabase = createServerComponentClient({ cookies: () => cookieStore }) const { data } = await supabase.from('todos').select() return
{JSON.stringify(data, null, 2)}
} @@ -880,8 +870,6 @@ import { cookies } from 'next/headers' import { createServerActionClient } from '@supabase/auth-helpers-nextjs' import { revalidatePath } from 'next/cache' -export const dynamic = 'force-dynamic' - export default async function NewTodo() { const addTodo = async (formData) => { 'use server' @@ -911,14 +899,13 @@ import { revalidatePath } from 'next/cache' import type { Database } from '@/lib/database.types' -export const dynamic = 'force-dynamic' - export default async function NewTodo() { const addTodo = async (formData: FormData) => { 'use server' const title = formData.get('title') - const supabase = createServerActionClient({ cookies }) + const cookieStore = cookies() + const supabase = createServerActionClient({ cookies: () => cookieStore }) await supabase.from('todos').insert({ title }) revalidatePath('/') } @@ -967,11 +954,10 @@ import { createRouteHandlerClient } from '@supabase/auth-helpers-nextjs' import { NextResponse } from 'next/server' import { cookies } from 'next/headers' -export const dynamic = 'force-dynamic' - export async function POST(request) { const { title } = await request.json() - const supabase = createRouteHandlerClient({ cookies }) + const cookieStore = cookies() + const supabase = createRouteHandlerClient({ cookies: () => cookieStore }) const { data } = await supabase.from('todos').insert({ title }).select() return NextResponse.json(data) } @@ -988,11 +974,10 @@ import { cookies } from 'next/headers' import type { Database } from '@/lib/database.types' -export const dynamic = 'force-dynamic' - export async function POST(request: Request) { const { title } = await request.json() - const supabase = createRouteHandlerClient({ cookies }) + const cookieStore = cookies() + const supabase = createRouteHandlerClient({ cookies: () => cookieStore }) const { data } = await supabase.from('todos').insert({ title }).select() return NextResponse.json(data) } @@ -1103,10 +1088,7 @@ export const dynamic = 'force-dynamic' export async function POST(request) { const { title } = await request.json() const cookieStore = cookies() - - const supabase = createRouteHandlerClient({ - cookies: () => cookieStore, - }) + const supabase = createRouteHandlerClient({ cookies: () => cookieStore }) const { data } = await supabase.from('todos').insert({ title }).select() return NextResponse.json(data) diff --git a/apps/docs/pages/guides/auth/server-side/email-based-auth-with-pkce-flow-for-ssr.mdx b/apps/docs/pages/guides/auth/server-side/email-based-auth-with-pkce-flow-for-ssr.mdx index 91b59a74e27..7365fa52fa6 100644 --- a/apps/docs/pages/guides/auth/server-side/email-based-auth-with-pkce-flow-for-ssr.mdx +++ b/apps/docs/pages/guides/auth/server-side/email-based-auth-with-pkce-flow-for-ssr.mdx @@ -93,9 +93,8 @@ Create a new `hooks.server.js` file in the root of your project and populate wit ```ts src/hooks.server.js import { PUBLIC_SUPABASE_URL, PUBLIC_SUPABASE_ANON_KEY } from '$env/static/public' import { createSupabaseServerClient } from '@supabase/auth-helpers-sveltekit' -import type { Handle } from '@sveltejs/kit' -export const handle: Handle = async ({ event, resolve }) => { +export const handle = async ({ event, resolve }) => { event.locals.supabase = createSupabaseServerClient({ supabaseUrl: PUBLIC_SUPABASE_URL, supabaseKey: PUBLIC_SUPABASE_ANON_KEY, @@ -146,7 +145,8 @@ export async function GET(req) { const next = searchParams.get('next') ?? '/' if (token_hash && type) { - const supabase = createRouteHandlerClient({ cookies }) + const cookieStore = cookies() + const supabase = createRouteHandlerClient({ cookies: () => cookieStore }) const { error } = await supabase.auth.verifyOtp({ type, token_hash }) if (!error) { return NextResponse.redirect(new URL(`/${next.slice(1)}`, req.url)) diff --git a/apps/docs/pages/guides/auth/server-side/oauth-with-pkce-flow-for-ssr.mdx b/apps/docs/pages/guides/auth/server-side/oauth-with-pkce-flow-for-ssr.mdx index 4808847d87e..9234933784b 100644 --- a/apps/docs/pages/guides/auth/server-side/oauth-with-pkce-flow-for-ssr.mdx +++ b/apps/docs/pages/guides/auth/server-side/oauth-with-pkce-flow-for-ssr.mdx @@ -153,7 +153,8 @@ export async function GET(req) { const next = searchParams.get('next') ?? '/' if (code) { - const supabase = createRouteHandlerClient({ cookies: () => cookies() }) + const cookieStore = cookies() + const supabase = createRouteHandlerClient({ cookies: () => cookieStore }) const { error } = await supabase.auth.exchangeCodeForSession(code) if (!error) { return NextResponse.redirect(new URL(`/${next.slice(1)}`, req.url)) diff --git a/apps/docs/pages/guides/getting-started/quickstarts/nextjs.mdx b/apps/docs/pages/guides/getting-started/quickstarts/nextjs.mdx index 24fde38da52..6056866491f 100644 --- a/apps/docs/pages/guides/getting-started/quickstarts/nextjs.mdx +++ b/apps/docs/pages/guides/getting-started/quickstarts/nextjs.mdx @@ -95,7 +95,8 @@ export const meta = { import { cookies } from "next/headers"; export default async function Index() { - const supabase = createServerComponentClient({ cookies }); + const cookeStore = cookies() + const supabase = createServerComponentClient({ cookies: () => cookieStore }) const { data: countries } = await supabase.from("countries").select(); diff --git a/apps/docs/pages/guides/getting-started/tutorials/with-nextjs.mdx b/apps/docs/pages/guides/getting-started/tutorials/with-nextjs.mdx index 79b9aaf9391..d4ea942571c 100644 --- a/apps/docs/pages/guides/getting-started/tutorials/with-nextjs.mdx +++ b/apps/docs/pages/guides/getting-started/tutorials/with-nextjs.mdx @@ -299,7 +299,8 @@ import { cookies } from 'next/headers' import { NextResponse } from 'next/server' export async function GET(req) { - const supabase = createRouteHandlerClient({ cookies }) + const cookieStore = cookies() + const supabase = createRouteHandlerClient({ cookies: () => cookieStore }) const { searchParams } = new URL(req.url) const code = searchParams.get('code') @@ -320,7 +321,8 @@ import { cookies } from 'next/headers' import { NextRequest, NextResponse } from 'next/server' export async function GET(req: NextRequest) { - const supabase = createRouteHandlerClient({ cookies }) + const cookieStore = cookies() + const supabase = createRouteHandlerClient({ cookies: () => cookieStore }) const { searchParams } = new URL(req.url) const code = searchParams.get('code') @@ -354,7 +356,8 @@ import { cookies } from 'next/headers' import { NextResponse } from 'next/server' export async function POST(req) { - const supabase = createRouteHandlerClient({ cookies }) + const cookieStore = cookies() + const supabase = createRouteHandlerClient({ cookies: () => cookieStore }) // Check if we have a session const { @@ -380,7 +383,8 @@ import { cookies } from 'next/headers' import { type NextRequest, NextResponse } from 'next/server' export async function POST(req: NextRequest) { - const supabase = createRouteHandlerClient({ cookies }) + const cookieStore = cookies() + const supabase = createRouteHandlerClient({ cookies: () => cookieStore }) // Check if we have a session const { @@ -692,7 +696,8 @@ import { cookies } from 'next/headers' import AccountForm from './account-form' export default async function Account() { - const supabase = createServerComponentClient({ cookies }) + const cookeStore = cookies() + const supabase = createServerComponentClient({ cookies: () => cookieStore }) const { data: { session },