使用服務帳戶進行驗證

必要條件

本頁假設您已具備以下條件:

設定驗證

以服務帳戶進行驗證:

  1. 將 App Engine Endpoints API 匯入至您的 API 類別:

    import endpoints
    
  2. 為服務帳戶新增發行者物件至 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 欄位值。
  3. 在要檢查驗證是否正確的每種 API 方法中,檢查是否存在有效的 User;如果沒有,請發出錯誤 401。具體做法如以下的範例方法定義所示:

    user = endpoints.get_current_user()
    # If there's no user defined, the request was unauthenticated, so we
    # raise 401 Unauthorized.
    
  4. 部署 API。當您新增新用戶端時,需要重新部署 API。