このトピックでは、すぐに使えるよう用意されているデベロッパー アプリとプロダクトを使用して開発とテストを行うために、クライアント認証情報(別名、デベロッパー キー)を取得する方法を説明します。本番環境でも手順は同様ですが、使用するデベロッパー アプリ、プロダクト、その他のエンティティはお客様独自のものとなります。
クライアント認証情報の概要
OAuth 2.0 フローに参加する場合は例外なく、すべてのクライアント アプリを Apigee Edge(認可サーバー)に登録する必要があります。アプリを登録すると、コンシューマ IDとコンシューマ シークレットの 2 つのキーが割り当てられます。コンシューマ ID は公開鍵に相当します。一方、コンシューマ シークレットは決して公開してはなりません。Apigee Edge はこれらのキーをクライアント認証情報として使用して、各クライアント アプリを一意に識別します。
クイック手順
このクイック手順では、Apigee Edge 組織の作成時に構成される既製のアプリのうちの 1 つから、デベロッパー キーを取得する方法を説明します。取得したキーは、主に開発とテストに使用できます。
- 下記の手順に従って [Developer Apps] ページにアクセスします。
Edge
Edge UI を使用して [Developer Apps] ページにアクセスするには:
- apigee.com/edge にログインします。
- 左側のナビゲーション バーで [Publish] > [Apps] を選択します。
- [+Proxy] をクリックします。
Classic Edge(Private Cloud)
Classic Edge UI を使用して [Developer Apps] ページにアクセスするには:
http://ms-ip:9000
にログインします。ここで、ms-ip は、Management Server ノードの IP アドレスまたは DNS 名です。- 上部のナビゲーション バーで [Publish] > [Developer Apps] を選択します。
- [Weather App] をクリックして Weather App の概要ページを開きます。このアプリに関連付けられているデベロッパーは Nicolai Tesla です。このアプリとデベロッパーは、組織の作成時にデフォルトでプロビジョニングされています。すべてのデベロッパー アプリにはデベロッパーが関連付けられている必要があります。
- [Products] セクションで、Premium Weather API プロダクトの横にある [Show] をクリックして、コンシューマ ID とコンシューマ シークレットの値を表示します。
- この 2 つの値をコピーして保存します。後でアクセス トークンを取得するために API 呼び出しを行う際に、これらの値が必要になります。
Edge API を使用してクライアント認証情報を取得する
管理 API を呼び出して、アプリのコンシューマ キーとコンシューマ シークレットを取得することもできます。それにはまず、次の API 呼び出しを行って、組織内のアプリのリストを取得します。
$ curl https://api.enterprise.apigee.com/v1/o/{org_name}/apps \ -u email:password
この呼び出しは、アプリ ID 別のアプリのリストを返します。
[ "da496fae-2a04-4a5c-b2d0-709278a6f9db", "50e3e831-175b-4a05-8fb6-05a54701af6e" ]
特定のアプリのプロファイルを取得するには、そのアプリのアプリ ID に対する単純な GET 呼び出しを行います。
$ curl https://api.enterprise.apigee.com/v1/o/{org_name}/apps/{app_id} \ -u email:password
例:
$ curl https://api.enterprise.apigee.com/v1/o/{org_name}/apps/da496fae-2a04-4a5c-b2d0-709278a6f9db \ -u email:password
この API 呼び出しにより、指定したアプリのプロファイルが返されます。たとえば、weatherapp のアプリ プロファイルには次の JSON 表現があります。
{ "accessType" : "read", "apiProducts" : [ ], "appFamily" : "default", "appId" : "da496fae-2a04-4a5c-b2d0-70928a6f9db", "attributes" : [ ], "callbackUrl" : "http://weatherapp.com", "createdAt" : 1380290158713, "createdBy" : "noreply_admin@apigee.com", "credentials" : [ { "apiProducts" : [ { "apiproduct" : "PremiumWeatherAPI", "status" : "approved" } ], "attributes" : [ ], "consumerKey" : "bBGAQrXgivA9lKu7NMPyYpVKNhGar6K", "consumerSecret" : "hAr4Gn0gA9vyvI4", "expiresAt" : -1, "issuedAt" : 1380290161417, "scopes" : [ ], "status" : "approved" } ], "developerId" : "5w95xGkpnjzDBT4", "lastModifiedAt" : 1380290158713, "lastModifiedBy" : "noreply_admin@apigee.com", "name" : "weatherapp", "scopes" : [ ], "status" : "approved" }
consumerKey
と consumerSecret
の値を書き留めます。
さらに詳しく
アプリの登録と鍵管理について詳しくは、アプリケーションの登録と API キーの管理をご覧ください。