欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

第26章 联合注销 - Identity Server 4 中文文档(v1.0.0)

程序员文章站 2022-05-21 17:59:36
联合注销是指用户使用外部身份提供程序登录IdentityServer,然后用户通过IdentityServer未知的工作流程注销该外部身份提供程序的情况。当用户注销时,对IdentityServer进行通知将非常有用,这样它就可以将用户从IdentityServer和使用IdentityServer ......

联合注销是指用户使用外部身份提供程序登录identityserver,然后用户通过identityserver未知的工作流程注销该外部身份提供程序的情况。当用户注销时,对identityserver进行通知将非常有用,这样它就可以将用户从identityserver和使用identityserver的所有应用程序中签出。

并非所有外部身份提供商都支持联合注销,但那些提供的机制将提供通知客户端用户已注销的机制。此通知通常以<iframe>来自外部身份提供商的“已注销”页面的请求的形式出现。然后identityserver必须通知其所有客户(讨论这里),也通常在一个请求的<iframe>形式从内外部身份提供的<iframe>

使联合注销成为特殊情况(与正常注销相比)的原因是联合注销请求不是identityserver中的正常注销端点。实际上,每个外部identityprovider都将在identityserver主机中具有不同的端点。这是因为每个外部身份提供者可能使用不同的协议,并且每个中间件都在不同的端点上进行侦听。

所有这些因素的效果是没有像正常注销工作流那样呈现“注销”页面,这意味着我们缺少对identityserver客户端的注销通知。我们必须为每个联合注销端点添加代码,以呈现必要的通知以实现联合注销。

幸运的是,identityserver已包含此代码。当请求进入identityserver并调用外部身份验证提供程序的处理程序时,identityserver检测这些请求是否是联合注销请求,如果是联合注销请求,它将自动呈现与此处描述的注销相同的<iframe>。简而言之,自动支持联合注销。

github地址