从2000年开始,在如何存储和使用身份信息、保障用户能够访问应用程序、跨应用的数据共享一直在不断升级。每隔几年时间,就会有新的需求和挑战,当然也会有对应新的方案,每一次升级都解决了一些问题,但也带来了新的问题。
了解过去,以示未来
不同时期的身份技术具有特定突出的优点,当然也有缺点,这些优点和缺点可以帮助您更好的评估项目的身份解决方案。
身份发展概要
按照时间回顾下身份发展的历史。
第一阶段:石器时代,各个应用使用独立的身份体系、独立进行认证和存储身份,后来基于Cookie进行内部应用的单点登录。
第二阶段,电气时代——联合身份,2003年为了解决企业应用的联合认证的问题,微软联合、IBM等传统IT巨头发起了基于WS*系列标准之上构建的WS-Federation1.1版本,但这一协议因为过于重,除了得到微软的积极拥护以外,其他软件厂商响应屈指可数。因此在2005年,SAML2.0横空出世,其协议的相对WS-Fed更为简洁明了,更适合SaaS应用的发展,得到了SaaS厂商的支持。
第三阶段,互联网时代——面向消费者共享身份,随着互联网、移动互联网的相继爆发,OpenID和Oauth应运而生,并且得到广泛的应用。在2012年以前,互联网的应用之间的信息交互较少。随着互联网爆发式增长,让资源相互调用的需求迅猛增长,Oauth2.0就此诞生,让互联网应用之间的交互变得更加便捷。
第四阶段,云时代——身份和授权标准化,因为技术的演进,对于API的授权需求越来越多,2014年基于OpenID和Oauth2.0,OIDC于2014年发布,谷歌、微软、PingIDentity纷纷转向这一新的协议。微服务、云原生这几年概念火热,可以预见OIDC的应用将会越来越广泛。
石器时代
独立存储身份
在石器时代的计算机应用程序中,每个应用程序通常实现自己的身份存储库、身份验证和授权。
这种烟囱式应用构建让90%的应用都存在相同安全风险。用户的登录体验是割裂的,用户的身份信息无法获得同步。在企业场景下,当只有几个应用程序时,用户对数据完整性问题的恼怒和必须记住的几个密码体验就足够糟糕了