写点什么

Apple 开放了 CloudKit 的 Server-to-Server 请求

  • 2016-03-09
  • 本文字数:941 字

    阅读完需:约 3 分钟

Apple 最近宣布 OSX 和 iOS 中提供访问 Apple 云平台的 Cloudkit 框架开放了 Server-to-Server 的 web 请求。这表明 Apple 解除了 CloudKit 公共数据库之前只能在 iOS 和 Mac app 到苹果的网站之间通信的限制。

CloudKit Server-to-Server 的请求在已有的功能上增加了新特性,开发者可以通过这个功能提供一个供用户直接访问他们 iCloud 数据的 web 界面。Server-to-Server 的请求旨在提供可以访问 iCloud 公共数据库的权限,也部分提供给开发者可以代替 Parse DBaaS 的另一个选择,因为 Parse DBaaS 平台最近宣布将要关闭服务。

为了从服务端进程或脚本读取 Cloudkit 公共数据库,开发者首先需要用 OpenSSL 生成一个秘钥对:

复制代码
openssl ecparam -name prime256v1 -genkey -noout -out eckey.pem

然后到 CloudKit dashboard ,找 API Access/Server-to-Server Keys 将公钥与一个 CloudKit 容器绑定。一旦公钥被存储,会分配一个 keyID,并且在 web 服务请求的子路径需要加上 keyID。Apple 提供了一些 JavaScript 代码示例演示如何使用新方法验证 Cloudkit。特别是开发者需要构造一个包含三个参数的字符串:

复制代码
[Current date]:[Request body]:[Web Service URL]

上面的字符串在 request 中会用到,正如 Apple 提供的示例代码一样:

复制代码
curl -X POST -H "content-type: text/plain" -H
"X-Apple-CloudKit-Request-KeyID: [keyID]” -H
"X-Apple-CloudKit-Request-ISO8601Date: [date]" -H
"X-Apple-CloudKit-Request-SignatureV1: [signature]" -d
'{"users":[{"emailAddress":"[user email]"}]}'
https://api.apple-cloudkit.com/database/1/[container
ID]/development/public/users/lookup/email

Stack Overflow 上的一些开发者提供了 JavaScript、PHP 和 Python 的示例代码。
Cloudkit 框架提供给开发者一些服务,包括认证,私有的和公共的数据库,结构化存储比如说基于 plist 的资源存储。

查看英文原文: Apple Open CloudKit to Server-to-Server Requests


感谢张龙对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们,并与我们的编辑和其他读者朋友交流(欢迎加入 InfoQ 读者交流群InfoQ 好读者(已满),InfoQ 读者交流群(#2)InfoQ 好读者)。

2016-03-09 18:001922

评论

发布
暂无评论
发现更多内容

百分点认知智能实验室李生教授:人工智能正在由感知走向认知

百分点认知智能实验室

【案例】星环科技助力郑州商品交易所搭建AI预测模型,提升智能决策水平

星环科技

平行世界有尽头:白洞的数字孪生之旅

白洞计划

微信朋友圈高性能架构复杂度分析

Hesher

微信 架构 高性能 微信朋友圈 架构实战营

业务架构训练营第 0 期模块二作业

菠萝吹雪—Code

架构实战营

百度、小红书三面,均遇“赛马”问题

执鸢者

面试 大前端

架构实战营 模块二 如何抓住架构设计的关键点

9527

在JavaScript中使用对象来优化if/else和switch

devpoint

JavaScript 对象 Switch

架构训练营模块二作业

Geek_e0c25c

架构训练营

架构实战营-模块2作业

夏日

架构训练营

聪明人的训练(十八)

Changing Lin

4月日更

我是如何从零开始学Python:(2)如何解决安装和检查Python版本遇到的问题?

广之巅

Python 4月日更

带团队:只有人的行为才能影响行为

石云升

团队建设 28天写作 职场经验 管理经验 4月日更

微信朋友圈架构设计

俞嘉彬

#架构实战营

架构实战营 模块二作业

netspecial

架构实战营

微服务网关:Nacos源码实践(二)

程序员架构进阶

源码分析 nacos 服务治理 28天写作 4月日更

Linux tail 命令

一个大红包

4月日更

Sqlserver2008参数化踩的坑

风翱

SqlServer 4月日更

架构师实战营 模块二作业 微信朋友圈高性能架构分析

好吃不贵

数字货币——来看党媒怎么说

CECBC

架构训练营模块 2 作业 - 江哲

江哲

架构训练营 模块二作业

薛定谔的指南针

架构实战营

数字经济需发展隐私计算下的数据共享

CECBC

数字经济

架构实战营 模块二作业

ercjul

架构实战营

朋友圈高性能分析

^_^vincent

【架构实战营】第 2模块作业

swordman

架构实战营

模块二作业:微信朋友圈高性能复杂度分析

@oo?金樱子

架构实战营 模块二 课后作业

Lingjun

架构训练营

激发Linux+K8S小宇宙!SUSECON硬核上线

Rancher

国内首个全院级医疗区块链基础设施成功部署应用

CECBC

区块链

平行世界有尽头:白洞的数字孪生之旅

脑极体

Apple开放了CloudKit的Server-to-Server请求_移动_Sergio De Simone_InfoQ精选文章