файл cookie не запрашивается устройством ios12

поэтому, поскольку я обновил свой телефон до ios12, я не могу войти на сайт, который я разрабатываю (.net core 2); Я вхожу через facebook, и когда facebook перенаправляет на мою конечную точку, файлы cookie не входят в запрос, поэтому, когда выполняется эта строка:

ExternalLoginInfo info = await _signInManager.GetExternalLoginInfoAsync();

он всегда нулевой, я проверил запрос, и файлов cookie нет, в то время как на других устройствах/компьютерах вход в систему работает отлично, только ios12 вызывает у меня эту проблему.

Я видел другой пост, в котором говорилось, что для файлов cookie установлено значение SameSite = None.

services.ConfigureApplicationCookie(options =>
        {
            options.Cookie.Path = "/";
            options.Cookie.SameSite = SameSiteMode.None;
            options.ExpireTimeSpan = TimeSpan.FromMinutes(30);
            options.SlidingExpiration = true;
            options.AccessDeniedPath = "/Welcome";
        });

но это не сработало, что еще я мог попробовать?


person Rene M.    schedule 24.09.2018    source источник


Ответы (2)


поэтому я исправляю это, это похожее решение, но если вы используете внешний вход в систему, вы должны настроить внешний файл cookie как SameSite = SameSiteMode.None

services.ConfigureExternalCookie(options =>
        {
            options.Cookie.SameSite = SameSiteMode.None;
        });
person Rene M.    schedule 25.09.2018

Расширение ответа Роба...

Добавление следующего в мой блок аутентификации OpenIdConnect решило проблему:

.Services.ConfigureExternalCookie(options => {
    options.Cookie = new Microsoft.AspNetCore.Http.CookieBuilder
    {
        SameSite = Microsoft.AspNetCore.Http.SameSiteMode.None
    };
});

Похоже, что исправление будет добавлено в 2.3 — Внешняя аутентификация не работает на iOS 12 #2595

person Johtull    schedule 26.09.2018