OAUTH、OPENID、SAML、CAS做统一认证与授权时有什么区别,为何业界一股脑都使用oauth?OPENID、SAML、CAS不能进行授
权的操作码?我感觉好像都可以,还是因为OAUTH2.0协议在第三方调用开发上比较简单,比较轻量级,所以大家都采用oauth?
首先SSO和权限控制是两回事。 OpenID是IDP提供一个身份唯一标识把第三方的应用账号绑定到唯一标识上,只起到了认证的作用。 SAML支持XACML协议进行权限控制。 CAS本身没有授权,也没有权限控制,但是CAS支持SAML,所以就支持了权限控制。 SAML协议较OAUTH来说确实比较复杂,但是功能也十分强大,支持认证,权限控制和用户属性。 ----------------------------------------------------------------------------------------------------------------- WEB方式的基于SAML的SSO已经开始流行,OpenID也很火,今年以来OAuth又火上浇油。上次IETF会议已经开BAR BOF讨论了eduroam(education roaming)的事情。 IETF目前考虑的联邦认证框架结合了EAP, RADISU, GSS-API等,不仅可以为WEB提供联合认证,也希望为SSHv2, NFSv4,IMAP等非WEB应用提供身份的联邦认证能力。 SAML提供了授权和属性能力, GSS-API提供了与应用的集成能力, EAP提供了对现有证书支持封装在GSS-API中的能力,RADIUS传递联邦认证能力。 ipbaobao认为,这一技术具有进一步很大的发展空间,建议关注。 eduroam (education roaming): is the secure, world-wide roaming access service developed for the international research and education community. eduroam allows students, researchers and staff from participating institutions to obtain Internet connectivity across campus and when visiting other participating institutions by simply opening their laptop. ----------------------------------------------------------------------------------------------------------我们同Apigee的SamRamji进行了对话。他本人和其公司(致力于为企业和开发者提供API产品)发现在安全服务上升的趋势中处于核心的是OAuth。
过去,Ramji领导微软的
开源战略,同时也是BEA的AquaLogic产品团队的创始成员。他现在担任Apigee的战略专家,并为ApigeeAPI最佳实践博客撰写文章。他
将给予令牌的OAuth协议比作仆从钥匙,在不用多重登陆的前提下,允许用户从一个网站到另一个网站(从Twitter到TweetDeck,从
Facebook到Twitter,从NewYorkTimes到Facebook等)。
“OAuth让应用来充当像Twitter(代表了终端用户)这样的服务的中间人,”他说道。这种网站跳跃类型的令牌服务是Web2.0的关键标志,所以在今天称之为“应用经济(AppEconomy)”。
OAuth会随着基于REST的Web服务方法的广泛使用而起到很好的作用。此外,Ramji认为OAuth是一种“刚刚好的”安全服务,能适用于广大的开发者。移动设备大爆炸可能会促进OAuth的使用。
以
前的替代选择包含了更为复杂的一套流程,开发者需要去学习。当然,OAuth也有其局限性。OAuth的目标直接是通过HTTP进行站点到站点、应用到应
用的跳跃。可以同企业本地的SAML、OpenID以及其他更复杂的安全服务作为至关重要的后端系统的网关来共同使用。
OAuth也可以看作是服务重大变化的指示器,Ramji表示。“作为基于令牌的安全系统,它允许用户账号信息为第三方应用以某种途径来使用,而且不会将用户名和密码暴露给那个应用。”
会发生什么问题呢?“对于一般水平的开发者来说,连接OAuth的过程十分复杂,”Ramji说道,“而且,它仍旧是一种运作中的标准,让两个应用保持一致并不容易。”
这也正是Apigee的机会。该公司构建了一个单一的、简单API同多种终端服务通信,他介绍到。托管的产品起到服务中间件的
作用,能够处理你的请求。开发者可以用Ruby、ObjectiveC、Java和JavaScript来调用
ApigeeOAuthAPI,ApigeeOAuthAPI还支持SalesforceREST、Chatter、LinkedIn和
TwitterAPI,未来还会有更多的支持。
Apigee的工作成为API密集型企业的一种象征,可能软件产业会发生经济变革。
|
|