Vorbereitung
Folgende Voraussetzungen sollten erfüllt sein:
Authentifizierung konfigurieren
So authentifizieren Sie sich mit einem Dienstkonto:
- Fügen Sie Folgendes in Ihre - @Api- oder Methoden-Annotation ein:- Fügen Sie der Annotation einen authenticators-Parameter an, der auf den Wert{EspAuthenticator.class}festgelegt ist.
- Ergänzen Sie einen issuers-Parameter, der ein@ApiIssuerenthält.
- Fügen Sie einen issuerAudiences-Parameter an, der ein auf den Dienstkontoaussteller und Ihre Zielgruppe festgelegtes@ApiIssuerAudienceenthält.
 - Beispiel: - @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") })- Ersetzen Sie echodurch den Namen der API.
- Ersetzen Sie v1durch die API-Version.
- Ersetzen Sie YOUR_SERVICE_ACCOUNT_EMAILdurch die E-Mail-Adresse Ihres Dienstkontos.
- Ersetzen Sie YOUR_AUDIENCEdurch den vom aufrufenden Dienst gesendeten Wert im Feldaud.
 
- Fügen Sie der Annotation einen 
- Importieren Sie - Usersin den API-Implementierungscode:- import com.google.api.server.spi.auth.common.User;
- Prüfen Sie in jeder API-Methode, mit der Sie eine ordnungsgemäße Authentifizierung gewährleisten möchten, ob ein gültiger - Uservorhanden ist. Wenn dies nicht der Fall ist, geben Sie, wie in der folgenden Methodendefinition beispielhaft gezeigt, eine Ausnahme zurück:- @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; }
- Stellen Sie die API bereit. Die API muss bei jedem neu hinzugefügten Client neu bereitgestellt werden.