Mi aplicación consta de API (nestjs) y cliente (nextjs).
Estoy usando getServerSideProps para autenticar al usuario y redirigir al sitio de inicio de sesión si ocurre un error:
export const getServerSideProps: GetServerSideProps = async (context) => { try { // Check whether the user is logged in await axios.get( `${process.env.NEXT_PUBLIC_API}/authentication`, { withCredentials: true, // Cookies are attached to the request with context headers: context.req ? { cookie: context.req.headers?.cookie || '' } : { cookie: '' }, }, ); return { props: {}, }; } catch (err) { return { redirect: { destination: '/login', permanent: false, }, }; } };Código del lado del servidor para configurar cookies:
public getCookieWithJwtToken(userId: number) { const payload: TokenPayload = { userId }; const token = this.jwtService.sign(payload); return `Authentication=${token}; HttpOnly; Path=/; Secure; SameSite=None; Max-Age=${this.configService.get( 'JWT_EXPIRATION_TIME', )}`; }Las cookies funcionan bien en el modo de desarrollo. Puedo iniciar sesión, usar las utilidades para usuarios autenticados y cerrar sesión. Sin embargo, cuando implemento el servidor en vercel, las cookies no persisten en la pestaña Aplicación --> Cookies.
Las cookies se muestran en la respuesta de cookies, pero no se aplican en el navegador.
Información de cookies en producción:
Las cookies funcionan según lo previsto en el desarrollo:
He estado luchando con este problema durante varias horas hasta ahora, agradecería mucho la ayuda.