今天在弄 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. 关于Precision,Recall,ROC曲线,KS,Lift等模型评价指标的介绍

    1.Precision, Recall 准确率 \(Accuracy = \frac{TP+TN}{TP+TN+FP+FN}\) 精确率(或命中率) \(Precision = \frac{TP}{T ...

  2. GitHub 创始人资助的开源浏览器「GitHub 热点速览」

    你是否注意到,现在主流的浏览器如 Chrome.Edge.Brave 和 Opera 都采用了谷歌的 Chromium 引擎?同时,谷歌每年不惜花费数十亿美元,确保其搜索引擎在 Safari 中的默认 ...

  3. nuxt3正确使用keepalive页面缓存组件缓存

    最近使用nuxt@3.x版本做SEO优化项目比较多,之前也踩坑过,所以记录一下在 nuxt3 中路由缓存的正确使用方法,本人也之前在GitHub社区中提交过反馈问题,最后是在 3.8.2 版本解决了路 ...

  4. Vue介绍和使用

    一.Vue介绍 - Vue是一套构建用户界面的渐进式前端框架.- 只关注视图层,并且非常容易学习,还可以很方便的与其它库或已有项目整合.- 通过尽可能简单的API来实现响应数据的绑定和组合的视图组件. ...

  5. Spring MVC 中视图的实现原理,在Spring MVC 中实现重定向和转发,以及访问静态资源

    1. Spring MVC 中视图的实现原理,在Spring MVC 中实现重定向和转发,以及访问静态资源 @ 目录 1. Spring MVC 中视图的实现原理,在Spring MVC 中实现重定向 ...

  6. 算法金 | 秒懂 AI - 深度学习五大模型:RNN、CNN、Transformer、BERT、GPT 简介

    1. RNN(Recurrent Neural Network) 时间轴 1986年,RNN 模型首次由 David Rumelhart 等人提出,旨在处理序列数据. 关键技术 循环结构 序列处理 长 ...

  7. [rCore学习笔记 015]特权级机制

    写在前面 本随笔是非常菜的菜鸡写的.如有问题请及时提出. 可以联系:1160712160@qq.com GitHhub:https://github.com/WindDevil (目前啥也没有 官方文 ...

  8. SMU Summer 2024 Contest Round 1(7.8)zhaosang

    A-A http://162.14.124.219/contest/1005/problem/A 一道数学问题,求概率. 要求成功的概率,有两个色子, 一个用来抛正反面,一个用来控制得分大小,当超过某 ...

  9. Python 利用argparse模块实现脚本命令行参数解析

    利用argparse模块实现脚本命令行参数解析 By:授客 QQ:1033553122 #代码实践1 study.py内容如下 #!/usr/bin/env python # -*- coding:u ...

  10. OpenGL 4.0中数据缓冲VBO,VAO,EBO的使用总结

    Opengl是大家常用的一个API,我们用它绘制数据的时候需要使用vao,vbo,ebo等对象,绘制方式分为 vao绘制,ebo绘制等.使用不同api还能分为普通调用以及Instance绘制. 首先申 ...