Pré-requisitos
Esta página pressupõe que já:
A configurar a autenticação
Para autenticar com uma conta de serviço:
- Adicione o seguinte à anotação de - @Apiou método:- Adicione um parâmetro authenticatorsà anotação, definido com o valor{EspAuthenticator.class}.
- Adicione um parâmetro issuersque contenha um@ApiIssuer.
- Adicione um parâmetro issuerAudiencesque contenha um@ApiIssuerAudiencedefinido para o emissor da conta de serviço e o seu público-alvo.
 - Por exemplo: - @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") })- Substitua echopelo nome da sua API.
- Substitua v1pela versão da API.
- Substitua YOUR_SERVICE_ACCOUNT_EMAILpelo email da sua conta de serviço.
- Substitua YOUR_AUDIENCEpelo valor no campoaudenviado pelo serviço de chamadas.
 
- Adicione um parâmetro 
- No código de implementação da API, importe - Users:- import com.google.api.server.spi.auth.common.User;
- Em cada método da API onde quer verificar a autenticação adequada, verifique se existe um - Userválido e lance uma exceção se não existir, conforme mostrado nesta definição de método de exemplo:- @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; }
- Implemente a API. Tem de voltar a implementar a API sempre que adicionar novos clientes.