【问题标题】:iCloud: Bind the ID I assign to user in my app to user's Apple IDiCloud:将我在我的应用程序中分配给用户的 ID 绑定到用户的 Apple ID
【发布时间】:2012-01-27 16:50:48
【问题描述】:

您好,很抱歉我的问题标题令人困惑。

我的应用程序会为在其 iDevice 上安装它的每个用户分配一个数字 ID,这样他就可以使用它(这是一个社交照片共享应用程序),而无需输入个人数据或其他烦人的细节。每张照片都上传到网络服务器并绑定到内部用户ID,无需输入任何密码即可检索。问题是当用户卸载并重新安装应用程序,或者他想在共享相同 Apple ID 的两个不同 iDevice(例如 iPhone 和 iPad)上使用它时。

这似乎是 iCloud 的工作。我对自己的要求是,就我而言,我只需要使用我的应用程序生成的用户 ID 在 iCloud 上存储一个键->值。通过 Apple ID 识别用户是一种安全的方法,还是容易被盗用?

提前谢谢你!

【问题讨论】:

  • 你描述的整个架构是不安全和易受攻击的......不仅是身份盗用......
  • 嗨 Yahia,感谢您的评论。您能否更详细地描述您提到的漏洞?

标签: objective-c icloud


【解决方案1】:

我希望 iCloud 密钥值存储相当安全,尽管可能不如在设备上使用钥匙串安全。事实上,您可能想要使用钥匙串,因为它比 iCloud 键值存储更持久。

如果用户有一台设备,然后运行您的应用程序,该应用程序在 iCloud 中存储了一个 ID,然后删除了您的应用程序,您的应用程序的 iCloud 键值存储也将被删除。因此,如果他们重新安装该应用程序,您将找不到之前存储在 iCloud 中的 ID。但是,钥匙串更持久,因此可能是存储用户 ID 的更好位置。 (我知道这并不能帮助您在用户的不同设备上同步帐户,因此您可能需要结合使用钥匙串、iCloud 和服务器来完成此操作)。

storing a unique ID in the keychain 上查看这篇简短的帖子。它讨论了钥匙串如何无法在不是从备份恢复的情况下完全重新安装。

【讨论】:

  • 非常感谢您的帮助,非常有用!
猜你喜欢
  • 2013-06-21
  • 2015-02-05
  • 2014-08-18
  • 1970-01-01
  • 2021-03-16
  • 2016-01-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多