Prasyarat
Halaman ini mengasumsikan bahwa Anda telah:
Mengonfigurasi autentikasi
Untuk mengautentikasi dengan akun layanan:
Tambahkan kode berikut ke
@Api
atau anotasi metode:- Tambahkan parameter
authenticators
ke anotasi Anda, yang ditetapkan ke nilai{EspAuthenticator.class}
. - Tambahkan parameter
issuers
yang berisi@ApiIssuer
. - Tambahkan parameter
issuerAudiences
yang berisi@ApiIssuerAudience
yang ditetapkan ke penerbit akun layanan dan audiens Anda.
Contoh:
@Api( name = "echo", version = "v1", authenticators = {EspAuthenticator.class}, issuers = { @ApiIssuer( name = "serviceAccount", issuer = "YOUR_SERVICE_ACCOUNT_EMAIL", jwksUri = "https://www.googleapis.com/robot/v1/metadata/x509/YOUR_SERVICE_ACCOUNT_EMAIL") }, issuerAudiences = { @ApiIssuerAudience(name = "serviceAccount", audiences = "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 kolomaud
yang dikirim oleh layanan panggilan.
- Tambahkan parameter
Dalam kode penerapan API, impor
Users
:import com.google.api.server.spi.auth.common.User;
Di setiap metode API tempat Anda ingin memeriksa autentikasi yang tepat, periksa
User
yang valid dan tampilkan pengecualian jika tidak ada, seperti yang ditunjukkan dalam contoh definisi metode ini:@ApiMethod(httpMethod = ApiMethod.HttpMethod.GET) public Email getUserEmail(User user) throws UnauthorizedException { if (user == null) { throw new UnauthorizedException("Invalid credentials"); } Email response = new Email(); response.setEmail(user.getEmail()); return response; }
Men-deploy API. Anda perlu men-deploy ulang API setiap kali menambahkan klien baru.