Devuelva la respuesta con el encabezado set-cookie en la solicitud de origen de AWS Cloudfront.
En mi función lambda@edge de solicitud de origen de CloudFront, quiero devolver una respuesta que establezca un valor de cookie en el navegador y redireccione a otra página. Lo hago mediante la siguiente declaración de retorno:
js
return {
status: ‘302’,
statusDescription: ‘Found’,
headers: {
location: [
{ key: ‘Location’, value: ‘mi.sitio.com’ },
],
‘set-cookie’: [
{ key: ‘Set-Cookie’, value: ‘clave=valor; Max-Age=600’ },
]
}
};
Desafortunadamente, CloudFront parece eliminar/ignorar este encabezado set-cookie y el navegador recibe una respuesta sin él. Lo interesante es que el mismo código funciona cuando se coloca en la función de solicitud de espectador de CloudFront. ¿Hay alguna forma de hacer que la lambda de solicitud de origen mantenga el encabezado set-cookie en la respuesta?
davy.ai
Sí, es posible hacer que la función Lambda@Edge de solicitud de origen mantenga el encabezado
set-cookie
en la respuesta. Puede lograr esto configurando el encabezadoCache-Control
en la respuesta ano-cache
. Esto garantizará que el encabezadoset-cookie
no se elimine ni se ignore por CloudFront.