【问题标题】:iOS best practice for OAuth2 Authorization [closed]OAuth2授权的iOS最佳实践[关闭]
【发布时间】: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


    【解决方案1】:

    OAuth for Native Apps 推荐 AppAuth 模式,其中有几个关键特征:

    • 应用程序使用系统浏览器的一种形式(ASWebAuthenticationSession 窗口),因此应用程序永远无法访问用户的凭据

    • 如您所指,使用了授权代码流 (PKCE)。您可以通过使用 https:// 回调 URL 而不是自定义方案来进一步加强这一点,尽管这有点困难。

    比较的东西

    以下是我的一些链接,其中包含更多详细信息和您可以运行的示例,它们可能会为您提供一些解决方案的想法:

    【讨论】:

      猜你喜欢
      • 2011-08-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-09-26
      • 1970-01-01
      • 2021-05-26
      • 2013-10-02
      • 2010-10-06
      相关资源
      最近更新 更多