博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[译] IdentityServer3 单点登出
阅读量:7297 次
发布时间:2019-06-30

本文共 1091 字,大约阅读时间需要 3 分钟。

原文:

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

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

IdentityServer3 首次发布就对基于 JavaScript 的“会话管理规范”提供了支持,并在 中也实现了 "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 关于单点登出的支持。

转载地址:http://yamjm.baihongyu.com/

你可能感兴趣的文章
PHP中空字符串、0、null、empty和false之间的关系
查看>>
【深度学习篇】---CNN和RNN结合与对比,实例讲解
查看>>
201771010126 王燕《面向对象程序设计(Java)》第十二周学习总结
查看>>
XAML实例教程系列 - 资源(Resources)
查看>>
LWIP互联网资料汇总
查看>>
外贸术语
查看>>
网络传输流量控制策略小结
查看>>
上传大文件
查看>>
Mybatis面试集合(转)
查看>>
分布式系统的完整介绍(一)
查看>>
考点1
查看>>
Asp.net 程序连接orcle如果在安装 32 位 Oracle 客户端组件的情况下以 64 位模式运行,...
查看>>
自己写的模板引擎,模板生成静态页面
查看>>
Android 数据库管理— — —更新数据
查看>>
014_捆绑包与显示模式
查看>>
python : logging模块format类
查看>>
[LeetCode] Two Sum
查看>>
java类中的初始化顺序
查看>>
win10远程桌面连接
查看>>
[转]Web Service与WCF区别
查看>>