5

iOS 上的 Sunrise 日历在版本 2 中增加了对 iCloud 日历的支持。从这个页面,Sunrise 的团队这样说:

当您输入您的 iCloud 凭证时,它们只会通过 SSL 以安全的方式发送到我们的服务器一次。[...] 我们使用它们从 Apple 生成安全令牌。这个安全令牌是我们存储在服务器上的唯一东西,我们从不存储您的实际 iCloud 凭据。

最近:

从我们的 2.11 版本开始,我们不会将 iCloud 凭据发送到我们的服务器,应用程序会在客户端生成安全令牌。

所有这一切都意味着,由 Apple 生成/为 Apple 生成的令牌可用于代表用户从 Apple 的服务器访问用户的 iCloud 日历。这里和那里有一些参考资料,讨论了一个(用户)可以找到用于日历客户端的 CalDAV URL 的方式,或者如何通过 iCloud Web 应用程序将她的日历内容下载为 .ics 文件

Sunrise 团队描述的方法似乎不适合这些方法中的任何一种。所以我想知道一家初创公司如何公开(显然是在苹果的支持下)访问苹果的服务器。

4

1 回答 1

5

他们将执行身份验证的代码部分移至客户端。因此,如果您知道如何在服务器上使用 iCloud 进行身份验证,那么您就知道如何在客户端上进行验证。在客户端上,发出授权请求,如果成功,则将授权令牌发送到服务器。此令牌在一定时间内(或无限期)有效。服务器在向 Apple 发送请求时使用该令牌。

如果我没记错的话,Apple 将Kerberos用于 iCloud。因此,在身份验证之后,服务器会创建一个票证,然后任何客户端都可以将其用于请求。票是发送到服务器的。

于 2014-02-02T01:35:08.740 回答