Multiple "Set-Cookie" fields in NextJS-getServerSideProps?

Viewed 6964

In getServerSideProps I need to set multiple cookies on client device. I coded: enter image description here

3 Answers

Since the res.setHeader function in the NextJS context variable is just a NodeJS http module Response object, you can set multiple values for a header like so:

res.setHeader('set-cookie', ['val1', 'val2'];

This behavior is documented here in the NodeJS docs:

Use an array of strings here to send multiple headers with the same name.

Do like This:
res.setHeader('Set-Cookie', [
    cookie.serialize(
        'access', user.tokens.access, {
            httpOnly: true,
            secure: process.env.NODE_ENV !== 'development',
            maxAge: 60 * 30,
            sameSite: 'strict',
            path: '/api/'
        }
    ),
    cookie.serialize(
        'refresh', user.tokens.refresh, {
            httpOnly: true,
            secure: process.env.NODE_ENV !== 'development',
            maxAge: 60 * 60 * 24,
            sameSite: 'strict',
            path: '/api/'
        }
    )
]);
Related