Mengautentikasi dengan akun layanan

Prasyarat

Halaman ini mengasumsikan bahwa Anda telah:

Mengonfigurasi autentikasi

Untuk mengautentikasi dengan akun layanan:

  1. Impor App Engine Endpoints API di class API Anda:

    import endpoints
    
  2. Tambahkan objek penerbit untuk akun layanan ke dekorator API. Contoh:

    @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']})
    
    • Ganti echo dengan nama API Anda.
    • Ganti v1 dengan versi API Anda.
    • Ganti YOUR_SERVICE_ACCOUNT_EMAIL dengan email akun layanan Anda.
    • Ganti YOUR_AUDIENCE dengan nilai di kolom aud yang dikirim oleh layanan panggilan.
  3. Di setiap metode API tempat Anda ingin memeriksa autentikasi yang tepat, periksa User yang valid dan tingkatkan error 401 jika tidak ada, seperti yang ditunjukkan dalam definisi metode contoh berikut:

    user = endpoints.get_current_user()
    # If there's no user defined, the request was unauthenticated, so we
    # raise 401 Unauthorized.
    
  4. Men-deploy API. Anda perlu men-deploy ulang API setiap kali menambahkan klien baru.