Autorização para Web

Os apps da Web precisam receber um token de acesso para chamar as APIs do Google com segurança.

A biblioteca JavaScript dos Serviços de Identificação do Google oferece suporte à autenticação de login do usuário e à autorização para receber um token de acesso a ser usado com as APIs do Google. A biblioteca é destinada apenas para uso em navegadores.

A autenticação estabelece quem é alguém e é comumente chamada de inscrição ou login de usuário. Autorização é o processo de conceder ou rejeitar o acesso a dados ou recursos. Isso inclui receber e gerenciar o consentimento do usuário, limitar a quantidade de dados ou recursos compartilhados com escopos e recuperar um token de acesso para uso com as APIs do Google.

Estes guias abordam tópicos sobre autorização e compartilhamento de dados.

Como funciona a autorização do usuário descreve as etapas individuais da autorização do usuário em detalhes e inclui exemplos de caixas de diálogo do usuário.

Se precisar de ajuda com a autenticação e quiser saber como implementar a inscrição e o login do usuário, consulte Fazer login com o Google.

Ela não é destinada ao uso com frameworks de JavaScript do lado do servidor, como Node.js. Em vez disso, use a biblioteca de cliente Node.js do Google.

O que mudou

Para os usuários, a biblioteca de Serviços de Identificação do Google oferece várias melhorias de usabilidade em relação às bibliotecas JavaScript anteriores, incluindo:

  • Agora, a autenticação para o login do usuário e a autorização para receber um token de acesso para chamar as APIs do Google têm dois fluxos de usuário separados e distintos: um para login e outro para consentimento durante a autorização, com fluxos de usuário separados para diferenciar claramente quem você é e o que um app pode fazer.
  • Melhor visibilidade e controle granular do compartilhamento de dados durante o consentimento do usuário.
  • Caixas de diálogo pop-up baseadas no navegador para reduzir o atrito e que não exigem que os usuários saiam do site para:
    • receber um token de acesso do Google;
    • enviar um código de autorização para sua plataforma de back-end.

Para os desenvolvedores, nosso foco tem sido reduzir a complexidade, melhorar a segurança e tornar a integração o mais rápida e fácil possível. Algumas dessas mudanças são:

  • A autenticação de usuários para login e a autorização usada para receber um token de acesso e chamar APIs do Google são dois conjuntos separados e distintos de objetos e métodos JavaScript. Isso reduz a complexidade e a quantidade de detalhes necessários para implementar a autenticação ou autorização.
  • Uma única biblioteca JavaScript agora oferece suporte a:
    • Fluxo implícito do OAuth 2.0, usado para receber um token de acesso para uso no navegador
    • O fluxo de código de autorização do OAuth 2.0, também conhecido como acesso off-line, inicia a entrega com segurança de um código de autorização para sua plataforma de back-end, onde ele pode ser trocado por um token de acesso e um token de atualização. Anteriormente, esses fluxos só estavam disponíveis ao usar várias bibliotecas e por chamadas diretas para endpoints do OAuth 2.0. Ter uma única biblioteca reduz o tempo e o esforço de integração. Assim, em vez de incluir e aprender várias bibliotecas e conceitos do OAuth 2.0, você pode se concentrar em uma interface unificada.
  • A indireção por meio de funções de estilo getter foi removida para simplificar e facilitar a leitura.
  • Ao processar respostas de autorização, você escolhe se quer ou não usar uma Promise para atender às solicitações, em vez de decidir essa decisão.
  • A biblioteca de cliente das APIs do Google para JavaScript foi atualizada com estas mudanças:
    • O módulo gapi.auth2 e os objetos e métodos associados não são mais carregados automaticamente em segundo plano. Eles foram substituídos por objetos e métodos da biblioteca dos Serviços de Identificação do Google mais explícitos.
    • A atualização automática de tokens de acesso expirados foi removida para melhorar a segurança e o reconhecimento do usuário. Depois que um token de acesso expira, seu app precisa processar as respostas de erro da API do Google, solicitar e receber um novo token válido.
    • Para oferecer uma separação clara dos momentos de autenticação e autorização, não é mais possível fazer o login de um usuário no seu app e na Conta do Google ao mesmo tempo e emitir um token de acesso. Anteriormente, a solicitação de um token de acesso também continha os usuários nas Contas do Google deles e retornava uma credencial de token de ID JWT para autenticação do usuário.
  • Para aumentar a segurança e a privacidade do usuário, as credenciais emitidas por usuário para autorização seguem o princípio de privilégio mínimo, incluindo apenas um token de acesso e as informações necessárias para gerenciá-las.