OpenID,OpenSSO和OAuth

我对OpenID的理解是,它提供了一种方法,让一个站点包含您的所有身份和信息.外围信息,但让其他OpenID兼容(和用户信任)站点重新使用该信息来识别和验证用户.从本质上讲,它最大限度地减少了用户对互联网的登录凭证(用户名和密码)的数量.

我对OpenSSO的理解是,它允许您登录到一个站点并自动登录到第一个站点信任的所有其他站点.从本质上讲,它最大限度地减少了用户登录这些不同站点的次数.

我对OAuth的理解是,它允许用户授予第三方站点对某个特定站点的信息的某些访问权限.本质上,与OpenSSO一样,它最大限度地减少了用户登录这些不同站点的次数.与OpenSSO的不同之处在于OpenSSO一次将用户登录到所有参与的站点(启用了完整权限),而OAuth授予对这些参与站点的更细粒度的访问权限.

所以,首先,如果我说的话不正确,请先纠正我!

假设我或多或少是正确的,那么我有以下问题/需要澄清以下项目:

>我什么时候会选择OpenSOS而不是OAuth-当我想限制其他参与网站在用户登录其中之一时的访问权限时?
>我将不得不考虑并将这些技术集成到我的应用程序中,这些技术存在不同的安全风险 – 或者它们被认为是安全的(基本上我可以放心,如果我的应用程序使用它们我的应用程序未打开任何新的攻击)?

由于这些技术密切相关,我很难在这里看到整个“穿越树林” – 提前感谢!

最佳答案 不是真正正确的比较. OpenID& OAuth是协议,OpenSSO(现在是OpenAM)是那些和其他协议(SAML,OAuth等)的实现

一般来说,OpenID和OAuth的协议是相似的,即使它们起源于不同的用例.今天,OAuth 2.0在联邦(身份验证)和授权案例方面有很多趋同.名为OpenID Connect的下一代OpenID建立在OAuth 2.0的基础之上,其前身已经在Google,Facebook,Twitter等上发布……

至于安全性,总会存在一些风险,尤其是实施错误.选择一个好的实现并阅读规范,以便了解风险和对策是什么.

点赞