由于 OAuth 2.0 隐式授权流程公开了其机制,例如使用 JavaScript,因此在客户端应用程序中向资源所有者公开了客户端 ID 和访问令牌。我还没有找到一个明确的答案,可以做些什么来防止利用曝光。
有哪些措施可以防止以下情况出现问题?如果很明显我没有正确理解流程,请指出。
设想
客户端 A - 已从授权服务器获得其自己的唯一客户端 ID 的合法客户端。
客户端 B - 授权服务器不知道的客户端,复制客户端 A 的客户端 ID,吸引无辜的资源所有者并使用他们的访问令牌来访问他们的私人信息。
这些是我能想到的一些解决问题的方法。
- 创建 IP 白名单并映射到每个已知客户端。在授权和调用资源服务器时检查授权服务器。
- 在资源服务器的端点上设置限制以检测异常活动。