云设计模式之 : 联邦身份模式

栏目: 后端 · 发布时间: 6年前

内容简介:用户经常需要使用不同的应用,每个应用一般都需要使用不同的账号,这给用户增加了管理多个账号的负担,如果将用户认证的功能委托给外部模块,既可以降低应用的部署难度,又能减少用户账号管理负担,并且让用户有一致性的体验。解决这个问题的方法之一就是使用联邦身份模式,不同应用都将认证的功能委托给可信任的第三方认证模块,这样认证和授权还能解耦。下面是这种模式的结构图:上图中,IdP或者STS作为身份认证中心,是Consumer和Service都信任的。Consumer要访问Service的资源时,被要求先进行身份认证,因此

1. 缘由

用户经常需要使用不同的应用,每个应用一般都需要使用不同的账号,这给用户增加了管理多个账号的负担,如果将用户认证的功能委托给外部模块,既可以降低应用的部署难度,又能减少用户账号管理负担,并且让用户有一致性的体验。

2. 解决方案

解决这个问题的方法之一就是使用联邦身份模式,不同应用都将认证的功能委托给可信任的第三方认证模块,这样认证和授权还能解耦。下面是这种模式的结构图:

云 <a href='https://www.codercto.com/topics/17995.html'>设计模式</a> 之 : 联邦身份模式

上图中,IdP或者STS作为身份认证中心,是Consumer和Service都信任的。Consumer要访问Service的资源时,被要求先进行身份认证,因此Consumer事先就会通过IdP获取到请求token,然后在访问Service时携带该token,Service通过验证token就知道Consumer是否是合法的消费者,同时Service能判断是否Consumer有足够的访问权限,这属于授权的内容。

3. 需要考虑的问题

采用该模式时,往往身份认证中心就变成了一个单点,如果应用被部署到多个数据中心,一般也要就近部署一个身份认证模块来保持其可用性和可靠性。比较适合的使用场景是支持Single sign-on单点登录的系统。

4. 具体示例

下面这张图展示的是一个部署在Microsoft Azure上的SAAS应用的认证模型。

云设计模式之 : 联邦身份模式

首先,用户请求自己公司的认证模块ADFS,获取到一个token,然后用户浏览器将该token转发到SAAS应用的认证模块Federation provider,获得后者认可的适用于SAAS应用的token。如果需要,Federation provider还会将token的部分内容进行某些转换,转换后SAAS应用也是可以识别的,最后再将token返回给用户。之后,用户访问SAAS应用时,SAAS应用将利用token里包含的信息对用户进行授权验证。

这样的话,用户不需要记住不同的账号以便可以访问公司内部资源和外部SAAS资源,公司的管理员也仅仅需要维护ADFS的信息,就能实现对用户账号和权限的管理。

微信扫码,进入【技术人成长】社群逛逛。

云设计模式之 : 联邦身份模式

以上所述就是小编给大家介绍的《云设计模式之 : 联邦身份模式》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

马云现象的经济学分析:互联网经济的八个关键命题

马云现象的经济学分析:互联网经济的八个关键命题

胡晓鹏 / 上海社会科学院出版社 / 2016-11-1 / CNY 68.00

互联网经济的产生、发展与扩张,在冲击传统经济理论观点的同时,也彰显了自身理论体系的独特内核,并与那种立足于工业经济时代的经典理论发生显著分野。今天看来,“马云”们的成功是中国经济长期“重制造、轻服务,重产能、轻消费,重国有、轻民营”发展逻辑的结果。但互联网经济的发展却不应仅仅止步于商业技巧的翻新,还需要在理论上进行一番审慎的思考。对此,我们不禁要问:互联网经济驱动交易发生的机理是什么?用户基数和诚......一起来看看 《马云现象的经济学分析:互联网经济的八个关键命题》 这本书的介绍吧!

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具