NVIDIA 初创加速计划,免费加速您的创业启动 了解详情
写点什么

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

评论

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

《俞军产品方法论》

石云升

读书笔记 三周年连更

测试需求平台9-Table组件应用产品列表优化

MegaQi

测试平台开发 三周年连更

华为云全球加速GA,让企业获得更优质的服务体验

平平无奇爱好科技

一个神奇的小工具,让URL地址都变成了"ooooooooo"

南城FE

JavaScript 前端 url

ADB模拟按手机上的“菜单”键

IT蜗壳-Tango

三周年连更

Android补间动画

智趣匠

三周年连更 帧动画 补间动画

华为云弹性公网IP服务,实惠又便捷!

轶天下事

文心一言 VS chatgpt (12)-- 算法导论3.1 6~7题

福大大架构师每日一题

ChatGPT 文心一言

关于 SaaS 软件销售领域中的 Renewal 和 linearity

Jerry Wang

SaaS Cloud Studio 三周年连更

智能感知编码优化与落地实践

Baidu AICLOUD

视频编解码

TypeScript 函数 详解

程序员海军

Vue3 Typescript 三周年连更

Go Mutex:保护并发访问共享资源的利器

陈明勇

Go golang mutex 互斥锁 三周年连更

2023 年最全面的 DevOps 工具列表,你用过几个?

Java架构历程

DevOps 三周年连更

【Python实战】Python采集最低战力信息

BROKEN

三周年连更

小程序容器技术保障车载业务生态中的应用安全

FinFish

小程序容器 小程序技术 车载业务 车载生态 车载应用

最常用的从A到Z的Linux命令,真的很好记,三分钟刷完!

wljslmz

Linux 三周年连更

Python中的哈希表

Echo_Wish

Python 数据结构 哈希表

自动回收内存:Go语言的GC垃圾回收机制详解

Jack

云环境中的灾备规划与分析

穿过生命散发芬芳

灾备 三周年连更

Last Week in Milvus

Zilliz

Milvus Zilliz 向量数据库

华为云D-Plan解决方案助力汽车零部件质检智能化

轶天下事

为什么企业们更偏好使用华为云CDN?

YG科技

华为云CDN,助力企业数字化转型

YG科技

云计算

华为云CDN:让网络延时,成为过去时!

YG科技

Nautilus Chain :基于模块化架构的Layer3正在走向成熟

西柚子

华为弹性云服务器ECS,帮助企业节省成本上云成本

平平无奇爱好科技

云计算,

华为云WAF设置要塞,筑起企业网络安全万里长城

轶天下事

华为云CDN加速为中小企业数字化效力

YG科技

【Python实战】Python采集电影评论

BROKEN

三周年连更

2022-04-24:用go语言重写ffmpeg的muxing.c示例。

福大大架构师每日一题

Go 音视频 ffmpeg

Cookie与缓存的指导性规则

阿泽🧸

HTTP 三周年连更

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