最近在发布了基于 ASP.NET Core 实现的新版登录页面之后,陆陆续续地接到用户反馈登录时 Antiforgery Token 总是验证失败。

日志中记录的对应错误是

今天在 QQ 浏览器中将内核模式设置为“总是使用 IE 内核”重现了问题,通过浏览器的开发者工具查看 cookie 情况,打开登录页时 antiforgery cookie 已发送给了浏览器,浏览器也正常接收到了 cookie ,但 ajax post 提交时,却没有带上 antiforgey cookie ,很是奇怪,我们并没有对 antiforgery cookie 进行特殊设置。

services.AddAntiforgery(options =>{    options.Cookie.Name = ".xxx.Antiforgery";});

后来在园子里找到一篇博文 QQ 浏览器兼容模式下 Cookie 失效导致的 ASP.NET Core Cookie 认证失效 ,才知道是 Cookie.SameSite 惹的祸。

查看 antiforgery cookie 的 samesite 值是 strict,原来 asp.net core 默认用的是 SameSiteMode.Strict ,改为 SameSiteMode.None 问题就解决了。

services.AddAntiforgery(options =>{    options.Cookie.Name = ".XXX.Antiforgery";    options.Cookie.SameSite = SameSiteMode.None;});

原文地址:https://www.cnblogs.com/dudu/p/10959557.html

.NET社区新闻,深度好文,欢迎访问公众号文章汇总 http://www.csharpkit.com 

ASP.NET Core SameSite 设置引起 Cookie 在 QQ 浏览器中不起作用相关推荐

  1. Asp.net Core 配合 PDFObject 和 pdf.js 在浏览器显示pdf文件

    Asp.net Core 配合 PDFObject 和 pdf.js 在浏览器直接显示pdf文件 测试环境的浏览器版本: Chrome :90.0.4430.93(64 位) FireFox :88. ...

  2. 【新书推荐】《ASP.NET Core微服务实战:在云环境中开发、测试和部署跨平台服务》 带你走近微服务开发...

    <ASP.NET Core 微服务实战>译者序:https://blog.jijiechen.com/post/aspnetcore-microservices-preface-by-tr ...

  3. 禁用Cookie在web浏览器中读取/写入c#应用程序

    我希望网站无法读取cookie或在webbrowser c#控制应用程序中写入新的cookie.当webbrowser c#应用程序运行时,我宁愿禁用所有网站的所有读/写cookie操作,如果不是,那 ...

  4. win10中Charles从下载安装到证书设置和雷电模拟器或浏览器中抓包测试

    一.下载安装及证书设置 1.在Charles官网https://www.charlesproxy.com/download/下载,我这边下载的是免费体验版的. 体验版用一段时间就会退出,这里另外提供给 ...

  5. Sublime 设置快捷键让html在浏览器中打开

    sublime 的版本可以通过 Help -> Changelog- 来查看. 我这里的版本是sublime3.首先要安装 "View In Browser" 插件.Pref ...

  6. html设置阻止网页在google浏览器中打开时弹出自动翻译框

    想要阻止网页打开时弹出上面的翻译窗口,有两种设置方式: 1.(建议)在html文件的head标签中添加meta标签: <meta name="google" content= ...

  7. ASP.NET Core学习资源汇总

    ASP.NET Core入门学习资源汇总篇幅比較長,分为七个部分. (一)认识.NET Core (二)Vistual Studio安装.调试 (三)Asp.Net Core入门指南与学习路线 (四) ...

  8. asp.net core中使用cookie身份验证

    背景 ASP.NET Core Identity 是一个完整的全功能身份验证提供程序,用于创建和维护登录名. 但是, cookie 不能使用基于的身份验证提供程序 ASP.NET Core Ident ...

  9. 如何使用Google Authenticator在ASP.NET Core中设置两因素身份验证

    介绍 (Introduction) In this article, we are going to learn how to perform two-factor authentication in ...

最新文章

  1. 利用OpenCV+ConvNets检测几何图形
  2. Java拾遗:001 - 重写 equals 和 hashCode 方法
  3. JVM的生命周期||JVM的发展历程
  4. jquery改变css,改变style
  5. PHP错误处理函数set_error_handler()的用法
  6. C语言 删除文件 M,最全的C盘可删除文件清单
  7. python语音分割_用7行Python代码构建自己的有声读物
  8. 常见位操作及运算应用举例:1,C语言中位运算符异或“∧”的作用​​​​​​​2,异或运算的作用3,(与运算)、|(或运算)、^(异或运算)
  9. Windows 计划任务
  10. STM32程序中使用printf打印中文字符乱码
  11. 关于pdf阅读器的选择
  12. RDPWrap,win10家庭版最新配置文件支持termsrv10.0.18362.836
  13. 台式计算机怎么查看网卡号,怎么查看台式机电脑有没有无线网卡?
  14. matlab用ode23解决参数方程,matlab变参量微分方程处理
  15. 计算机专业:考研 VS 工作
  16. soul源码阅读 启动soul应用
  17. Latex中自定义日期 (显示与否、带数学符号、中英文任意)
  18. “难产”10个月的腾讯智能音箱终于面世,9420唤醒词你喜欢吗?
  19. java电商项目_Java电商项目总结(二)
  20. win10 激活方式

热门文章

  1. 如何从USB运行Windows 8 Developer Preview
  2. Jmeter JDBC请求-----数据库读取数据进行参数化 通过SSH跳板机连接数据库
  3. C++--day05
  4. 复习Javascript专题(一):基本概念部分
  5. 19.12 添加自定义监控项目 配置邮件告警 测试告警
  6. linux--web服务器
  7. js null加法的处理
  8. (转)64bit上安装32位oracle 10 g出现错误:无法定位承诺工序输入点 getprocessimagifilenamew 于动态链接库PSAPI.DLL...
  9. struts2对action的指定方法进行校验
  10. Repeater分页