问题描述
我无法理解的东西。
据我了解,授权代码流应该比隐式流更安全,因为令牌不是从授权服务器直接发送到客户端,而是由后端检索。
所以流程基本上是:
- 浏览器获取授权代码(作为排序的 URL 参数)。
- 将其发送到公共后端端点。
- 后端将代码 + 客户端密钥发送到授权服务器,检索令牌并将它们存储在客户端的 cookie/本地存储中以供进一步使用。
在此流程中,所有教程都将授权码描述为对黑客无用,这是为什么呢?黑客不能使用 Postman 或其他一些客户端并直接访问您的(公共)API,使其通过第 3 步,从而以相同的方式检索令牌吗?
我在这里遗漏了什么?
解决方法
code
只使用一次。在攻击者可以访问 code
的许多情况下,它已经被交换为访问令牌,因此没有用。
authorization_code
是一次性令牌。