一个新的iOS应用程序应该能够连接到Web服务以跨设备同步数据。
我喜欢日记应用程序第一天解决此问题的方式:
问题1:如何访问Apple ID?
据我所知,该应用无法真正访问Apple-ID 。还是有一些未记录的方法来做到这一点? 这怎么可能?
我怀疑该应用程序反而可能会使用iCloud存储一些令牌? iCloud存储链接到Apple-ID,因此在新设备上安装时,可以从iCloud恢复令牌并使用它重新连接。
还是还有其他/更好的方法?
问题2:如何处理身份验证?
让我们搁置问题1,并假设我们已经解决了创建一些跨设备用户名的问题。 如何处理身份验证?
乍看之下2b似乎是最安全的解决方案,但事实确实如此吗?同步数据未加密,但“仅”信任HTTPS连接。 使用其他方法传输密码是否会增加安全性?
另外,它是否增加了额外的安全性以完全使用“密码” ?这不是用户为其用户选择的用户名选择的密码,而是用于自动生成的用户名/令牌的自动生成的密码。
仅使用生成的用户名令牌会有所不同吗?只有有权访问令牌/ Apple ID / iCloud帐户等的人才能访问Web服务。
那么,哪种解决方案是最好的?我是否缺少某些东西,并且有更好的解决方案?
答案 0 :(得分:0)
从iOS 12开始,苹果显然为开发人员提供了一个SDK,供开发人员访问用户Apple ID。开发人员可以使用AuthenticationService
SDK来实现此目的。请在the documentation阅读更多内容。我敢肯定,第一天的应用程序就是您所描述的方式。