📜  OAuth 2.0-概述

📅  最后修改于: 2020-11-03 10:21:20             🧑  作者: Mango


什么是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等编写单独的代码段。

  • 如果您喜欢的站点连接到中央集线器并且中央帐户被黑,那么这将在多个站点而不是仅一个站点上造成严重影响。