[译] IdentityServer3 单点登出

简介: 原文:Single sign-out and IdentityServer3单点登出 (single sign-out, single logout, SLO) 是指用户能够登出所有使用单点登录 (single sign-on, SSO)包括身份提供商登进的应用的机制。

原文:Single sign-out and IdentityServer3

单点登出 (single sign-out, single logout, SLO) 是指用户能够登出所有使用单点登录 (single sign-on, SSO)包括身份提供商登进的应用的机制。OpenID Connect 规范系列包含了 三个 不同的关于怎么处理单点登出的规范。每一个都提供了不一样的方式来解决引入 SSO 的应用架构特性所带来的问题。有三种不同的方式来解决这个问题可见执行单点登出的复杂性。

其中一个就是“会话管理规范”,针对的是基于 JavaScript / SPA 风格的应用(因此也称为基于 JavaScript 的登出规范)。另一个是“基于 HTTP 的登出规范”,针对的是服务器端框架(比如 ASP.NET),也称为 "front-channel" 方式。最后一个是“back-channel 登出规范”,也是针对服务器端应用的,但是采取的是不同于 "front-channel" 规范的方式。每一个都有利有弊。

IdentityServer3 首次发布就对基于 JavaScript 的“会话管理规范”提供了支持,并在 2015 年 11 月 v2.2 中也实现了 "front-channel" 规范的支持。

基于 JavaScript 的方式需要客户端应用加载一个连到在 IdentityServer 中称为 "check_seesion_iframe" 端点(它的值在元数据端点中可以找到)的 <iframe> 。这个 <iframe> (鉴于它是来自 IdentityServer 的源)可以访问到由 IdentityServer 管理的会话 cookie 并且可以侦测用户登录会话的改变(也就是用户的登出或者其他用户登录)。一旦用户会话发生了改变,那么托管 <iframe> 的 JavaScript 应用将会得到用户不再登录到 IdentityServer 的通知。在此阶段,接下来该怎么做就交给了应用,但是应用至少知道用户的登录状态已经发生了改变。

"front-channel" 规范采用了另一个方式。它允许客户端应用使用 IdentityServer 预先注册一个 "logout URL" 。当用户登出 IdentityServer ,然后在 IdentityServer 的 "sign out" 页面上,一个 <iframe> 会渲染客户端应用注册的 "logout URL" 。<iframe> 中的请求允许客户端应用接收在用户浏览器会话上下文中用户已经登出的通知。在这个请求中,客户端应用可以决定怎么来清除用户的会话,常用的方式就是撤销客户端应用中的用户会话 cookie 。

你可以在 这里 获取更多 IdentityServer 关于单点登出的支持。

相关文章
|
存储 安全 Java
(流程图 + 代码)带你实现单点登陆SSO(一)
(流程图 + 代码)带你实现单点登陆SSO
|
移动开发 安全 前端开发
(流程图 + 代码)带你实现单点登陆SSO(三)
(流程图 + 代码)带你实现单点登陆SSO
|
存储 Kubernetes 中间件
【中间件-keycloak】第一次改开源中间件keycloak总个结
【中间件-keycloak】第一次改开源中间件keycloak总个结
609 5
【中间件-keycloak】第一次改开源中间件keycloak总个结
Jasny SSO是否支持多种身份提供者?
Jasny SSO是否支持多种身份提供者?
集成Jasny SSO后,如何配置Yii2.0应用程序以使用该库?
集成Jasny SSO后,如何配置Yii2.0应用程序以使用该库?
|
存储 缓存 数据安全/隐私保护
Jasny SSO是如何处理用户会话的?底层原理是什么?
Jasny SSO是如何处理用户会话的?底层原理是什么?
|
开发框架 PHP
Yii2.0是否支持集成Jasny SSO?
Yii2.0是否支持集成Jasny SSO?
129 0
|
NoSQL Redis 数据安全/隐私保护
基于Token认证的多点登录和WebApi保护
原文 基于Token认证的多点登录和WebApi保护 在文章中有错误的地方,或是有建议或意见的地方,请大家多多指正,邮箱: linjie.rd@gmail.com   一天张三,李四,王五,赵六去动物园,张三没买票,李四制作了个假票,王五买了票,赵六要直接FQ进动物园   到了门口,验票的时候...
2916 0