最近我一直在阅读很多关于 OAuth(开放授权)协议的内容。我已经了解以下几点: OAuth 1.0A: 它使用数字签名(减轻网络钓鱼)并建议使用 TLS/SSL(减轻中间人攻击)以及几乎所有使用 OAuth 1.0A 的服务提供商正在使用 TLS/SSL。由于数字签名和 TLS/SSL 的实施,OAuth 1.0A 更加安全,避免了获得正确数字签名的困难时期。然而,许多人已经实施了 OAuth 1.0A - 这个悖论。 OAuth 2.0: 这是相对较新的,但与较早的版本(即 OAuth 1.0 (A) )完全不兼容,由于难以 100% 正确使用数字签名,因此不使用数字签名,而是使用 SSL/TLS 和不记名令牌(即代币的持有者可以做任何事情)。OAuth 2.0 最好的一点是它区分了在 OAuth 1.0 中合并在一起的不同授权流。非互操作性是 OAuth 2.0 的另一个问题(我想它会导致更多的分裂......只是我的猜测)。
根据我目前所学到的,在很多方面我发现 OAuth 1.0A 比 OAuth 2.0 更好。现在任何人都可以对此有所了解,为什么当 OAuth 1.0A 更好(在更安全的意义上更好)时鼓励使用 OAuth 2.0。
谢谢。