0

我有几个关于 OAuth 2.0 用户凭据授予类型和可能的安全攻击的安全问题。因此,据我目前所知,当我通过 HTTPS 交换我的用户用户名密码客户端 ID 和客户端密码以获取完全安全的访问令牌时。现在举个例子,如果我有一个用于执行用户身份验证的服务的第一方移动应用程序,并且我将访问令牌保留在设备上。

  1. 如果访问令牌被泄露,那么泄露的访问令牌如何用于发出后续请求,例如 API 服务。除了不获取访问令牌之外,还有什么方法可以防止这种情况发生吗?
  2. 如果您通过 HTTPS 执行所有 API 请求,我不必担心访问令牌通过网络受到损害,或者不必担心任何重放攻击?

所以基本上我担心这种特定类型的授权可能存在安全漏洞。我很确定如果访问令牌没有受到损害并且所有流量都通过 SSL 应该没问题。

我很想听听某人的专家意见,而不是最大的 OAuth 人。

4

1 回答 1

1

如果访问令牌被泄露,现在拥有它的应用程序可能会滥用它。由于访问令牌是短暂的,并且仅映射到某些权限 - 损害将被限制为 10 分钟访问单个资源!(为注册范围的应用程序生成令牌,范围映射到权限。)

如果您正在开发第一方应用程序,为什么要将令牌存储在设备上?您可以考虑使用授权代码流而不是隐式授权流。这样,访问令牌始终在服务器上,而不是在本地设备上。

于 2013-05-11T06:57:39.610 回答