Melakukan autentikasi 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 tampilkan error 401 jika tidak ada, seperti yang ditunjukkan dalam contoh definisi metode ini:

    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.