Escolher um método de autenticação

O Cloud Endpoints suporta vários métodos de autenticação adequados a diferentes aplicações e exemplos de utilização. O proxy de serviço extensível (ESP) usa o método de autenticação que especifica na configuração do serviço para validar os pedidos recebidos antes de os transmitir ao back-end da API. Este documento oferece uma vista geral e exemplos de utilização para cada método de autenticação suportado.

Chaves da API

Uma chave de API é uma string encriptada que identifica um Google Cloud projeto para fins de quota, faturação e monitorização. Um programador gera uma chave da API num projeto na Google Cloud consola e incorpora essa chave em cada chamada à sua API como um parâmetro de consulta.

Se especificar um requisito de chave da API na configuração do serviço, o ESP usa a chave da API para procurar o Google Cloud projeto ao qual a chave da API está associada. O ESP rejeita pedidos, a menos que a chave da API tenha sido gerada no seu projeto Google Cloud ou noutros projetosGoogle Cloud nos quais a sua API tenha sido ativada. Para mais informações, consulte o artigo Restringir o acesso à API com chaves da API

Ao contrário das credenciais que usam tokens de curta duração ou pedidos assinados, as chaves da API fazem parte do pedido e, por isso, são consideradas vulneráveis a ataques de intermediários e, consequentemente, menos seguras. Pode usar chaves da API além de um dos métodos de autenticação descritos da seguinte forma. Por motivos de segurança, não use chaves da API por si só quando as chamadas da API contêm dados do utilizador.

Exemplo de utilização

Se quiser usar funcionalidades dos Endpoints, como quotas, cada pedido tem de transmitir uma chave de API para que os Endpoints possam identificar o Google Cloud projeto Google Cloud ao qual a aplicação cliente está associada.

Para mais informações sobre as chaves da API, consulte o artigo Porquê e quando usar chaves da API.

Firebase Authentication

A autenticação do Firebase fornece serviços de back-end, SDKs e bibliotecas para autenticar utilizadores numa app para dispositivos móveis ou Web. Autentica os utilizadores através de várias credenciais, como Google, Facebook, Twitter ou GitHub.

A biblioteca do cliente do Firebase assina um símbolo da Web JSON (JWT) com uma chave privada depois de o utilizador iniciar sessão com êxito. O ESP valida se o JWT foi assinado pelo Firebase e se a reivindicação iss (emissor) no JWT, que identifica a sua aplicação Firebase, corresponde à definição x-google-issuer na configuração do serviço.

Exemplo de utilização

Recomendamos a utilização do Firebase quando as chamadas API envolvem dados do utilizador e a API se destina a ser utilizada em fluxos em que o utilizador tem uma interface do utilizador, por exemplo, a partir de apps Web e para dispositivos móveis. Para mais informações, consulte o artigo Usar o Firebase para autenticar utilizadores.

Auth0

O Auth0 autentica e autoriza aplicações e APIs, independentemente do fornecedor de identidade, da plataforma, da pilha e do dispositivo.

O Auth0 suporta um grande número de fornecedores e a especificação da Security Assertion Markup Language. Fornece serviços de back-end, SDKs e bibliotecas de interface do utilizador para autenticar utilizadores em apps Web e para dispositivos móveis. O Auth0 integra-se com vários fornecedores de identidade de terceiros e também oferece gestão de contas de utilizador personalizadas.

A biblioteca de cliente fornecida pela Auth0 gera e assina um JWT assim que o utilizador inicia sessão. O ESP valida se o JWT foi assinado pelo Auth0 e se a reivindicação iss no JWT, que identifica a sua aplicação Auth0, corresponde à definição x-google-issuer na configuração do serviço.

Exemplo de utilização

O Auth0 é adequado para apps Web e para dispositivos móveis de consumidores e empresas. Para mais informações, consulte o separador Auth0 em Para mais informações, consulte o artigo Usar o Auth0 para autenticar utilizadores.

Autenticação de token de ID da Google

A autenticação com um token de ID da Google permite que os utilizadores façam a autenticação através do início de sessão com uma Conta Google. Depois de autenticado, o utilizador tem acesso a todos os serviços Google. Pode usar tokens de ID Google para fazer chamadas para APIs Google e para APIs geridas por Endpoints. O ESP valida o token de ID da Google através da chave pública e certifica-se de que a reivindicação iss no JWT é https://accounts.google.com.

Exemplo de utilização

A autenticação com um token de ID da Google é recomendada quando todos os utilizadores têm Contas Google. Pode optar por usar a autenticação de token de ID Google, por exemplo, se a sua API acompanhar uma aplicação Google, como o complemento do Google Drive. A autenticação de tokens de ID da Google permite que os utilizadores se autentiquem iniciando sessão com uma Conta Google. Depois de autenticado, o utilizador tem acesso a todos os serviços Google. Para mais informações, consulte o artigo Usar tokens de ID Google para autenticar utilizadores.

Contas de serviço

Para identificar um serviço que envia pedidos para a sua API, usa uma conta de serviço. O serviço de chamadas usa a chave privada da conta de serviço para assinar um símbolo da Web JSON (JWT) seguro e envia o JWT assinado no pedido para a sua API.

Exemplo de utilização

Os JWTs e as contas de serviço são adequados para microsserviços. Para mais informações, consulte o artigo Autenticação entre serviços.

Autenticação personalizada

Pode usar outras plataformas de autenticação para autenticar utilizadores, desde que estejam em conformidade com a RFC 7519 do símbolo da Web JSON.

Para mais informações, consulte o artigo Usar um método personalizado para autenticar utilizadores.