今天在弄 identityServer4 项目的时候,发现好好的登录竟然没用了。

各种跟踪后发现是 HttpContext.SignInAsync 这个方法不写cookies了

原本经过这个方法后,会写入 idsrv和idsrv.session 两个cookies的。

搜索资料后发现简书上有人和我一样的问题

链接如下 https://www.jianshu.com/p/30089845b172

然后我也跟着一样清理了浏览器缓存等数据,也好了。所以这是为什么?

先记录一下解决问题,回头看下.net core 源码看看它是怎么工作的。

我记得出现这个问题的原因是:

我将id4中的  app.UseHttpsRedirection(); 这行代码给注释掉了,首先我没注释前,用它登录过,成功能写cookies

后来我因为开发环境懒得搞证书什么的,就先注释了这句,结果再去登录就写不上cookies了。

先记录问题。我的.net core 版本是 3.1,如果有人知道麻烦评论区告知一下。谢谢

===============================

20201030

因为某些原因,这个项目很久没搞,然后过了2 个月后,跑回来继续弄这个项目,又发现问题,又是控制台报

Showing login: User is not authenticated

我以为又是和上次一样的问题,又想着先清理缓存试试,结果发现怎么清理缓存都没用。

然后又开始搜资料,发现了一个人提问和我很像,链接如下,英文的:https://www.e-learn.cn/topic/3672478

我英文也是弱鸡,大概意思是说:

如果用http协议+chrome浏览器(我用的edge最新版,edge也是chromeium核心的吧),如果是http协议+chrome浏览器,会拒绝 SameSite=none 的cookie。

所以,造成了id4无法写入cookie,然后导致一直报这个错误(id4写的cookieSameSite属性=none)

怎么解决,一般推荐用https(我是直接在vs里面启用https来测试的,一起用https就可以登陆了,然后马上了更新了一下这篇文章,我记性差,怕下次遇到又忘记)

也可以修改cookie策略

app.UseCookiePolicy(new CookiePolicyOptions { MinimumSameSitePolicy = SameSiteMode.Lax }); 加入这句代码修改cookie策略(我不知道这么做是否会影响id4功能,我随意测试了一下没有影响,没仔细测。)

推荐还是启用https吧,开发时候我就修改这个策略,上线我还是用https来吧。

记录一下过程,提醒自己。

说起来你们可能不信,我都忘记我写了这篇文章,刚刚登录不上去我又是搜索 HttpContext.SignInAsync 失效,然后找到自己的文章的。。。。。

=====20201031

今天访问天猫的站点,发现这个公告,他们教用户设置浏览器。

