【问题标题】:Has OAuth failed?OAuth 失败了吗?
【发布时间】:2010-01-20 12:55:19
【问题描述】:

我考虑将 OAuth 用于单点登录 (SSO) 和 RESTful 服务。乍一看,使用 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吗?

【问题讨论】:

  • 我们在我的项目中使用了 oauth,确保启动和运行需要一些时间和精力(但没有我们预期的那么多)。是的,用户必须登录另一个站点可能会有点烦人。但是现在,一旦我们启动并运行,它真的很甜蜜。访问令牌的有效期很长,它非常流畅和漂亮,您不必登录,它就可以工作。我不认为它失败了。只是被误解了。

标签: authentication oauth authorization single-sign-on


【解决方案1】:

OAuth 不是 SSO 解决方案,它是一种通常用于委派 API 授权的协议。 3 legged OAuth 允许请求访问受保护资源的客户端将授权委托给托管该资源的服务器。基本上,用户不必将其凭据提供给第 3 方(客户端),只需提供给托管受保护资源的服务器即可。如果您希望实现单点登录,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 客户端。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-02-05
    • 2011-08-07
    • 1970-01-01
    • 2021-10-28
    • 2013-03-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多