QQ浏览器兼容模式下Cookie失效 导致的NetCore Cookie认证失效
最近在写NetCore项目采用的是NetCore的Cookie认证。结果偶然发现QQ浏览器登录不好用。这里先需要了解一下set-cookie中的SameSite属性
导致原因
首先Fiddler 4查看一下两次请求

第一次Post进行登录 返回302重定向到站点首页并带回Cookie (一切正常)

但是看第二条http请求,返回又是302 ,查看相关信息,请求时Cookie 根本没带入

到此基本知道整个登录失败是因为Cookie没有带入请求头。
解决方案:
- NetCore Cookie认证下如何解决
 
经过一系列测试后发现是因为我们响应的Cookie里面有samesite属性 影响了QQ浏览器兼容Cookie带入(也许是个浏览器Bug吧)

好下面说如何解决此问题在NetCore认证中我们如何取消掉此属性,

- 自定义Cookie如何解决
 
其实不光我们的认证Cookie 其他Cookie也一样 只要我们在NetCore中指定了Cooke的CookieOptions,不设置SameSite的情况下默认为SameSiteMode.Lax 此时在QQ浏览器兼容模式 你的Cookie就不会带入请求
 context.Response.Cookies.Append("test-SameSite", "", new CookieOptions()
                {
                    SameSite=SameSiteMode.None
                });
QQ浏览器兼容模式下Cookie失效 导致的NetCore Cookie认证失效的更多相关文章
- QQ浏览器兼容模式问题
		
今天客户反馈有个问题,他说用360浏览器的兼容模式无法登陆系统,我试了可以,接着试了IE11,也可以,然后跟经理汇报,他说他用qq浏览器兼容模式就不可以,于是我试了,果然不可以... 问题是酱紫的:输 ...
 - 360浏览器兼容模式下jsp页面访问不到js文件
		
360浏览器兼容模式下jsp页面访问不到js文件 查看自己js中的语法问题,不要用ES6的语法,编译不了故找不到js文件 const var of 码出高效 java 比较 所有整型包装类对象之间值的 ...
 - 360浏览器兼容模式下IE内核版本
		
问题 最近在跟客户演示系统时,自己电脑IE 11下好好的,我们web系统最低支持到IE9.在客户电脑上,IE9浏览器下可以正常浏览,但是360兼容模式下,页面什么也不显示. 通过F12调试工具发现,3 ...
 - flex与相对定位在国内双核浏览器极速模式下的兼容性问题
		
在国内的浏览器中,360浏览器,QQ浏览器等绝大部分都是双核浏览器.双核浏览器即拥有IE兼容内核和非IE极速内核两个内核,分别对应兼容模式和极速模式.兼容模式时使用IE内核,极速模式采用webkit内 ...
 - Angularjs在360兼容模式下取数据缓存问题解决办法
		
测试提了一个bug,在360浏览器兼容模式下,删除页面数据需要手动刷新浏览器才能看到最新的数据.首先要复现当时的问题,很容易就复现了,但是发现在360浏览器兼容模式下无法打开开发者工具.好在经过反复重 ...
 - javascirpt的json.stringify()方法在IE浏览器兼容性模式下出错的原因与解决办法
		
今天开机混底薪的时候遇到一个JSON.stringify()在IE浏览器兼容模式下的问题. 问题描述 一个弹窗选择的功能原来好好的,突然就不行了. 想要调试调试不了,报错信息也看不到(一开F12这破I ...
 - QQ浏览器、搜狗浏览器等兼容模式下,Asp.NetCore下,Cookie、Session失效问题
		
原文:QQ浏览器.搜狗浏览器等兼容模式下,Asp.NetCore下,Cookie.Session失效问题 这些狗日的浏览器在兼容模式下,保存Cookie会失败,是因为SameSiteMode默认为La ...
 - [AJAX]ajax在兼容模式下失效解决办法
		
使用jQuery,用ajax实现局部刷新功能,在火狐,360急速浏览器高速模式下,ie8,9都能正常运行,但切换到兼容模式下无效,解决办法有两种关闭浏览器兼容性视图,二是引入json2.js文件 这里 ...
 - 转:IE兼容模式下 SCRIPT1028: 缺少标识符、字符串或数字
		
IE兼容模式下 SCRIPT1028: 缺少标识符.字符串或数字例如下面一段代码 var a = { x: 1, y: 2,};alert(a.x);如果在IE的兼容性视图(IE7文档模式 ...
 
随机推荐
- Python基础补充(二) 多核CPU上python多线程并行的一个假象【转】
			
在python上开启多个线程,由于GIL的存在,每个单独线程都会在竞争到GIL后才运行,这样就干预OS内部的进程(线程)调度,结果在多核CPU上: python的多线程实际是串行执行的,并不会同一时间 ...
 - f.lux Ubuntu 下进行安装
			
这几天在搞Ubuntu 看的是我眼睛特痛,于是查了一下,有Linux 版的f.lux 于是我就行了一番的安装. 步骤 命令行 1. sudo add-apt-r ...
 - kittle 使用心得
			
1,字体编码格式: 解析excel表格时,出现乱码,两处修改:1, 2,
 - k8s podpreset 参数注入
			
启动apiserver时,增加 参数 --runtime-config=settings.k8s.io/v1alpha1=true kind: PodPresetapiVersion: setting ...
 - boxing & unboxing
			
[boxing & unboxing] Boxing is the process of converting a value type to the type object or to an ...
 - UICamera
			
[UICamera] UICamera是一个命名不太好的组件.实际上,它的名字某种原因只是为了保持向后兼容.UICamera脚本实际做的事是发送NGUI事件给所有被它所附加的摄像机所看见的对象.除此之 ...
 - Invoke and BeginInvoke(转载:http://www.cnblogs.com/worldreason/archive/2008/06/09/1216127.html)
			
一.为什么Control类提供了Invoke和BeginInvoke机制? 关于这个问题的最主要的原因已经是dotnet程序员众所周知的,我在此费点笔墨再次记录到自己的日志,以便日后提醒一下自己. 1 ...
 - NPC问题及其解决方法(回溯法、动态规划、贪心法、深度优先遍历)
			
NP问题(Non-deterministic Polynomial ):多项式复杂程度的非确定性问题,这些问题无法根据公式直接地计算出来.比如,找大质数的问题(有没有一个公式,你一套公式,就可以一步步 ...
 - spring aop博客记录
			
1.spring aop和事务失效 解决办法: http://blog.csdn.net/z2007130205/article/details/41284381 http://blog.csdn.n ...
 - 冲刺NOIP2015提高组复赛模拟试题(五) 3.破坏基地
			
3.破坏基地 描述 Description 在Z国和W国之间一直战火不断. 好不容易,W国的间谍把完整的Z国的军事基地的地图到手了. 于是W国决定再次出击,一举击破Z国的防线. W国认真研究了Z国的地 ...