HttpContext.SignInAsync 失效(表面解决了问题,未深入到.net core 源码去找问题,记录一下,等有时间翻一下.net core 源码试试能不能找到根本原因)的更多相关文章

  1. [转]iOS Safari 中click点击事件失效的解决办法

    iOS Safari 中click点击事件失效的解决办法 问题起因: 在微信公众号开发(微站)过程中用jquery的live方法绑定的click事件点击无效(不能执行) 问题描述 当使用委托给一个元素 ...

  2. margin-top失效的解决方法

    异常处理汇总-前端系列 http://www.cnblogs.com/dunitian/p/4523015.html 我的是属于这种情况 按照网上的说法,我就是这个现象了 两个层box1和box2,b ...

  3. iOS Safari 中click点击事件失效的解决办法

    问题起因: 在微信公众号开发(微站)过程中用jquery的live方法绑定的click事件点击无效(不能执行) 问题描述 当使用委托给一个元素添加click事件时,如果事件是委托到 document  ...

  4. zsh下 home end 键失效的解决办法

    我的环境是 centos 6.5 x64 安装 oh my zsh 后,home end 键失效,解决办法为在 .zshrc 里添加设置如下 #Rebind HOME and END to do th ...

  5. 解决redhat的未注册问题

    昨天安装第五步的时候:开始是没有网,,,居然ping不通  网  ,服务器也ping不通,,,,,可能和我前几天删除了网络适配器有关,,把linux桥接对应的适配器给删了,,, 解决办法是打开虚拟网络 ...

  6. Easyui中使用jquery或js动态添加元素时出现的样式失效的解决方法

    Easyui中使用jquery或js动态添加元素时出现的样式失效的解决方法 2014-03-27 11:44:46|  分类: Easy UI|举报|字号 订阅     可以使用$.parser.pa ...

  7. IE7的overflow失效的解决方法

    IE7的position:relative bug今天遇到了一个相对定位(position:relaitve)引起的IE7中overflow:hidden失效的bug,特此记录!解决方法很简单,给父层 ...

  8. ode.js 版本控制 nvm 和 n 使用 及 nvm 重启终端失效的解决方法

    今天的话题包括2个部分 node.js 下使用 nvm 或者 n 来进行版本控制 nvm 安装node.js 版本后,重启终端 node , npm 环境变量失效 第一部分 用什么来管理 node.j ...

  9. IE6/IE7下margin-bottom失效兼容解决办法及双倍边距问题

    (从已经死了一次又一次终于挂掉的百度空间人工抢救出来的,发表日期 2014-04-08) 一.IE6/IE7下margin-bottom失效兼容解决办法 1.用padding-bottom代替:2.在 ...

  10. 浏览器禁用Cookie,基于Cookie的会话跟踪机制失效的解决的方法

    当浏览器禁用Cookies时.基于Cookie的会话跟踪机制就会失效.解决的方法是利用URL重写机制跟踪用户会话. 在使用URL重写机制的时候须要注意.为了保证会话跟踪的正确性,全部的链接和重定向语句 ...

随机推荐

  1. yb课堂 核心数据库表字段设计和测试数据准备 《一》

    设计对应的表字段(统一使用Innodb引擎,mysql5.7) video_banner video chapter episode video_order user 数据库脚本 CREATE TAB ...

  2. 动手学Avalonia:基于硅基流动构建一个文生图应用(一)

    文生图 文生图,全称"文字生成图像"(Text-to-Image),是一种AI技术,能够根据给定的文本描述生成相应的图像.这种技术利用深度学习模型,如生成对抗网络(GANs)或变换 ...

  3. VirtualBox中Ubuntu 22.04 Server支持kvm

    kvm简介 KVM 是 Kernel-based Virtual Machine 的缩写,是一种用于虚拟化的开源硬件虚拟化技术. 使用 Linux 内核的虚拟化模块,将物理服务器划分为多个虚拟机. K ...

  4. MiniAuth 一个轻量 ASP.NET Core Identity Web 后台管理中间插件

    MiniAuth 一个轻量 ASP.NET Core Identity Web 后台管理中间插件 「一行代码」为「新.旧项目」 添加 Identity 系统跟用户.权限管理网页后台系统 开箱即用,避免 ...

  5. php 开发规范

    ===========================框架========================= · 使用laravel框架,原因:tp的框架路由和orm没有laravel好用 · 使用强 ...

  6. 在Linux中清理Buff/cache

    在 Linux 中,缓冲区和缓存是为提高系统性能而保留的,但如果这些缓存过多,可能会消耗大量内存,影响系统的性能.有时候,您可能需要手动清理这些缓存以释放内存.但请注意,通常不建议定期或频繁地这样做, ...

  7. 我用Awesome-Graphs看论文:解读PowerGraph

    PowerGraph论文:<PowerGraph: Distributed Graph-Parallel Computation on Natural Graphs> 上次通过文章< ...

  8. 测试开发jmeter设置线程序号

    测试开发jmeter设置线程序号 ${__threadNum} 需要在请求的名称后面加上${__threadNum} 然后运行结果如下:

  9. mysql索引失效的情况七字口诀:“模型数空运最快”

    mysql索引失效的情况 七字口诀:"模型数空运最快" 模:使用like进行模糊查询的时候,以百分号%开头的,索引就会失效. 型:代表数据类型,数据类型错误了,索引也会失效. 数: ...

  10. ByteHouse高性能向量检索实践——“以图搜图”

    更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群   随着 LLM 技术的发展,向量检索与向量数据库也受到业界持续关注,它们能够为LLM提供外置记忆单元,通过提供与 ...