【发布时间】:2013-10-03 02:29:17
【问题描述】:
来自 OAuth 草案,隐式 section:
在隐式授权流程期间发布访问令牌时, 授权服务器不对客户端进行身份验证。
现在,让我们假设:
- 我有一个 Android 或 iOS 应用程序。
- 我使用 OAuth 隐式授权来获取对某些资源的访问令牌。这将通过网络视图进行。
- 用户授权我的应用程序访问某些资源。这意味着:
- 他在拥有该资源的原始服务中进行了身份验证。
- Web 视图将在那里对他进行会话。
- 有一个恶意的 Android 或 iOS 应用程序试图使用我在应用程序中使用的相同
client_id(client impersonating) 获取访问令牌。他也有同样的redirect_uri,在原生应用中可以是fb://blabla。 - 据我了解,这个恶意应用程序也可以使用 Web 视图获取原本属于我的
client_id的访问令牌。发生这种情况是因为用户甚至不会意识到他正在使用的client_id,这是我的,由于 3.1 和 3.2。 - 他可以用它做有害的事情,除了我的客户由于过度使用而不得不受到的速率限制(在 FB 和 Twitter 等几个提供商中)。
有什么办法可以防止这种情况发生吗?
【问题讨论】:
标签: android ios facebook security oauth