После недавних изменений в Chrome 80, теперь требуется указать SameSite=None
для файлов cookie, которые необходимо отправлять на разные сайты.
Я обнаружил проблему с моим сайтом Asp.Net Core, когда он размещен во фрейме на другом сайте. Аутентификация WS-Federation в настоящее время не работает, поскольку атрибут SameSite=None
отсутствует в файле cookie .AspNetCore.Correlation:
Set-Cookie: .AspNetCore.Correlation.WsFederation.qG-dtdsIcVBHSRW4SpPpqpMYMrueIrLfWLvElKrbyXg=N; expires=Fri, 17 Jan 2020 09:17:08 GMT; path=/signin-wsfed; secure; httponly
Я нашел способ добавить SameSite=None
в файл cookie с помощью По промежуточного слоя для политики файлов cookie:
app.UseCookiePolicy(new CookiePolicyOptions()
{
MinimumSameSitePolicy = SameSiteMode.None
});
Это работает нормально, но это приводит к тому, что ВСЕ файлы cookie создаются с этим атрибутом, чего я бы хотел избежать. Есть ли менее навязчивое решение, которое можно было бы применить только к корреляционному cookie?