Estoy usando apis del lado del servidor nextjs para enviar llamadas api externas. Uso de Axios como httpClient. No importa lo que haga, no puedo encontrar una forma exitosa de eliminar todas las cookies de mis llamadas API que no necesitan cookies. Deben eliminarse porque ahora las cookies en los navegadores de los usuarios se están hinchando y causando problemas en las llamadas.
Esto es lo que estoy haciendo:
export const queryData = (caller: string, enabled = true) => { return useQuery( ['queryData ', caller], async () => { const { data } = await httpClient.get('/api/proxy/getData'{ headers: { 'Cookie': "cookiename=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;" } }); return data; }, { ...useQueryOptions, enabled } ); }; luego, en next.config.js , estoy enviando llamadas a /api/proxy/* a la puerta de enlace api externa apropiada, como en
module.exports = (phase) => { return { async rewrites() { return [ { source: `/api/proxy/:path*`, destination: `${externalApiGatewayUrl}/:path*` } ]; },Todas las llamadas fluyen correctamente y tienen los parámetros de consulta y encabezados adecuados, pero desafortunadamente, no puedo entender cómo eliminar las cookies de la llamada.
Probé la 'Cookie': "cookiename=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;" y no funciona para eliminar las cookies. Me sale el siguiente error en la consola:
Refused to set unsafe header "Cookie"¿Alguien tiene un ejemplo real de cómo eliminar correctamente las cookies de las llamadas API del lado del servidor Nextjs a las API externas?
Solo necesito (o quiero) hacer esto en estas llamadas del lado del servidor a API externas. Los ejemplos de NextJS serían útiles. JavaScript general no es útil si no está dentro del contexto de NextJS.
Simplemente establezca el parámetro expires en una fecha pasada: document.cookie = "username=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;";