前提条件
すでに以下を行っていることを前提としています。
認証を構成する
サービス アカウントによる認証は次のように設定します。
API クラスに App Engine Endpoints API をインポートします。
import endpointsサービス アカウントの issuer オブジェクトを API デコレータに追加します。例:
@endpoints.api( name='echo', version='v1', issuers={'serviceAccount': endpoints.Issuer( 'YOUR_SERVICE_ACCOUNT_EMAIL', 'https://www.googleapis.com/robot/v1/metadata/x509/YOUR_SERVICE_ACCOUNT_EMAIL')}, audiences={'serviceAccount': ['YOUR_AUDIENCE']})echoは、API の名前に置き換えます。v1は、API のバージョンに置き換えます。YOUR_SERVICE_ACCOUNT_EMAILは、サービス アカウントのメールアドレスに置き換えます。YOUR_AUDIENCEは、呼び出し側のサービスが送信するaudフィールドの値に置き換えます。
次のメソッド定義例のように、認証情報が正しいかどうかを確認する各 API メソッドで、有効な
Userが存在するかどうかを確認して、存在しない場合は401エラーを発生させます。user = endpoints.get_current_user() # If there's no user defined, the request was unauthenticated, so we # raise 401 Unauthorized.API をデプロイします。新しいクライアントを追加するたびに API を再デプロイする必要があります。