IdentityServer4之SSO(基于OAuth2.0、OIDC)单点登录、登出

2022-12-04,,,,

<!--
.h2cls {
background: #6fa833 none repeat scroll 0 0 !important;
border-radius: 5px !important;
color: #fff;
font-family: "微软雅黑","宋体","黑体",Arial;
margin-bottom: 5px;
padding-left: 15px;
text-shadow: 2px 2px 3px #222;
}
h3 {
background-color: #f5f5f5;
border-left: 13px solid #6fa833;
color: #6fa833;
padding: 5px;
margin: 15px auto 2px;
}
p {
margin: 10px auto;
text-indent: 0;
}
code {
background-color: #f5f5f5 !important;
border: 1px solid #ccc !important;
border-radius: 3px !important;
display: inline-block;
font-family: "Courier New",sans-serif !important;
font-size: 12px !important;
height: 20px;
line-height: 1.8;
margin: 0 5px;
padding: 0 5px !important;
vertical-align: middle;
}
-->

IdentityServer4SSO(基于OAuth2.0、OIDC)单点登录登出

准备

 五个Web站点

1、localhost:5000 :                  认证服务器。
2、www.hybrid.com :                .net core2.0 Web MVC项目
3、www.jsclient.com :               js纯静态项目
4、www.fwkhybrid.com :           .net framework Web MVC项目
5、www.webfromimplicit.com :  .net framework WebForm项目

接入站点配置信息

4、www.fwkhybrid.com,登出前端回调地址,自定义的Action。

2、www.hybrid.com, signout-oidc在core中才实现,参考。

效果演示

hybridcc是.net core,另外一个是framework mvc

浏览器加载iframe,framework站点不同浏览器下都正常。
core的站点在不同浏览器下firefox是正常,在chrome下有问题。
/home/abc是自定义的登出处理Action,替换了默认的signout-oidc。Front登出通知使用默认和自定义的都存在如下问题。
firefox浏览器下cookie信息回传

chrome浏览器就没有cookie回传

core2.0默认的signout-oidc貌似也没处理Cookie信息。

https://github.com/aspnet/Security/blob/c0b8be58ba0ccdb3a4cd38825c30536f60ab99ce/src/Microsoft.AspNetCore.Authentication.OpenIdConnect/OpenIdConnectHandler.cs

https://github.com/aspnet/Security/blob/f8b4f4c620e2faaeec262d302df143068c8d0b33/src/Microsoft.AspNetCore.Authentication.OpenIdConnect/OpenIdConnectOptions.cs

IdentityServer4之SSO(基于OAuth2.0、OIDC)单点登录、登出的相关教程结束。

《IdentityServer4之SSO(基于OAuth2.0、OIDC)单点登录、登出.doc》

下载本文的Word格式文档,以方便收藏与打印。