【发布时间】:2020-06-21 23:13:27
【问题描述】:
我有一个单页 Web 应用程序,包含以下内容
- Angular 8 前端
- .Net Core Web Api 后端
- .Net Core Identity Server 认证服务器
我最近开始在我的控制台中看到一些警告,上面写着 - “与“”处的跨站点资源关联的 cookie 被设置为没有 'SameSite' 属性。Chrome 的未来版本将仅提供带有跨站点资源的 cookie - 使用“SameSite=None”和“Secure”设置的站点请求。
因此,在此基础上,a 做了一些研究,并找到了下一篇文章,该文章恰好详细解释了正在发生的一切。 Explanation of Cookie Issue
我把这篇文章读了好几遍,认为我已经掌握了它,但我仍然在它的一个简单方面苦苦挣扎。有几个区域他们要求您将一些代码添加到您的“项目”中。我的问题是(仍然是身份服务器及其内部工作的新手),他们所指的“项目”是什么。我不确定将他们提供的代码放在哪里来解决问题。
- 对我来说,将提供的代码放在何处并不那么明显。我有 2 个 Visual Studio 解决方案 - 一个代表我的身份验证服务器(身份服务器),一个代表我的 Web Api。我应该在这些解决方案的 Startup.cs 文件中添加哪些代码解决方案?
- 如果我将它添加到我的身份服务器项目中,我的困惑是我没有使用任何“基于 Cookie 的身份验证”,因此在我的身份服务器项目中不存在我有一个设置 cookie 的地方并且我知道其中的一部分文章中提到的解决方案是添加一个既“安全”又设置为“Same-Site=None”的 cookie。我应该在项目的哪个位置创建这种类型的 cookie?
- 我注意到的另一件事是,一旦设置了 cookie,它们在执行注销时不会被删除。
请注意,这些问题只会出现在运行 Google Chrome 的 MacOS 上。如果我在 Windows PC 上运行我的应用程序,我仍然会看到警告,但我可以注销并清除所有现有 cookie
【问题讨论】:
-
我同意你的观点,Angular、Web Api 解决方案的文档对于第 3 方身份验证提供商的新手来说很糟糕。我还不能让 Angular 9 和 Asp.net 核心工作。
标签: asp.net-core-webapi identityserver4 asp.net-core-2.1