OAuth失败了吗?

时间:2010-01-20 12:55:20

标签: authentication oauth authorization single-sign-on

我考虑将OAuth用于具有RESTful服务的单点登录(SSO)。乍一看使用OAuth作为事实上的标准对我来说很自然。但我必须承认,我不明白如何将它用于SSO。在学习OAuth期间,我发现了越来越多的批评授权 - 以至于我倾向于认为OAuth失败了。

OAuth is hard to implement.

Usability is poor.

Why Facebook doesn't implement OAuth today:

  • “OAuth比我们自己的本机身份验证机制更复杂,性能更低”
  • “OAuth WRAP看起来会解决大多数或所有这些问题”
  • 由于有两个请求和长URI,性能不佳
  • “图书馆质量总体上很差”

Possibly WRAP, powered by Microsoft, Yahoo and Google, is going to replace OAuth.

What's going on with OAuth (and WRAP)?

OAuth失败了吗? SSO的替代品有哪些 - 最好是那些被广泛接受或者广泛使用的观点?您想要WRAP吗?

1 个答案:

答案 0 :(得分:8)

OAuth不是SSO解决方案,它是通常用于委派API授权的协议。 3脚OAuth允许请求访问受保护资源的客户端将授权委托给托管该资源的服务器。基本上,用户不必将其凭据提供给第三方(客户端),而只需提供给托管受保护资源的服务器。如果您希望实现单点登录,OpenID可能是更合适的解决方案。您还可以使用OpenID OAuth扩展程序,该扩展程序允许您通过OAuth将身份验证与授权相结合。

目前正在对OAuth 2.0进行工作。 WRAP是作为一种临时解决方案开发的,用于解决原始OAuth 1.0a规范未涵盖的一些用例。 WRAP不会取代OAuth,而WRAP的想法将在适当的时候进入OAuth 2.0。 OAuth的一些原作者,以及WRAP的一位作者都在这里写过:

What's going on with OAuth?

所以不,OAuth没有失败,事实上它已经被广泛采用。 OAuth 1.0将继续由大量提供商实施,最终也将提供OAuth 2.0。 WRAP适用于那些想要利用它现在解决的用例的人。

关于将OAuth作为客户实施的难度,为什么不试试呢?可用的库具有不同的质量,但如果有一个不错的库,通常可以在一天内实现OAuth客户端。

相关问题