Las aplicaciones web deben obtener un token de acceso para llamar a las API de Google de forma segura.
La biblioteca de JavaScript de los servicios de identidad de Google admite la autenticación para el acceso de los usuarios y la autorización a fin de obtener un token de acceso para usar con las API de Google. La biblioteca solo está diseñada para usarse en navegadores.
La autenticación establece quién es una persona y se lo conoce comúnmente como registro de usuario o acceso. La autorización es el proceso de otorgar o rechazar el acceso a los datos o recursos. Esto incluye obtener y administrar el consentimiento del usuario, limitar la cantidad de datos o recursos compartidos con alcances y recuperar un token de acceso para usar 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 los pasos individuales de la autorización del usuario en detalle y se incluyen ejemplos de diálogos del usuario.
Si necesitas ayuda con la autenticación y cómo implementar el registro y el acceso de los usuarios, consulta Accede con Google.
Esta biblioteca no está diseñada para utilizarse con marcos de trabajo de JavaScript del lado del servidor, como Node.js; en su lugar, utiliza la biblioteca cliente Node.js de Google.
Qué cambió
Para los usuarios, la biblioteca de Google Identity Services ofrece varias mejoras de usabilidad en comparación con las bibliotecas de JavaScript anteriores, incluidas 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 API de Google, ahora tienen dos flujos de usuarios independientes y distintos: uno para el acceso y otro para el consentimiento durante la autorización, con flujos de usuarios independientes a fin de diferenciar claramente quién eres de lo que puede hacer una app.
- Se mejoró la visibilidad y el control detallado del uso compartido de datos durante el consentimiento de los usuarios.
- Diálogos emergentes basados en el navegador para reducir la fricción, que no requieren que los usuarios abandonen tu sitio:
- obtener un token de acceso de Google; o
- envía un código de autorización a tu plataforma de backend.
El enfoque para los desarrolladores fue reducir la complejidad, mejorar la seguridad y hacer que la integración sea lo más rápida y fácil posible. Algunos de estos cambios son:
- La autenticación de usuario para el acceso y la autorización que se usa a fin de obtener un token de acceso para llamar a las API de Google son dos conjuntos distintos de objetos y métodos de JavaScript distintos. Esto reduce la complejidad y la cantidad de detalles necesarios para implementar la autenticación o autorización.
- Una sola biblioteca de JavaScript ahora admite las siguientes:
- Flujo implícito de OAuth 2.0, que se usa para obtener un token de acceso para 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 de forma segura un código de autorización a tu plataforma de backend, en el que se puede intercambiar por un token de acceso y un token de actualización. Antes, estos flujos solo estaban disponibles mediante varias bibliotecas y llamadas directas a los extremos de OAuth 2.0. Una única biblioteca reduce el tiempo y el esfuerzo de integración, en lugar de incluir y aprender varias bibliotecas y conceptos de OAuth 2.0, puedes enfocarte en una sola interfaz unificada.
- Se quitó la indirección mediante funciones de estilo get para simplificar y leer mejor.
- Cuando controlas las respuestas de autorización, eliges si usar o no una promesa para cumplir con las solicitudes, en lugar de tomar esa decisión.
- La biblioteca cliente de la API 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 de forma automática en segundo plano y se reemplazaron por métodos y objetos de biblioteca de Google Identity Services más explícitos. - Se quitó la actualización automática de tokens de acceso vencidos para mejorar la seguridad y el conocimiento de los usuarios. Después de que vence un token de acceso, la aplicación debe manejar las respuestas de error de la API de Google, solicitar y obtener un nuevo token de acceso válido.
- Para admitir una separación clara de momentos de autenticación y autorización, ya no se admite el acceso simultáneo de usuarios a tu app y a su Cuenta de Google mientras se emite un token de acceso. Antes, cuando se solicitaba un token de acceso, los usuarios también ingresaban a su Cuenta de Google y mostraban una credencial de token de ID de JWT para la autenticación de usuarios.
- El módulo
- Para aumentar la seguridad y la privacidad del usuario, según las credenciales de usuario emitidas para autorización, sigue el principio de privilegio mínimo, ya que incluye solo un token de acceso y la información necesaria para administrarlo.