我创建了一个iCloud用户[email protected]然后我与该用户共享了特定记录。
我想要做的是让一个网站使用该用户只访问它可以访问的共享记录,但没有让他通过iCloud与Apple进行身份验证。原因是我想控制网站可以做什么以及它可以访问什么而不要求用户登录/注册Apple iCloud并且我不希望每个访问该网站的用户都必须登录到Apple ID 。我虽然这可能是使用webkit服务的cloudkit js,但似乎服务器到服务器密钥只能访问公共数据库。
我不太流利的JS,我试图让网络开发人员访问我的记录。
该主题似乎不是很受欢迎,并且没有太多信息存在。请不要只说“不,这是不可能的”。给我一些信息。
您是正确的,通过服务器到服务器密钥或JS API令牌获取CloudKit数据只能让您访问公共数据库。获取私有或共享数据库中的任何内容都需要用户身份验证。
这是明智的,因为如果没有CloudKit用户作为参考,您的应用程序将不知道要查询的私有数据库。如果匿名用户(即使是您的应用程序)可以查询私人用户数据,那么安全性也会降低。
作为一种解决方法,您可以让iOS / macOS应用程序将您希望在Web上提供的用户数据的某些部分推送到您的公共数据库中。您可以在公共数据库中创建类似Web
的记录类型,并为您需要的所有数据创建字段。然后可以使用这些共享数据,但任何人都可以使用所有内容。用户仍然必须在您的Web应用程序中识别自己以获取某些数据(如果您在userId
记录类型中有Web
字段,则可以执行此操作)。
希望这是有道理的。如果您有后续问题,请告诉我。