
I followed these docs https://appwrite.io/docs/tutorials/nextjs-ssr-auth/step-7 However, when having successfully logged in via google, I get immediately redirected to the signin. But, I should getting forwared to the profile page.
// // src/app/oauth/route.ts
import { config } from "@/lib/config";
import { createAdminClient } from "@/lib/server/appwrite";
import { cookies } from "next/headers";
import { NextRequest, NextResponse } from "next/server";
export async function GET(request: NextRequest) {
const userId = request.nextUrl.searchParams.get("userId");
const secret = request.nextUrl.searchParams.get("secret");
if (!userId || !secret) {
return new NextResponse("OAuth2 did not provide token", { status: 400 });
}
const { account } = await createAdminClient();
const session = await account.createSession({ userId, secret });
if (!session || !session.secret) {
return new NextResponse("Failed to create session from token", {
status: 400,
});
}
(await cookies()).set(config.appwrite.sessionName, session.secret, {
path: "/",
httpOnly: true,
sameSite: "strict",
expires: new Date(session.expire),
secure: true,
});
return NextResponse.redirect(`${request.nextUrl.origin}/profile`);
}
// src/app/(protected)/profile/layout.tsx
import Header from "@/components/Header";
import { getLoggedInUser } from "@/lib/server/appwrite";
import { redirect } from "next/navigation";
export default async function ProtectedLayout({
children,
}: {
children: React.ReactNode;
}) {
const user = await getLoggedInUser();
if (!user) {
redirect("/signin"); // --> THIS seems to kick in bevor the cookie has been set
}
return (
<div className="min-h-screen flex flex-col gap-y-8">
<Header />
<main className="container mx-auto max-w-[1400px]">{children}</main>
</div>
);
}
Not sure what I am doing wrong here
Recommended threads
- GitHub OAuth Provider Session Missing `p...
I’ve implemented a GitHub OAuth provider in Appwrite. Below is the code I used: ``` const handleGithubLogin = async () => { const { account } = await createCl...
- Having permission issues with imported s...
Hello, I have my self hosted project on a server, and i wanted to import the schema to my local machine dev instance so I used the json file from the server ...
- Auth missing scope account
[500] GET /dashboard ReferenceError: user is not defined at _page (src/routes/dashboard/+page.svelte:24:2) at eval (.svelte-kit/generated/root.svelte:71...
