Next.js Discord

Discord Forum

feature wont work on deployment

Unanswered
Ant posted this in #help-forum
Open in Discord
AntOP
next js wont let me use logout button on vercel but works fine on my system. I have a little bit of an idea as to why but i just need some help on a call

7 Replies

AntOP
import { serialize } from 'cookie';

const config = {
    maxAge: 60 * 60 * 24 * 7, // 1 week
    path: "/",
    domain: process.env.HOST ?? "debtcircle.in",
    httpOnly: false,
    secure: true,
};

export default async function handler(req, res) {
    const { query, url } = req;
    const token = query.access_token;
    if (!token) {
        res.redirect('/');
        return;
    }

    const provider = query.provider;
    const backendUrl = process.env.NEXT_PUBLIC_BACKEND_URL ?? "https://debtcircle.beacontrusteeship.com";
    const path = `/api/auth/${provider}/callback`;

    const authUrl = new URL(backendUrl + path);
    authUrl.searchParams.append('access_token', token);

    const response = await fetch(authUrl.href);
    const data = await response.json();

    if (data.error) {
        if (data.error.message === 'Email is already taken.') {
            res.redirect('/verify?error=Login+with+password')
        }
        else {
            res.redirect(data.error.message)
        }
        return;
    }
    const cookies = [
        serialize('jwt', data.jwt, config),
        serialize('id', data.user.id, config),
        serialize('username', data.user.username, config),
        serialize('verified', data.user.confirmed, config),
    ];

    res.setHeader('Set-Cookie', cookies);




    res.redirect('/');
}


this is the login
export function removeCookies(res) {
    const removalConfig = {
        maxAge: -1, // Expire the cookie immediately
        path: "/",
        domain: process.env.HOST ?? "debtcircle.in",
        httpOnly: false,
        secure: true,
    };

    const cookies = [
        serialize('jwt', '', removalConfig),
        serialize('id', '', removalConfig),
        serialize('username', '', removalConfig),
        serialize('verified', '', removalConfig),
    ];

    res.setHeader('Set-Cookie', cookies);
}
this is the logout
this works fine on local but when i deploy the code to vercel it wont let me log out
@B33fb0n3 here
@Ant this works fine on local but when i deploy the code to vercel it wont let me log out
I have a little bit of an idea as to why
can you clarify
@Ant are you able to clarify?