Mantenha tudo organizado com as coleções Salve e categorize o conteúdo com base nas suas preferências.
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.
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.
[[["Fácil de entender","easyToUnderstand","thumb-up"],["Meu problema foi resolvido","solvedMyProblem","thumb-up"],["Outro","otherUp","thumb-up"]],[["Não contém as informações de que eu preciso","missingTheInformationINeed","thumb-down"],["Muito complicado / etapas demais","tooComplicatedTooManySteps","thumb-down"],["Desatualizado","outOfDate","thumb-down"],["Problema na tradução","translationIssue","thumb-down"],["Problema com as amostras / o código","samplesCodeIssue","thumb-down"],["Outro","otherDown","thumb-down"]],["Última atualização 2023-12-01 UTC."],[[["\u003cp\u003eGoogle Identity Services JavaScript library enables secure access to Google APIs via access tokens and supports user authentication.\u003c/p\u003e\n"],["\u003cp\u003eThe library offers separate, streamlined user flows for sign-in (authentication) and consent (authorization) for enhanced user experience and control.\u003c/p\u003e\n"],["\u003cp\u003eDevelopers benefit from reduced complexity, improved security, and easier integration with features like a unified library for both implicit and authorization code flows.\u003c/p\u003e\n"],["\u003cp\u003eGoogle Identity Services prioritizes user privacy and security through measures like least privilege credentials and explicit access token refresh handling.\u003c/p\u003e\n"],["\u003cp\u003eThe library is exclusively for browser-based applications and should not be used with server-side JavaScript frameworks like Node.js.\u003c/p\u003e\n"]]],[],null,["Web apps must obtain an access token to securely call Google APIs.\n\nThe Google Identity Services JavaScript library supports both authentication for\nuser sign-in and authorization to obtain an access token for use with Google\nAPIs. The library is intended only for use in browsers.\n\nAuthentication establishes who someone is, and is commonly referred to as user\nsign-up or sign-in. Authorization is the process of granting or rejecting access\nto data or resources. It includes obtaining and managing user consent, limiting\nthe amount of data or resources shared with scopes, and retrieving an access\ntoken for use with Google APIs.\n\nThese guides cover authorization and data sharing topics.\n\n[How user authorization works](/identity/oauth2/web/guides/how-user-authz-works) describes the individual steps of user\nauthorization in detail and includes user dialog examples.\n\nIf you are looking for help with authentication and how to implement user\nsign-up and sign-in see [Sign In With Google](/identity/gsi/web/guides/overview).\n| **Note:** The `email`, `profile`, and `openid` scopes are used for user authentication. If your app only uses these scopes [Sign In With Google](/identity/gsi/web) is recommended instead.\n\nThis library is not intended for use with server-side JavaScript frameworks such\nas Node.js, instead use Google's [Node.js](https://github.com/googleapis/google-api-nodejs-client)\nclient library.\n\nWhat's changed\n\nFor users, the Google Identity Services library offers numerous usability\nimprovements over earlier JavaScript libraries, including:\n\n- Authentication for user sign-in, and authorization to obtain an access token to call Google APIs, now have two separate and distinct user flows; one for [sign-in](/identity/gsi/web/guides/overview#how_it_works) and another for [consent](/identity/oauth2/web/guides/how-user-authz-works#user_consent) during authorization, with separate user flows to clearly differentiate who you are, from what an app can do.\n- Improved visibility and granular control of data sharing during [user\n consent](/identity/oauth2/web/guides/how-user-authz-works#user_consent).\n- Browser based pop-up dialogs to reduce friction, and which do not require users to leave your site to:\n - obtain an access token from Google, or\n - send an authorization code to your backend platform.\n\nFor developers, our focus has been to reduce complexity, improve security, and\nmake your integration as quick and easy as possible. Some of these changes are:\n\n- User [authentication](/identity/gsi/web/reference/js-reference) for sign-in, and [authorization](/identity/oauth2/web/reference/js-reference) used to obtain an access token to call Google APIs, are two separate and distinct sets of JavaScript objects, and methods. This reduces the complexity and amount of detail required to implement authentication or authorization.\n- A single JavaScript library now supports both the:\n - OAuth 2.0 implicit flow, used to obtain an access token for use in-browser\n - OAuth 2.0 authorization code flow, also known as offline access, and initiates securely delivering an authorization code to your backend platform, where it can be exchanged for an access token and refresh token. Previously, these flows were only available by using multiple libraries and through direct calls to OAuth 2.0 endpoints. A single library decreases your integration time and effort, instead of including and learning multiple libraries and OAuth 2.0 concepts you can focus on a single, unified interface.\n- Indirection through getter style functions has been removed for simplicity and readability.\n- When handling authorization responses you choose whether or not to use a [Promise](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise) to fulfill requests, instead of that decision being made for you.\n- The [Google API Client Library for JavaScript](https://github.com/google/google-api-javascript-client) has been updated with these changes:\n - the `gapi.auth2` module and associated objects and methods are no longer automatically loaded for you behind the scenes, and have been replaced with more explicit Google Identity Services library objects and methods.\n - Automatic refresh of expired access tokens has been removed to improve user security and awareness. After an access token expires your app must handle Google API error responses, request, and obtain a new, valid access token.\n - To support a clear separation of authentication and authorization moments, simultaneously signing a user in to your app and to their Google Account while also issuing an access token is no longer supported. Previously, requesting an access token also signed users into their Google Account and returned a JWT ID token credential for user authentication.\n- To increase user security and privacy, per user [credentials](/identity/oauth2/web/guides/migration-to-gis#example_credentials) issued for authorization follow the principle of least privilege by including only an access token and information required to manage it."]]