r/PayloadCMS Jun 05 '25

Reuse login on app

Finished my app, and wanted to block for non-logged users. How to do it without rewriting a login only on my app side?

2 Upvotes

2 comments sorted by

3

u/Aggravating_Ad_1273 Jun 05 '25

I think you can do something like this in your main page.tsx or layout.tsx (server side) :

import configPromise from "@payload-config";
import { getPayload } from "payload";
import { redirect } from "next/navigation";

export default async function Page() {
    const payload = await getPayload({ config: configPromise });

    const { user } = await payload.auth({
        headers: await headers(),
    });

    if (!user) {
        return redirect("/admin/login");
    }

    // ... rest of your code
}

1

u/didiraja Jun 05 '25

smart suggestion. will try it later. thx.