Pré-requisitos
Nesta página, presume-se que você já:
Como configurar a autenticação
Para autenticar com uma conta de serviço:
Adicione o seguinte à sua anotação de método ou
@Api:- Adicione um parâmetro
authenticatorsà anotação, definido para o valor{EspAuthenticator.class}. - Adicione um parâmetro
issuersque contém um@ApiIssuer. - Adicione um parâmetro
issuerAudiencesque contém um@ApiIssuerAudiencedefinido para o emissor da conta de serviço e seu segmento.
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 API. - Substitua
v1pela versão da API. - Substitua
YOUR_SERVICE_ACCOUNT_EMAILpelo e-mail da conta de serviço. - Substitua
YOUR_AUDIENCEpelo valor no campoaudenviado pelo serviço de chamada.
- 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 de API em que você quer verificar a autenticação adequada, confira se há
Userválido e lance uma exceção se não houver, como 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; }Implante a API e reimplante-a sempre que adicionar novos clientes.