【ArchSummit架构师峰会】探讨数据与人工智能相互驱动的关系>>> 了解详情
写点什么

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

评论

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

用了8年MQ!聊聊消息队列的技术选型,哪个最香!

小小怪下士

Java RocketMQ RabbitMQ 消息队列

vue实战-完全掌握Vue自定义指令

yyds2026

Vue

解读数仓常用模糊查询的优化方法

华为云开发者联盟

数据库 后端 华为云

Apache Pulsar 社区年度峰会 Pulsar Summit Asia 2022 即将召开

腾源会

大数据 开源

Linux系统中CPU占用率较高问题排查思路与解决方法

A-刘晨阳

Linux 运维 cpu 11月月更

一汽集团数字化转型细节分析:明确如何转型事半功倍

雨果

数字化转型

传统 Web 框架部署与迁移

阿里巴巴云原生

阿里云 Serverless 云原生

企业级 Angular 应用路由路径自定义配置和开发的案例分享

Jerry Wang

typescript 前端开发 angular Web应用 11月月更

引迈信息低代码怎么样?靠谱吗?

优秀

低代码 低代码平台

vue实战-深入响应式数据原理

yyds2026

Vue

浅谈HTTP缓存与CDN缓存的那点事

京东科技开发者

缓存 性能 Web CDN HTTP缓存

HarmonyOS 3.1版本发布,全面进入声明式开发

HarmonyOS开发者

HarmonyOS

数据中台选型必读(五):中台建设本质就是构建企业的公共数据层

雨果

数据中台

关于软件物料清单(SBOM),你所需要了解的一切

SEAL安全

安全 软件物料清单 SBOM

数据结构学习笔记(二)

lxmoe

数据结构 学习笔记 11月月更

【docker】导入镜像报错磁盘空间不足的解决方法 && 【docker】修改默认的存储路径

A-刘晨阳

Docker Linux 运维 11月月更

技术分享| Etcd如何实现分布式负载均衡及分布式通知与协调

anyRTC开发者

分布式 etcd 通知 式负载均衡 协调

质量评估模型助力风险决策水平提升

百度Geek说

机器学习 企业号十月 PK 榜 智能测试 质量评估模型

数据结构学习笔记(一)

lxmoe

数据结构 学习笔记 11月月更

Wallys/IPQ4018/IPQ4028 2x2 2.4Ghz 2x2 5Ghz Industrial WIFI5 router/Support 11ABGN/AC

Cindy-wallys

IPQ4018 IPQ4028 2.4G&5G

ElasticSearch深度分页详解

京东科技开发者

数据库 elasticsearch 分布式搜索引擎 分布式实时搜索引擎

Linux系统保存文件命令的详细介绍

源字节1号

软件开发 前端开发 后端开发 小程序开发

python中类与对象的动态性,混入机制

乔乔

11月月更

如何使用ModelBox快速提升AI应用性能

华为云开发者联盟

人工智能 华为云 ModelBox

字节跳动基于ClickHouse优化实践之“资源隔离”

字节跳动数据平台

大数据 Clickhouse

会用postman不算牛,会用Eolink才是真的牛

陈橘又青

API

Apache EventMesh事件驱动分布式运行时

EventMesh布道师

Serverless Faas EDA workflow eventmesh

vue实战中的一些小技巧

yyds2026

Vue

阿里 CTO 程立:今年双 11,全面深度用云

云布道师

云计算 阿里巴巴 天猫

可防离职员工冒用身份,合合信息名片全能王与钉钉用数字名片打造安全“围栏”

合合技术团队

人工智能 大数据 钉钉 合合信息 名片

zabbix添加自定义监控项&告警(邮件)

A-刘晨阳

Linux 运维 zabbix 11月月更

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