Prasyarat
Halaman ini mengasumsikan bahwa Anda telah:
Mengonfigurasi autentikasi
Untuk mengautentikasi dengan akun layanan:
Tambahkan kode berikut ke
@Apiatau anotasi metode:- Tambahkan parameter
authenticatorske anotasi Anda, yang ditetapkan ke nilai{EspAuthenticator.class}. - Tambahkan parameter
issuersyang berisi@ApiIssuer. - Tambahkan parameter
issuerAudiencesyang berisi@ApiIssuerAudienceyang 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
echodengan nama API Anda. - Ganti
v1dengan versi API Anda. - Ganti
YOUR_SERVICE_ACCOUNT_EMAILdengan email akun layanan Anda. - Ganti
YOUR_AUDIENCEdengan nilai di kolomaudyang 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
Useryang 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.