在带有OAuth的http:// localhost上使用时,Chrome默认SameSite设置上.NET Core中的关联失败错误

问题描述

要求是:

  1. 使用http:// localhost,然后重定向以完成OAuth流程并重定向回。
  2. 使用认设置的Chrome。我知道我可以更改一些标志来解决此问题。
  3. 使用.NET Core库进行身份验证代码授予。我也知道我可以为此编写自己的代码

您可以在this repo中看到我们所有的代码,这里是direct link to startup.cs

其中与Cookie相关的代码如下:

services.Configure<CookiePolicyOptions>(options =>
        {
            // This lambda determines whether user consent for non-essential cookies is needed for a given request.
            options.CheckConsentNeeded = context => true;
            options.MinimumSameSitePolicy = SameSiteMode.None;
        });

我试图删除上述代码或以其他方式对其进行更改-不能。 我还阅读了this article,并尝试使用其中提供的代码-不起作用。 我还尝试了this thread上提供的所有不同解决方案。再次,似乎没有任何工作。 是否可以选择在Chrome上仍然使用http和samesite cookie,并防止.NET Core出现此错误

解决方法

您能否捕获并发布授权码授予请求和响应详细信息?尚不清楚您的问题是否与SSL有关。

侧边:真实世界的开发者设置

使用OAuth技术时,我总是在开发人员PC上使用真实世界的URL:

这导致最少的技术/信任问题-我从不使用诸如http:// localhost:3000之类的URL。

这不太困难,这种方法可以解决您的问题-如果有帮助,这里提供了一些资源: