OpenID OAuth扩展优于OAuth有什么优势?

时间:2009-09-04 19:59:58

标签: authentication openid oauth

为什么使用建议的OpenID OAuth Extension而不是其他基于OAuth的协议?

发现似乎不是一个功能。虽然消费者只需要声明的标识符来启动身份验证过程,但任何授权仍然要求消费者知道访问令牌URL,签名方法,并与提供者共享密钥/秘密。

一个好处是,有一种特定的授权方式,即认证请求的openid.oauth.scope参数。这样做的一个具体好处是,只有身份验证 - 仅为了消费者的利益,没有可验证的令牌 - 是免费定义的,可以执行而无需担心跟踪未完成的令牌或他们可能需要的资源。

是否有使用替代方法的示例来指定要请求的范围,可能还有OpenID发现中的某些内容?或者可以在OAuth流程之前使用某种REST导航有效地处理这种情况,其中通过从众所周知的URL开始解释超文本来发现特定于所需范围的多个请求令牌URL之一?

我正在研究具有多个授权范围的委托身份验证和授权系统,其中范围与不同的交互相关。换句话说,消费者需要告诉提供者应该向用户呈现哪些范围以进行授权。

1 个答案:

答案 0 :(得分:6)

OpenID + OAuth扩展程序实际上只比标准OAuth具有一个显着优势:

如果您需要对用户进行身份验证,请访问用户的私有数据,OpenID提供商也恰好是OAuth服务提供商(用户使用该服务提供商进行身份验证)保存他的私人数据的服务,然后扩展将帮助用户只有一个重定向到OP + SP而不是两个单独的。对于用户来说,这是一个巨大的可用性胜利 - 如果他恰好用他的SP进行身份验证。

支持扩展的风险足以支持其OP和SP不是同一实体的用户(您不想说您将支持该扩展,然后无意中锁定其OP不是其SP的用户) 。

请记住真正需要了解的内容。如果您只想访问用户的私人数据,但并不真正关心您正在与之交互的用户,请仅使用OAuth。例如,如果您只是下载照片以提供照片打印服务,或者您已经拥有该用户的非OpenID帐户,则用户无需通过OpenID放弃其身份。