【发布时间】:2021-07-13 00:45:09
【问题描述】:
我的 iOS 应用包含多个使用 OAuth2 授权的 API 集成。我看到很多在线建议不要在设备上存储客户端 ID、机密或令牌。但是,我不清楚这有多少适用于 OAuth2。例如,clientId 是 Authorization 请求的查询参数。因此,任何用户都可以使用代理(例如 Charles)轻松拦截它,所以我看不到隐藏这个值的好处。我的理解是 ios 应用程序最重要的漏洞是另一个应用程序试图使用您的应用程序的自定义方案捕获重定向。但是如果我们使用Proof Key for Code Exchange (PKCE),恶意应用程序只能截获授权码,如果没有代码验证器,他们无法将其交换为令牌。那么,iOS 应用使用 OAuth2 的最佳实践是什么?
【问题讨论】:
标签: ios swift security encryption oauth-2.0