google-chrome - 无法使用 Owin 在 Google Chrome(最新版本)浏览器 MVC5 中通过第三方登录提供商 (Google) 登录
问题描述
在google chrome 最新版本 85中,我无法使用第三方提供商(如(Google))的登录服务,但可以在 Firefox 和其他浏览器上完美运行。
测试用例
在使用 Google Outh2.0 授予权限后,它会重定向到 singin-google,并包含所有详细信息,例如状态范围等。但是后来它尝试了.AspNet.ExternalCookies
一些东西,但是在 Google chrome 中它没有被创建,并且它无法登录并使用 Error= Access_Denied
生成回调
但是另一方面,对于不同的浏览器,如 Mozilla,相同的代码可以工作并且用户能够登录。
进一步我寻找发布chrome 的注释,是的,他们贬低了与 cookie 相关的功能,但无法在应用程序中处理。
如果有人面临同样的问题或有任何想法如何处理这个请回复。
我正在使用最新版本的 Owin,包括 Microsoft.Owin.Security 和 Google
解决方案
默认情况下,谷歌浏览器使用 Lax 选项实现同站点 cookie。但其他浏览器尚未实现。
我在微软网站上得到了解决方案,我们为 chrome 浏览器明确设置了 cookies samesite=none 并为其他浏览器传递了空。
对于带有 Microsoft.Owin 4.1.0 代理嗅探的 ASP.NET 4.7.2,可以使用 ICookieManager 实现
完整代码,您可以在此处找到
推荐阅读
- java - 显式上铸和隐式上铸
- postgresql - 有人可以帮我把它翻译成postgresql吗?
- java - 在 elasticsearch 添加 Solr synonym.txt
- python - 有没有办法在字符串中导入 Python 模块?
- eclipse - 在最新的 Eclipse 中禁用引号和括号的自动完成?
- c# - 如何将数据从第一种形式传输到第二种形式?
- python - 为什么下面使用方法 append()?
- python - 如何修复将列表转换为字符串的递归函数
- composite-key - 如何在两列上添加主键约束以在 oracle 中创建复合键?
- awk - awk 命令不适用于 kubectl exec