メインコンテンツへスキップ
Google Cloud Endpoints (GCE) は API 管理システムで、API の作成、保守、保護に役立つ機能を提供します。GCE は OpenAPI を使用して、API のエンドポイント、入力と出力、エラー、セキュリティに関する説明を定義します。 OpenAPI 仕様の詳細については、GitHub 上の OpenAPI Specification リポジトリを参照してください。 このチュートリアルでは、Auth0 を使用して Google Cloud Endpoints を保護する方法について説明します。

前提条件

開始する前に、デプロイ済みの GCE API が必要です。まだ API を作成していない場合は、Google ドキュメントの Cloud Endpoints クイックスタート を完了してください。 この quickstart では、/airportName という単一のエンドポイントを持つシンプルな GCE API を作成します。このエンドポイントは、空港の 3 文字の IATA code から空港の名前を返します。

Auth0 で API を定義する

Auth0 Dashboard > Applications > APIs に移動し、新しい API を作成します。
Dashboard - API の作成 - 統合 - Google Endpoints
次の手順で使用するため、**API の**識別子 (上のスクリーンショットでは http://google_api) を控えておきます。

API Configuration を更新する

次に、GCE API の OpenAPI 設定ファイルを更新します。quickstart で作成したサンプル API では、このファイルは openapi.yaml になります。

セキュリティ定義を追加する

設定ファイルを開き、新しい securityDefinitions セクションを追加します。このセクションに、次のフィールドを含む新しい定義 (auth0_jwt) を追加します。

エンドポイントを更新する

次に、前の手順で作成した securityDefinition を指定した security フィールドを追加して、エンドポイントを更新します。
上記の例では、security フィールドにより、/airportName パスが auth0-jwt 定義で保護されることを GCE プロキシに伝えています。 OpenAPI の設定を更新すると、次のようになります。

API を再デプロイする

次に、設定変更を反映するため、GCE API を再デプロイします。Cloud Endpoints クイックスタート の手順に沿って進めている場合は、Google の Cloud Shell で次のコマンドを入力して再デプロイできます。

API をテストする

再デプロイしたら、セキュリティなしで API を再度呼び出します。 次のレスポンスが返されます。
これがまさに期待どおりの結果です! 次に、Auth0 Dashboard で Google Endpoints API 定義の Test ページに移動し、Response の下にある をコピーします。 認可された状態でアクセスするには、Bearer {ACCESS_TOKEN} を指定した Authorization ヘッダーを付けて、API に GET リクエストを送信します。 これで完了です。