Las apps web deben obtener un token de acceso para llamar de forma segura a las APIs de Google.
La biblioteca de 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 alguien y se conoce comúnmente como registro o acceso del usuario. 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 los permisos y recuperar un token de acceso para usarlo con las APIs de Google.
En estas guías, se abordan temas relacionados con la autorización y el 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 necesitas ayuda con la autenticación y cómo implementar el registro y el acceso de 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 de Node.js de Google.
Qué cambió
Para los usuarios, la biblioteca de Google Identity Services ofrece numerosas mejoras en la usabilidad en comparación con las bibliotecas de JavaScript anteriores, incluidas las siguientes:
- La autenticación para el acceso del usuario y la autorización para obtener un token de acceso para 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 separados para 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 del usuario.
- Diálogos basados en el navegador para reducir la fricción y que no requieren que los usuarios salgan de tu sitio para realizar las siguientes acciones:
- obtener un token de acceso de Google
- Enviar un código de autorización a tu plataforma de backend
Para los desarrolladores, nuestro objetivo fue reducir la complejidad, mejorar la seguridad y simplificar la integración. Algunos de estos cambios son los siguientes:
- La autenticación del usuario para acceder y la autorización que se usa para obtener un token de acceso para llamar a las APIs de Google son dos conjuntos separados y distintos 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.
- Ahora, una sola biblioteca de JavaScript admite lo siguiente:
- Flujo implícito de OAuth 2.0, que se usa para obtener un token de acceso para usar en el navegador
- Flujo de código de autorización de OAuth 2.0, también conocido como acceso sin conexión, e inicia la entrega segura de un código de autorización a tu plataforma de backend, donde se puede intercambiar por un token de acceso y un token de actualización. Anteriormente, estos flujos solo estaban disponibles a través de varias bibliotecas y llamadas directas a los extremos de OAuth 2.0. Una sola biblioteca disminuye el tiempo y el esfuerzo de integración, ya que, en lugar de incluir y aprender varios conceptos y bibliotecas de OAuth 2.0, puedes concentrarte en una sola interfaz unificada.
- Se quitó la indirección a través de funciones de estilo de getter para mejorar la simplicidad y la legibilidad.
- Cuando controlas las respuestas de autorización, eliges si usar o no una Promise para completar las solicitudes, en lugar de que se tome esa decisión por ti.
- La biblioteca cliente de las APIs de Google para JavaScript se actualizó con los siguientes cambios:
- El módulo
gapi.auth2y los objetos y métodos asociados ya no se cargan automáticamente tras bambalinas, 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 los tokens de acceso vencidos para mejorar la seguridad y la conciencia de los usuarios. Después de que caduca 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 admitir una separación clara de 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 la emisión de un token de acceso. Anteriormente, solicitar un token de acceso también permitía a los usuarios acceder a su Cuenta de Google y devolvía una credencial de token de ID de JWT para la autenticación del usuario.
- El módulo
- Para aumentar la seguridad y la privacidad de los usuarios, las credenciales por usuario que se emiten para la autorización siguen el principio de privilegio mínimo, ya que solo incluyen un token de acceso y la información necesaria para administrarlo.