Chrome 76 comenzará a admitir un atributo explícito SameSite: None

https://web.dev/samesite-cookies-explained/

Descubrí que la implementación actual de ASP.NET Core trata SameSiteMode.None como un no-op y no envía ningún atributo. ¿Cómo puedo agregar un atributo personalizado a una cookie y, por lo tanto, agregar un SameSite: None explícito al texto de la cookie?

Agregar el atributo al valor de la cookie no funciona como HttpResponse.Cookies.Append url-codifica el valor de la cookie.

11
dmi_ 9 may. 2019 a las 23:08

5 respuestas

La mejor respuesta

Ahora está corregido en la última versión de todas las versiones de .NET Framework y .NET Core (https: // github .com / aspnet / AspNetCore / issues / 12125)

Tengo varios proyectos ejecutándose en .NET Core 2.2 y después de actualizar a 2.2.207, ya no tengo el problema.

Aquí hay un código de muestra presente en el método ConfigureServices del archivo Startup.cs

services.ConfigureApplicationCookie(options => {
     options.Cookie.SameSite = SameSiteMode.None;
);
7
Xavierh95 22 nov. 2019 a las 16:29

El mismo problema ocurre en ASP.NET que en ASP.NET Core.

Hasta que Microsoft produzca una solución, un truco que funciona para mí es reemplazar

myCookie.Path = "/";
myCookie.SameSite = SameSiteMode.None;     // has no effect

Con

myCookie.Path = "/; SameSite=None";

Esto agrega SameSite=None al encabezado set-cookie en la respuesta HTTP.

8
GStephens 12 nov. 2019 a las 14:09

[Editar] Si está utilizando todos los dlls y paquetes de nuget, debe asegurarse de que Microsoft.Net.Http.Headers esté en la versión 2.2.8 de arriba.

Después del último KB de microsoft en 10 de diciembre de 2019, debería repararse en .net framework y dotnetcore.

Ver:

  1. https://docs.microsoft.com/en-us/aspnet/samesite/system-web-samesite
  2. https://docs.microsoft.com/en-us/aspnet/samesite/kbs-samesite
3
Ygalbel 2 ene. 2020 a las 08:23

response.Headers.Append("set-Cookie", $"{cookieName}={cookieValue}; path=/; SameSite=None; Secure"); parece funcionar como se esperaba.

Probé esto habilitando same-site-by-default-cookies y cookies-without-same-site-must-be-secure en Chrome Dev 76

1
dmi_ 9 may. 2019 a las 20:41

Otras respuestas han mencionado la corrección de .Net Core, por lo que omito esa parte.

La solución .Net Framework se proporciona a través de un "Paquete acumulativo de calidad".

Aquí es el KB para .Net 4.8.

Aquí es el KB para .Net 4.7.2.

Aquí es la fuente relevante de MSDN.

0
tsemer 6 feb. 2020 a las 08:20