Appleの最近の発表によると、Appleのクラウドプラットフォームへのアクセスを提供するOS XとiOSフレームワーク、CloudKitがサーバ間リクエストに対応した。これにより、iOSとMacアプリからAppleのウェブサイトを通してのみ、CloudKitパブリックデータベースにアクセスできるという以前の制限を取り除いた。
CloudKitサーバ間リクエストは、以前からある機能に追加され、開発者はウェブインタフェースを提供できるようになるため、ユーザはiCloudデータにアクセスできるようになる。サーバ間リクエストは、iCloudパブリックデータベースにアクセスできるようにするもので、最近、停止することが発表されたParse DBaaSに代わるものを部分的に提供する。
サーバサイドプロセスやスクリプトからパブリックCloudKitデータベースを読み書きするために、開発者は、OpenSSLを使って、最初にキーペアを生成する必要がある。
openssl ecparam -name prime256v1 -genkey -noout -out eckey.pem
それから、CloudKitダッシュボードへ行き、CloudKitコンテナでパブリックキーをAPI Access/Server-to-Server Keyに関連付ける。パブリックキーが保存されれば、keyID
が生成され、ウェブサービスリクエストのサブパスに含まれるようになる。Appleは、開発者がCloudKitで認証する新しいメソッドの使い方を示す、JavaScriptのサンプルコードを提供する。具体的に言うと、開発者は、3つのパラメータを連結した文字列を作り上げる。
[Current date]:[Request body]:[Web Service URL]
リクエストの中で使われるものとして、Appleが提供するcurlの例を示そう。
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ベースの資源ストレージを含む、複数のサービスを開発者に提供する。
Rate this Article
- Editor Review
- Chief Editor Action