OpenID OAuth扩展相比OAuth有哪些优势?

3

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

发现似乎不是一个功能。尽管消费者只需要声明标识符即可开始认证过程,但任何授权仍然需要消费者知道访问令牌URL、签名方法,并与提供者共享密钥/密码。

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

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

我正在研究一种委派身份验证和授权系统,其中包含多个授权范围,这些范围与不同的交互相关。换句话说,消费者需要告诉提供者应该向用户展示哪些授权范围进行授权。
1个回答

6
OpenID+OAuth扩展只有一个重要优势,与标准OAuth相比:
如果您需要验证用户并访问用户的私人数据,并且OpenID提供程序恰好也是OAuth服务提供程序(用户使用保存其私人数据的同一服务进行身份验证),则该扩展将帮助用户仅在一个重定向到OP+SP而不是两个分离的重定向中进行身份验证。对于用户来说,这是一个巨大的易用性优势--如果他恰好正在使用他的SP进行身份验证。
支持该扩展的风险是充分支持OP和SP不是同一实体的用户(您不希望说您将支持该扩展,然后无意中锁定其OP不是其SP的用户)。
请记住您真正需要了解的内容。如果您只想访问用户的私人数据,但并不关心您正在与哪个用户互动,请仅使用OAuth。例如,如果您已经为此用户拥有非OpenID帐户,或者仅下载他的照片以提供照片打印服务,那么用户没有理由通过OpenID放弃他的身份。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接