クライアント認証情報の取得

このページの内容は ApigeeApigee ハイブリッドに該当します。

Apigee Edge のドキュメントを表示する。

このトピックでは、OAuth 2.0 承認フローで使用するクライアント認証情報(デベロッパー キーとも呼ばれる)の取得について説明します。

クライアント認証情報とは

OAuth 2.0 承認フローに参加する場合は例外なく、すべてのクライアント アプリを Apigee(認可サーバー)に登録する必要があります。アプリを登録すると、鍵と Secret の 2 つの認証情報が割り当てられます。鍵は公開鍵であり、Secret は決して公開してはいけません。これらの認証キーを使用すると、Apigee はクライアント アプリを一意に識別できます。

Apigee UI からキーとシークレットを取得する

API キーとシークレットを表示するをご覧ください。

Apigee API を使用してキーとシークレットを取得する

API を使用して組織内のアプリのリストを取得します。

curl "https://apigee.googleapis.com/v1/organizations/$ORG/apps" \
  -H "Authorization: Bearer $TOKEN"

ここで、OAuth 2.0 アクセス トークンの取得の説明に従って、$TOKEN が OAuth 2.0 アクセス トークンに設定されます。この例で使用されている curl オプションの詳細については、curl の使用をご覧ください。使用される環境変数の説明については、Apigee API リクエストの環境変数の設定をご覧ください。

この呼び出しにより、app ID でアプリのリストが返されます。

[ "da496fae-2a04-4a5c-b2d0-709278a6f9db", "50e3e831-175b-4a05-8fb6-05a54701af6e" ]

アプリのプロファイルを取得するには:

curl "https://apigee.googleapis.com/v1/organizations/$ORG/apps/$APP" \
   -H "Authorization: Bearer $TOKEN"

ここで、OAuth 2.0 アクセス トークンの取得の説明に従って、$TOKEN が OAuth 2.0 アクセス トークンに設定されます。この例で使用されている curl オプションの詳細については、curl の使用をご覧ください。使用される環境変数の説明については、Apigee API リクエストの環境変数の設定をご覧ください。

例:

$ curl https://apigee.googleapis.com/v1/o/organizations/myorg/apps/da496fae-2a04-4a5c-b2d0-709278a6f9db \
  -H "Authorization: Bearer $TOKEN"

この 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"
}

consumerKeyconsumerSecret の値を書き留めます。