gpt4 book ai didi

oauth - OAuth 2 与 OAuth 1 有何不同?

转载 作者:行者123 更新时间:2023-12-02 06:25:03 31 4
gpt4 key购买 nike

用非常简单的术语来说,有人可以解释一下 OAuth 2 和 OAuth 1 之间的区别吗?

OAuth 1 现在已经过时了吗?我们应该实现 OAuth 2 吗?我没有看到很多 OAuth 2 的实现;大多数人仍在使用 OAuth 1,这让我怀疑 OAuth 2 是否可以使用。是吗?

最佳答案

Eran Hammer-Lahav 在他的文章 Introducing OAuth 2.0 中出色地解释了大部分差异。 .

*编辑:据报道原始链接截至 2023 年 8 月 13 日已失效。使用 web.archive.org 的快照进行更新

总而言之,主要区别如下:

更多 OAuth 流程,以便更好地支持非基于浏览器的应用程序。这是针对非基于浏览器的客户端应用程序的 OAuth 的主要批评。例如,在 OAuth 1.0 中,桌面应用程序或移动电话应用程序必须引导用户打开浏览器访问所需的服务,使用该服务进行身份验证,并将 token 从服务复制回应用程序。这里的主要批评是针对用户体验的。借助 OAuth 2.0,应用程序现在可以通过新方式获取用户授权。

OAuth 2.0 不再要求客户端应用程序具有加密技术。这让人想起旧的 Twitter Auth API,它不需要应用程序使用 HMAC 哈希 token 和请求字符串。使用 OAuth 2.0,应用程序可以仅使用通过 HTTPS 颁发的 token 发出请求。

OAuth 2.0 签名要简单得多。不再需要特殊的解析、排序或编码。

OAuth 2.0 访问 token 是“短暂的”。通常,OAuth 1.0 访问 token 可以存储一年或更长时间(Twitter 永远不会让它们过期)。 OAuth 2.0 具有刷新 token 的概念。虽然我不完全确定这些是什么,但我的猜测是您的访问 token 可能是短暂的(即基于 session ),而您的刷新 token 可能是“生命周期”。您可以使用刷新 token 来获取新的访问 token ,而不是让用户重新授权您的应用程序。

最后,OAuth 2.0 旨在在负责处理 OAuth 请求的服务器和处理用户授权的服务器之间实现角色的明确分离。有关这方面的更多信息,请参阅上述文章。

关于oauth - OAuth 2 与 OAuth 1 有何不同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4113934/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com