联合注销

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

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

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

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

幸运的是,IdentityServer已经包含此代码。当请求进入IdentityServer和调用外部认证提供商处理,IdentityServer检测,如果这些联合signout要求,如果他们是它会自动呈现相同<iframe>这里描述signout简而言之,自动支持联合注销。

nidie.com.cn - 用心与你沟通