加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net – 使用Thinktecture Identity Server 2进行单点注销

发布时间:2020-12-16 06:27:53 所属栏目:asp.Net 来源:网络整理
导读:我对Thinktecture的Identity Server 2的理解是没有实现单点登出.换句话说,当您退出一个依赖方时,Identity Server不会自动将用户从任何其他RP中签名.我知道有关于此的帖子,但我还没有找到任何关于如何扩展Identity Server来执行此操作的内容.我已经看到一些帖
我对Thinktecture的Identity Server 2的理解是没有实现单点登出.换句话说,当您退出一个依赖方时,Identity Server不会自动将用户从任何其他RP中签名.我知道有关于此的帖子,但我还没有找到任何关于如何扩展Identity Server来执行此操作的内容.我已经看到一些帖子说Identity Server已经开箱即用了…如果确实如此,我还是无法找到方法.

我有SSO与Asp.NET Web Forms,WIF和Identity Server 2一起正常工作,我能够很好地退出RP,但从我可以看出,Identity Server中需要一些额外的代码才能将用户从他可能登录的任何其他RP中完全签名.

有没有人扩展Identity Server以实现单点注销?

这是可以在Identity Server中配置还是需要一些编码的东西?

如果你拥有它,我真的很感激.

谢谢.

解决方法

IdentityServer支持通过WS-Federation进行单点注销.您的RP需要向IdentityServer发出注销请求,让用户退出IdentityServer以及通过WS-Fed通过IdentityServer验证的任何其他RP.以下是您的RP如何提出此类请求的摘要:

var sam = FederatedAuthentication.SessionAuthenticationModule;
sam.SignOut();

var fam = FederatedAuthentication.WSFederationAuthenticationModule;
var signOutRequest = new SignOutRequestMessage(new Uri(fam.Issuer));
// optional -- put your RP's URL here
// signOutRequest.Reply = "https://localhost:44321/";
var url = signOutRequest.WriteQueryString();
Response.Redirect(url);

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读