本地调试出现以下问题:
1.web端 localhost is currently unable to handle this request. HTTP ERROR 500
url为登录后: //XXX/signin-oidc
2.服务端报错提示: Microsoft.AspNetCore.Server.Kestrel[13]
chrome AspNetCore.Correlation.OpenIdConnect “XXXXXX” cookie not found
问题原因:
Asp.net core 的安全和表示下的机密管理有一项是强制执行https,A批客户端可能不理解活遵循从HTTP到HTTPS的重定向。此类客户端可以通过HTTP发送信息,Web Api 应:不侦听HTTP。关闭状态代码为400的连接(错误请求)并且不处理请求。
我自身发现,chrome浏览器会出现此类问题,但是火狐浏览器没有类似情况,所以只写出chrome浏览器的解决方式:
Chrome浏览器 => chrome://flags => Cookies without SameSite must be secure => disabled
但是此设置也有一个很重要的前提,单点登录依赖一个很重要的nuget包来处理/singnin-oidc,并写入cookies,.net core 2.0本身自带,但是3.0以上需要引入 Microsoft.AspNetCore.Authentication.OpenIdConnect
自用记录文章,使用参考microdoft官网 ,不另作介绍