前提条件
すでに以下を行っていることを前提としています。
認証を構成する
サービス アカウントによる認証は次のように設定します。
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 を再デプロイする必要があります。