OAuth 2.0 - 概述
什么是 OAuth 2.0?
OAuth是一种开放的授权协议,允许通过启用百度、GitHub等HTTP服务上的客户端应用程序来访问资源所有者的资源。 它允许将存储在一个站点上的资源共享到另一个站点,而无需使用其凭据。 它使用用户名和密码令牌。
OAuth 2.0 由IETF OAuth 工作组开发,于 2012 年 10 月发布。
为什么使用 OAuth 2.0?
您可以使用 OAuth 2.0 从另一个应用程序读取用户的数据。
它为网络、桌面应用程序和移动设备提供授权工作流程。
它是一个服务器端 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 的缺点
如果您在规范的末尾添加更多扩展,则会产生大量不可互操作的实现,这意味着您必须为百度、Google 等编写单独的代码段。
如果您经常访问的网站连接到中央集线器并且中央帐户被黑客入侵,那么这将导致多个网站而不是一个网站受到严重影响。