Federated登出


layout: docs-default

Federated 登出

IdentityServer支持和第三方身份的联合。当用户登出上游的第三方认证,取决于具体使用的协议,identityServer可能会收到一个登出通知,通过这个,IdentityServer可以通知它管理的客户端同样退出。
WS-Federation和OIDC通常使用的方法是把一个<iframe>渲染在用户的浏览器里面做为HTTP的前端通道来通知IdentityServer用户会话已经结束(和IdentityServer supports的方式差不多).

要实现联合登出,必须提供一个登出endpoint(需要在上游的第三方认证系统上登记),当它被调用的时候,它可以通知IdentityServer的客户端,用户已经登出。这个通过调用来自 IdentityServer OWIN environment extensionsProcessFederatedSignoutAsync实现。这个会撤销用户的会话cookies,并渲染要给合适的<iframe>来通知客户端。注意:这个需要登出endpoint运行在IdentityServer同样的管道里。

例子代码如下:

public void Configuration(this IAppBuilder app)
{
   app.Map("/core", coreApp =>
   {
      var factory = new IdentityServerServiceFactory();

      // ...

      coreApp.UseIdentityServer(idsrvOptions);
      
      coreApp.Map("/signoutcleanup", cleanup =>
      {
         cleanup.Run(async ctx =>
         {
            await ctx.Environment.ProcessFederatedSignoutAsync();
         });
      });
   });
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 本教程会介绍如何在前端JS程序中集成IdentityServer。因为所有的处理都在前端,我们会使用一个JS库oi...
    灭蒙鸟阅读 8,107评论 5 16
  • 术语http://www.tuicool.com/articles/2mQjIr 本文翻译自IdentitySer...
    灭蒙鸟阅读 8,403评论 1 13
  • 点击查看原文 Web SDK 开发手册 SDK 概述 网易云信 SDK 为 Web 应用提供一个完善的 IM 系统...
    layjoy阅读 13,984评论 0 15
  • 主要介绍CAS SSO的认证流程。有关这方面的内容再网上也有很多资料,写这篇总结目的一来是自己在理解这块内容的时候...
    spilledyear阅读 9,872评论 1 17
  • layout: docs-default Federated 的登出后重定向 当客户端程序登出IdentitySe...
    灭蒙鸟阅读 801评论 0 0