OAuth授权码流程安全问题(授权码被黑客截获)

标签 oauth websecurity

有些事情我无法理解。 据我了解,授权代码流应该比隐式流更安全,因为 token 不是直接从授权服务器发送到客户端,而是由后端检索。 所以流程基本上是:

  1. 浏览器获取授权代码(作为某种 URL 参数)。
  2. 将其发送到公共(public)后端端点。
  3. 后端将代码 + 客户端 key 发送到授权服务器,检索 token 并将其存储在客户端的 Cookie/本地存储中以供进一步使用。

在此流程中,所有教程都将授权代码描述为对黑客来说毫无用处,这是为什么?黑客是否不能使用 Postman 或其他客户端并直接访问您的(公共(public))API,使其完成步骤 3,从而同样检索 token ?

我在这里缺少什么?

最佳答案

代码仅使用一次。在许多情况下,攻击者可能会访问代码,但它已被交换为访问 token ,因此毫无用处。

authorization_code 是一次性 token 。

关于OAuth授权码流程安全问题(授权码被黑客截获),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67812472/

相关文章:

ajax - --disable-web-security 在 Chrome 中还能用吗?

客户端的 Azure KeyVault 和身份验证

javascript - 如何隐藏 Django 应用程序中使用的 js 库

ruby-on-rails - omn​​iauth OAuthException 和 OAuth::Unauthorized

asp.net - 在客户端更新用户声明的正确方法

iphone - 异步数据连接 iOS

reactjs - 用户能否在 Chrome 中更改 Redux/Mobx 的值以获得对受限 View 的访问权限?

webpack - webpack-dev-server 的 allowedHosts 安全机制的目的是什么?

oauth - 创建应用程序时,我从 LinkedId 获得的 OAuth 用户 token 和 OAuth 用户 key 的目的是什么

python - 如何使用刷新 token 在 django-oauth-toolkit 上获取新的访问 token ?