Compartir vía


Control de los cambios de cookies de SameSite en el explorador Chrome

¿Qué es SameSite?

SameSite es una propiedad que se puede establecer en las cookies HTTP para evitar los ataques de falsificación de solicitud entre sitios (CSRF) en las aplicaciones web:

  • Cuando SameSite se establece en Lax, la cookie se envía en las solicitudes del mismo sitio y en las solicitudes GET de otros sitios. No se envía en las solicitudes GET entre dominios.
  • Un valor Strict garantiza que la cookie se envíe solo en las solicitudes dentro del mismo sitio.

De forma predeterminada, el valor de la propiedad SameSite no está establecido en los exploradores. Por ese motivo, no hay restricciones al enviar cookies en las solicitudes. Una aplicación deberá habilitar la protección CSRF al establecer el valor en Lax o Strict según sus requisitos.

Cambios de SameSite y su efecto en la autenticación

Actualizaciones recientes de los estándares de SameSite proponen proteger las aplicaciones al configurar SameSite como Lax de forma predeterminada cuando no se haya establecido ningún valor. Esta mitigación significa que las cookies se restringirán en las solicitudes HTTP (a excepción de las solicitudes GET) que se realicen desde otros sitios. Además, se introduce un valor None para quitar las restricciones de las cookies que se envían. Estas actualizaciones se publicarán pronto en una versión próxima del explorador Chrome.

Cuando las aplicaciones web se autentican con la plataforma de identidad de Microsoft mediante el modo de respuesta "form_post", el servidor de inicio de sesión responde a estas con una solicitud HTTP POST para enviar los tokens o el código de autenticación. Dado que esta es una solicitud entre dominios (de login.microsoftonline.com a su dominio; por ejemplo, https://contoso.com/auth), las cookies que se establecieron en la aplicación ahora se rigen por las nuevas reglas de Chrome. Las cookies que deben usarse en escenarios entre sitios contienen los valores state y nonce, que también se envían en la solicitud de inicio de sesión. Microsoft Entra ID genera otras cookies para almacenar la sesión.

Si no actualiza las aplicaciones web, este nuevo comportamiento generará errores de autenticación.

Mitigación y ejemplos

Para solucionar los errores de autenticación, las aplicaciones web que se autentican con la plataforma de identidad de Microsoft pueden establecer la propiedad SameSite en None para las cookies que se usan en escenarios entre dominios cuando dichas aplicaciones se ejecuten en el explorador Chrome. Otros exploradores (consulte este vínculo para obtener una lista completa) siguen el comportamiento anterior de SameSite y no incluirán las cookies si SameSite=None. Por eso, para admitir la autenticación en varios exploradores, las aplicaciones web deben establecer el valor SameSite en None solo en Chrome y dejarlo vacío en otros exploradores.

Este enfoque se muestra en el siguiente código de ejemplo.

La siguiente tabla presenta las solicitudes de incorporación de cambios que funcionaron en torno a los cambios de SameSite en nuestros ejemplos de ASP.NET y ASP.NET Core.

Muestra Solicitud de incorporación de cambios
Tutorial incremental de la aplicación web de ASP.NET Core Revisión de las cookies de SameSite n.º 261
Ejemplo de una aplicación web MVC para ASP.NET Revisión de las cookies de SameSite n.º 35
active-directory-dotnet-admin-restricted-scopes-v2 Revisión de las cookies de SameSite n.º 28

Para obtener más información sobre cómo administrar las cookies de SameSite en ASP.NET y ASP.NET Core, consulte también:

Pasos siguientes

Obtenga más información sobre SameSite y el escenario de una aplicación web: