Escolher um método de autenticação

O Cloud Endpoints é compatível com vários métodos de autenticação que servem para diferentes aplicativos e casos de uso. O método de autenticação especificado na configuração de serviço é usado pelo Extensible Service Proxy (ESP) para validar as solicitações recebidas antes de transmiti-las ao back-end da API. Neste documento, você verá uma visão geral e exemplos de casos de uso de cada método de autenticação compatível.

Chaves de API

Uma chave de API é uma string criptografada simples que identifica um projeto do Google Cloud Platform (GCP) para fins de cota, faturamento e monitoramento. Um desenvolvedor gera uma chave de API em um projeto no Console do GCP e a incorpora em todas as chamadas para sua API como um parâmetro de consulta.

Se você especificar um requisito de chave de API na sua configuração de serviço, ela será usada pelo ESP para pesquisar o projeto do GCP a que está associada. O ESP rejeita solicitações a menos que a chave de API tenha sido gerada no projeto do GCP ou em outros projetos do GCP em que sua API foi ativada. Para mais informações, consulte Como restringir o acesso à API com chaves de API.

Diferentemente das credenciais que usam tokens de curta duração ou solicitações assinadas, as chaves de API fazem parte da solicitação. Portanto, elas são consideradas vulneráveis a ataques intermediários, ou seja, menos seguras. É possível usar chaves de API juntamente com um dos métodos de autenticação descritos abaixo. Por motivos de segurança, não use as próprias chaves de API quando as chamadas de API contiverem dados do usuário.

Caso de uso

Se quiser usar recursos do Endpoints, como cotas, cada solicitação terá que transmitir uma chave de API para que ele possa identificar o projeto do GCP a que o aplicativo cliente está associado.

Para mais informações sobre as chaves de API, consulte Por que e quando usar chaves de API.

Firebase Authentication

O Firebase Authentication fornece serviços de back-end, SDKs e bibliotecas para autenticar usuários em um aplicativo para dispositivos móveis ou da Web. Ele autentica os usuários por meio de credenciais variadas, como Google, Facebook, Twitter ou GitHub.

A biblioteca de cliente do Firebase assina um JSON Web Token (JWT) com uma chave privada depois que o usuário fizer login com êxito. O ESP verifica se o JWT foi assinado pelo Firebase e se a declaração iss (emissor) no JWT, que identifica o aplicativo do Firebase, corresponde ao parâmetro x-google-issuer na configuração do serviço.

Caso de uso

É recomendável o uso do Firebase quando as chamadas de API envolvem dados de usuários e a API é usada em fluxos em que há uma interface do usuário. Por exemplo, quando há IUs de apps para dispositivos móveis e da Web. Para mais informações, consulte Como usar o Firebase para autenticar usuários.

Auth0

O Auth0 autentica e autoriza aplicativos e APIs independentemente do provedor de identidade, da plataforma, da pilha e do dispositivo.

O Auth0 dá suporte a um grande número de provedores e à especificação Linguagem de marcação para autorização de segurança. Ele fornece serviços de back-end, SDKs e bibliotecas de interface do usuário para autenticar usuários em aplicativos para dispositivos móveis e da Web. O Auth0 integra-se a vários provedores de identidade de terceiros e também fornece gerenciamento personalizado de contas de usuários.

A biblioteca de cliente fornecida pelo Auth0 gera e assina um JWT depois que o usuário fizer o login. O ESP verifica se o JWT foi assinado pelo Auth0 e se a declaração iss no JWT, que identifica o aplicativo Auth0, corresponde ao parâmetro x-google-issuer na configuração do serviço.

Caso de uso

O Auth0 é adequado para aplicativos para dispositivos móveis e da Web voltados para empresas e consumidores. Para mais informações, consulte a guia Auth0 em Como usar o Auth0 para autenticar usuários.

Autenticação por token de código do Google

Com a autenticação por token de código do Google, os usuários podem se autenticar fazendo login com uma Conta do Google. Depois de autenticado, o usuário tem acesso a todos os serviços do Google. É possível usar tokens de código do Google para fazer chamadas para APIs do Google e APIs gerenciadas pelo Endpoints. O ESP valida o token de código do Google usando a chave pública e garante que a declaração iss no JWT seja https://accounts.google.com.

Caso de uso

A autenticação por um token de código do Google é recomendada quando todos os usuários têm contas do Google. Escolha a autenticação por token de código do Google, por exemplo, se a API acompanha um aplicativo do Google, como o complemento do Google Drive. Com a autenticação por token de código do Google, os usuários podem se autenticar fazendo login com uma Conta do Google. Uma vez autenticado, o usuário tem acesso a todos os serviços do Google. Para mais informações, consulte Como usar tokens de código do Google para autenticar usuários.

Contas de serviço

Para identificar um serviço que envia solicitações para sua API, use uma conta de serviço. O serviço de chamada usa a chave privada da conta de serviço para assinar um JSON Web Token (JWT) seguro e enviá-lo na solicitação para a API.

Caso de uso

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

Autenticação personalizada

É possível usar outras plataformas para autenticar usuários desde que estejam em conformidade com o JSON Web Token RFC 7519.

Para mais informações, consulte Como usar um método personalizado para autenticar usuários.
Esta página foi útil? Conte sua opinião sobre:

Enviar comentários sobre…

Cloud Endpoints com OpenAPI
Precisa de ajuda? Acesse nossa página de suporte.