OAuth 2.0 - 概述


什么是 OAuth 2.0?

OAuth 是一种开放授权协议,允许通过启用 HTTP 服务(例如 Facebook、GitHub 等)上的客户端应用程序来访问资源所有者的资源。它允许将存储在一个站点上的资源共享到另一个站点,而无需使用其凭据。它使用用户名和密码令牌来代替。

OAuth 2.0 由IETF OAuth 工作组开发,于 2012 年 10 月发布。

为什么使用 OAuth 2.0?

  • 您可以使用 OAuth 2.0 从另一个应用程序读取用户的数据。

  • 它为 Web、桌面应用程序和移动设备提供授权工作流程。

  • 它是一个服务器端 Web 应用程序,使用授权代码并且不与用户凭据交互。

OAuth 2.0的特点

  • OAuth 2.0 是一个简单的协议,允许在不共享密码的情况下访问用户的资源。

  • 它提供使用脚本语言(例如 JavaScript)运行客户端应用程序的用户代理流程。通常,浏览器是用户代理。

  • 它使用令牌而不是使用凭据来访问数据,并将数据存储在用户的在线文件系统中,例如 Google Docs 或 Dropbox 帐户。

OAuth 2.0 的优点

  • OAuth 2.0 是一种非常灵活的协议,它依赖 SSL(安全套接字层,确保 Web 服务器和浏览器之间的数据保持私密性)来保存用户访问令牌。

  • OAuth 2.0 依赖于 SSL,SSL 用于确保加密行业协议并用于保证数据安全。

  • 它允许对用户数据进行有限访问,并允许在授权令牌过期时进行访问。

  • 它能够为用户共享数据,而无需发布个人信息。

  • 它更容易实施并提供更强的身份验证。

OAuth 2.0 的缺点

  • 如果您在规范的末尾添加更多扩展,它将产生大量不可互操作的实现,这意味着您必须为 Facebook、Google 等编写单独的代码片段。

  • 如果您最喜欢的网站连接到中央集线器并且中央帐户被黑客入侵,那么这将导致多个网站而不是一个网站受到严重影响。