ios12设备未请求Cookie

时间:2018-09-24 23:32:36

标签: asp.net .net facebook asp.net-core ios12

因此,由于我将手机升级到了ios12,因此无法登录到我正在开发的网站(.net核心2);我通过Facebook登录,并且当Facebook重定向到我的端点时,cookie不在请求中,因此当此行运行时:

ExternalLoginInfo info = await _signInManager.GetExternalLoginInfoAsync();

它始终为null,我检查了请求,没有cookie,而在其他设备/个人计算机上,登录正常,它的唯一ios12就是给我这个问题atm

我看到另一条帖子说将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";
        });

但是这不起作用,还有什么我可以尝试的吗?

2 个答案:

答案 0 :(得分:1)

所以我修复了它,这是一个类似的解决方案,但是如果您使用外部登录,则必须将外部cookie配置为SameSite = SameSiteMode.None

services.ConfigureExternalCookie(options =>
        {
            options.Cookie.SameSite = SameSiteMode.None;
        });

答案 1 :(得分:0)

扩大Rob的答案...

在我的OpenIdConnect身份验证块中添加以下内容可解决此问题:

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

该修补程序似乎已添加到2.3-External authentication failing on iOS 12 #2595