我们是否可以为Cloudkit JS创建API令牌,以在不进行身份验证的情况下访问共享数据

时间:2018-09-06 19:25:11

标签: ios cloudkit cloudkit-js

我创建了一个iCloud用户webuser@somedomain.com,然后与该用户共享了特定记录。

我想做的是让一个网站使用该用户访问该用户只能访问的共享记录,而无需让他通过iCloud与Apple进行身份验证。原因是我想控制网站可以做什么以及可以访问什么而无需要求用户登录/注册Apple iCloud,并且我不希望访问该网站的每个用户都必须登录到Apple ID 。我虽然使用Web服务使用cloudkit js可能做到这一点,但是服务器到服务器的密钥似乎只能访问公共数据库。

我不太精通JS,并且试图让Web开发人员访问我的记录。

该主题似乎不太受欢迎,并且那里没有太多信息。请不要只是说“没有可能”。给我一点信息。

1 个答案:

答案 0 :(得分:0)

您是正确的,通过服务器对服务器密钥或JS API令牌获取CloudKit数据只能使您访问 public 数据库。 需要用户身份验证才能在私有或共享数据库中获取任何内容。

这很明智,因为如果没有CloudKit用户作为参考,您的应用程序将不知道要查询哪个私有数据库。如果匿名用户(即使是您的应用程序)可以查询私人用户数据,也将不太安全。

作为一种解决方法,您可以让iOS / macOS应用将您希望在网络上获得的用户数据的某些部分推送到公共数据库中。您可以在公共数据库中创建诸如Web之类的记录类型,并为所需的所有数据创建字段。共享的数据将可用,但是任何人都可以使用。用户仍然必须在您的Web应用程序中标识自己才能获取某些数据(如果您在userId记录类型中有一个Web字段,则可以完成此操作)。

希望这是有道理的。如果您有后续问题,请告诉我。