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.
- La biblioteca cliente de las APIs de Google para JavaScript se actualizó con estos cambios:
- 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.
- El módulo
- 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.