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

前提条件

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

Auth0 で API を定義する

Auth0 Dashboard > アプリケーション > APIs を開き、新しい API を作成します。
Dashboard - API の作成 - 連携 -Google Endpoints
次の手順で使用するため、API 識別子 (上のスクリーンショットでは http://google_api) を控えておいてください。

API の設定を更新する

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

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

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

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

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

API を再デプロイする

次に、設定の変更を反映するために GCE API を再デプロイします。Cloud Endpoints Quickstart に沿って進めている場合は、Google’s Cloud Shell で次のコマンドを入力すると再デプロイできます。

API をテストする

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