Organiza tus páginas con colecciones Guarda y categoriza el contenido según tus preferencias.
Las aplicaciones web deben obtener un token de acceso para llamar de forma segura a las APIs de Google.
La biblioteca JavaScript de Google Identity Services admite la autenticación para el acceso del usuario y la autorización para obtener un token de acceso que se usará con las APIs de Google. La biblioteca está diseñada solo para usarse en navegadores.
La autenticación establece quién es un usuario y, por lo general, se conoce como registro o acceso del usuario. La autorización es el proceso de otorgar o rechazar el acceso a datos o recursos. Incluye obtener y administrar el consentimiento del usuario, limitar la cantidad de datos o recursos compartidos con los alcances y recuperar un token de acceso para usarlo con las API de Google.
Estas guías abarcan temas de autorización y uso compartido de datos.
En Cómo funciona la autorización del usuario, se describen en detalle los pasos individuales de la autorización del usuario y se incluyen ejemplos de diálogos del usuario.
Si buscas ayuda con la autenticación y cómo implementar el registro y el acceso de los usuarios, consulta Acceder con Google.
Esta biblioteca no está diseñada para usarse con frameworks de JavaScript del servidor, como Node.js. En su lugar, usa la biblioteca cliente Node.js de Google.
Qué cambió
Para los usuarios, la biblioteca de Google Identity Services ofrece numerosas mejoras de usabilidad en comparación con las bibliotecas de JavaScript anteriores, como las siguientes:
La autenticación para el acceso de los usuarios y la autorización para obtener un token de acceso a fin de llamar a las APIs de Google ahora tienen dos flujos de usuarios separados y distintos; uno para el acceso y otro para el consentimiento durante la autorización, con flujos de usuarios independientes para diferenciar claramente quién eres y lo que puede hacer una app.
Mejoramos la visibilidad y el control detallado del uso compartido de datos durante el consentimiento del usuario.
Diálogos emergentes basados en el navegador para reducir los problemas y que no requieren que los usuarios salgan del sitio para realizar las siguientes acciones:
Obtener un token de acceso de Google
envía un código de autorización a tu plataforma de backend.
Para los desarrolladores, nuestro enfoque ha sido reducir la complejidad, mejorar la seguridad y hacer que tu integración sea lo más rápida y fácil posible. Algunos de estos cambios son los siguientes:
La autenticación de usuarios para el acceso y la autorización que se usa con el objetivo de obtener un token de acceso para llamar a las APIs de Google son dos conjuntos independientes de objetos y métodos de JavaScript. Esto reduce la complejidad y la cantidad de detalles necesarios para implementar la autenticación o la autorización.
Una única biblioteca de JavaScript ahora admite lo siguiente:
Flujo implícito de OAuth 2.0, que se usa para obtener un token de acceso que se usará en el navegador
El flujo de código de autorización de OAuth 2.0, también conocido como acceso sin conexión, inicia la entrega segura de un código de autorización a tu plataforma de backend, en la que se puede intercambiar por un token de acceso y un token de actualización. Anteriormente, estos flujos solo estaban disponibles mediante el uso de varias bibliotecas y mediante llamadas directas a los extremos de OAuth 2.0. Una sola biblioteca disminuye el tiempo y el esfuerzo de la integración, ya que, en lugar de incluir y aprender varias bibliotecas y conceptos de OAuth 2.0, puedes enfocarte en una interfaz única y unificada.
Se quitó la indirección a través de las funciones de estilo get para mayor simplicidad y legibilidad.
Cuando controlas las respuestas de autorización, puedes elegir si usar o no una Promise para cumplir con las solicitudes, en lugar de tomar esa decisión por ti.
El módulo gapi.auth2 y los objetos y métodos asociados ya no se cargan automáticamente en segundo plano y se reemplazaron por objetos y métodos más explícitos de la biblioteca de Google Identity Services.
Se quitó la actualización automática de tokens de acceso vencidos para mejorar la seguridad y el reconocimiento de los usuarios. Una vez que vence un token de acceso, tu app debe controlar las respuestas de error de la API de Google, solicitar y obtener un token de acceso nuevo y válido.
Para permitir una separación clara entre los momentos de autenticación y autorización, ya no se admite el acceso simultáneo de un usuario a tu app y a su Cuenta de Google y, al mismo tiempo, la emisión de un token de acceso. Antes, cuando se solicitaba un token de acceso, los usuarios también podían acceder a su Cuenta de Google y se mostraba una credencial de token de ID de JWT para la autenticación de usuarios.
Para aumentar la seguridad y privacidad del usuario, las credenciales de autorización emitidas por usuario siguen el principio de privilegio mínimo, ya que incluyen solo un token de acceso y la información necesaria para administrarla.
[null,null,["Última actualización: 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."]]