美文网首页
Federated登出

Federated登出

作者: 灭蒙鸟 | 来源:发表于2017-02-25 18:14 被阅读81次

    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();
             });
          });
       });
    }
    

    相关文章

      网友评论

          本文标题:Federated登出

          本文链接:https://www.haomeiwen.com/subject/yrlmyttx.html