Construí un sitio web con Nuxt y Strapi. Agregué un sistema de carrito usando ctx.session. Funciona bien en local, pero cuando está en producción, la sesión no se puede recuperar cuando se usa Chrome o Safari. Pero es perfecto con Firefox.
Inicié sesión para ver qué sucede y parece que las sesiones nunca se almacenan. Una vez realizada una acción, no queda nada.
Aquí está mi middleware.js:
const isProd = process.env.NODE_ENV === 'production' module.exports = { //... settings: { cors: { enabled: true, // headers: '*', credentials: true, origin: isProd ? ['https://xxxxxx.com', 'https://yyyyy.xxxxxx.com'] : ['http://localhost:3000', 'http://localhost:1337'] }, logger: { level: 'trace' } }, }y mi servidor.js:
module.exports = ({ env }) => ({ host: env('HOST', '0.0.0.0'), port: env.int('PORT', 1337), admin: { auth: { secret: env('ADMIN_JWT_SECRET', 'XXXXXXXXXXXX'), }, }, cron: { enabled: true } });En la parte frontal, aquí está mi configuración de Axios:
const apiClient = axios.create({ baseURL: `${process.env.baseUrl}/`, withCredentials: true, headers: { Accept: 'application/json', 'Content-Type': 'application/json', }, timeout: 10000, })Gracias
¡Finalmente encontré la solución!
Me faltaba la activación de la sesión en el archivo de configuración middleware.js.
module.exports = { //... settings: { ...otherSettings, session: { enabled: true } }, }