Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

392
Vistas
¿Cómo configurar las cookies de sesión con el prefijo `__Host-` en Electron?

Estoy tratando de ejecutar Electron en modo sin cabeza para obtener contenido en un servidor remoto que requiere cookies con el prefijo __Host- . Sin embargo, el antiguo código solía ejecutar

 var cookie = { url: cookieurl, name: cookiename, value: cookievalue }; win.webContents.session.cookies.set(cookie) .then(function(result) { loadUrl(win, indexUrl, output); }) .catch(function(e) { throw Error("Failed to load cookie, e="+e); });

y esto parece funcionar bien siempre que el nombre de la cookiename no comience con __Host- . Cuando intento configurar una cookie con el prefijo __Host- , obtengo la siguiente excepción:

 Error: Failed to parse cookie

Sin embargo, esta limitación no está documentada en https://www.electronjs.org/docs/latest/api/cookies

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Este detalle no está documentado en la documentación oficial en https://www.electronjs.org/docs/latest/api/cookies pero es el resultado lógico de otras reglas. Específicamente, el encabezado HTTP Set-Cookie se define para seguir estas reglas:

<cookie-name>=<cookie-value>
...
Nota: Algunos <cookie-name> tienen una semántica específica:

__Host- prefijo:
Las cookies con nombres que comienzan con __Host- deben configurarse con el indicador secure , deben provenir de una página segura (HTTPS), no deben tener un domain especificado (y, por lo tanto, no se envían a subdominios) y la ruta debe ser / .
...
Atributos
...
Secure Opcional
Indica que la cookie se envía al servidor solo cuando se realiza una solicitud con el esquema https: (excepto en localhost ), y por lo tanto, es más resistente a los ataques man-in-the-middle.

Nota: No asuma que Secure evita todo acceso a información confidencial en las cookies (claves de sesión, detalles de inicio de sesión, etc.). Las cookies con este atributo todavía se pueden leer/modificar con acceso al disco duro del cliente o desde JavaScript si el atributo de cookie HttpOnly no está configurado.

Los sitios inseguros (http:) no pueden establecer cookies con el atributo Secure (desde Chrome 52 y Firefox 52). Para Firefox, los requisitos de https: se ignoran cuando localhost establece el atributo Seguro (desde Firefox 75).

Específicamente, no puede establecer una cookie con un nombre que comience con el prefijo __Host- sin especificar también secure . Como resultado, falla la configuración de la cookie como se describe en la pregunta. Desafortunadamente, la excepción es simplemente Error: Failed to parse cookie en lugar de Error: cannot set cookie with "__Host-" prefix without also setting "secure" attribute .

Lo siguiente debería funcionar como se esperaba:

 var cookie = { url: cookieurl, name: cookiename, value: cookievalue, secure: true, // httpOnly: true, // sameSite: "lax", }; win.webContents.session.cookies.set(cookie) .then(function(result) { loadUrl(win, indexUrl, output); }) .catch(function(e) { throw Error("Failed to load cookie, e="+e); });

El ejemplo anterior también tiene los atributos httpOnly y sameSite en los comentarios para recordar que probablemente también desee considerar estos atributos.

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda