【发布时间】:2020-06-17 17:17:13
【问题描述】:
在 OAuth 2 中,客户端应用交换访问令牌的授权代码。使用访问令牌,应用程序可以进行 API 调用。但是,我真的不明白为什么 OAuth 2 有这一步。这似乎是一个额外的步骤。
我能想到的一个原因是授权码是通过客户端的重定向调用给出的,所以它有可能被泄露,因此它是短暂的;而访问令牌是服务器到服务器的。
确实如此,但还有应用程序发送的秘密 API 密钥。那为什么授权码不能一样呢?
假设没有访问令牌,只有授权码。那么即使有人获得了授权码,如果 OAuth 服务器也检查了密钥和授权码,他们将无法做任何事情。
它应该允许 OAuth 服务器:
- 确保请求是由正确的应用发出的(经过身份验证)
- 确定授予了哪些类型的权限(授权)
【问题讨论】:
标签: api oauth oauth-2.0 cryptography authorization