IdentityServer4之SSO(基于OAuth2.0、OIDC)单点登录、登出
IdentityServer4之SSO(基于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下有问题。
core的站点在不同浏览器下firefox是正常,在chrome下有问题。
/home/abc是自定义的登出处理Action,替换了默认的signout-oidc。Front登出通知使用默认和自定义的都存在如下问题。
firefox浏览器下cookie信息回传
chrome浏览器就没有cookie回传
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