QCon 演讲火热征集中,快来分享技术实践与洞见! 了解详情
写点什么

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:001797

评论

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

聊聊技术人如何与甲方客户打交道

MavenTalker

程序员 程序人生 职业规划

技术人员能力养成手记

MavenTalker

个人成长 程序人生 职业规划

我入驻InfoQ平台啦

BlueblueWings

Flink State 最佳实践

Apache Flink

大数据 flink AI 流计算 实时计算

原创 | DDD与分层

编程道与术

Java 类

michaelliu

Java

转任管理岗位后,还要不要从事编码工作?

MavenTalker

团队管理 程序员 个人成长 职业规划

在InfoQ开启写作之旅

张先亮-Hank

人工智能 随笔

LeetCode 120. Triangle

隔壁小王

算法 LeetCode

最佳实践 | Flink Forward 全球会议抢先看!

Apache Flink

大数据 flink AI 流计算 实时计算

你的文章中为什么会有加粗的文字

小天同学

思考 写作 感悟

什么是全光架构?光纤KVM和分布式IP KVM系统知多少?

DT极客

经验可能反而阻碍你的新认知

孙苏勇

思考 读书

Flink SQL 的 9 个示例

Apache Flink

大数据 flink 流计算 实时计算

18个PPT,29个提问解答,都在这儿啦!

Apache Flink

大数据 flink 流计算 实时计算

工厂模式

Wen Wei

设计模式

初文,大浪淘沙

傅丞 Tony

Flink 消息聚合处理方案

Apache Flink

大数据 flink 流计算 实时计算

PyFlink 社区扶持计划正式上线!

Apache Flink

大数据 flink 流计算 实时计算

祝贺!两位 Apache Flink PMC 喜提 Apache Member

Apache Flink

大数据 flink 流计算 实时计算

Iceberg 在基于 Flink 的流式数据入库场景中的应用

Apache Flink

大数据 flink 流计算 实时计算

Java 代码的组织机制

michaelliu

Java

Java 类构造函数的调用顺序

michaelliu

Java

屏幕适配插件:ScreenMatch基本使用和注意事项

Arch

关于PHP内存溢出的思考

L

php

vue项目中遇到的依赖及其他问题

靖仙

Vue 大前端 Web

哈希,茫茫人海,我一眼看到了你

dongge

docker搭建lamp

刘磐石(刘坤鹏)

原创 | OOAD范例:配置类设计

编程道与术

作为程序员,有哪些写作平台值得推荐 ?B站也算吧

邓瑞恒Ryan

学习 创业 写作 知识管理 自我提升

Flink 的经典场景和业务故事有哪些?看看他们就知道了

Apache Flink

大数据 flink 流计算 实时计算

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