Introducción a la API Admin Auth
Identity Platform se basa en una infraestructura mejorada que admite la autenticación de usuarios en tus aplicaciones y servicios. Puedes usar el SDK de administrador de Firebase para integrar tus propios servidores con Identity Platform y gestionar tus usuarios o tokens de autenticación. Hay varios motivos por los que puedes querer hacerlo:
Gestión de usuarios
No siempre es conveniente tener que visitar la consola deGoogle Cloud (consola deGoogle Cloud ) para gestionar a los usuarios de Identity Platform. La API de gestión de usuarios administradores proporciona acceso programático a esos mismos usuarios. Incluso te permite hacer cosas que la consolaGoogle Cloud no puede, como obtener todos los datos de un usuario y cambiar su contraseña, dirección de correo o número de teléfono.
Autenticación personalizada
Puedes integrar un sistema de usuarios externo con Identity Platform. Por ejemplo, puede que ya tengas una base de datos de usuarios o que quieras integrar un proveedor de identidades de terceros que Identity Platform no admita de forma nativa.
Para ello, puedes crear tokens personalizados con reclamaciones arbitrarias que identifiquen al usuario. Estos tokens personalizados se pueden usar para iniciar sesión en el servicio Identity Platform en una aplicación cliente y asumir la identidad descrita por las reclamaciones del token. Esta identidad se usará al acceder a otros servicios de Identity Platform, como Cloud Storage.
Verificación de identidad
Identity Platform se usa principalmente para identificar a los usuarios de tu aplicación con el fin de restringir el acceso a otros servicios, como Cloud Storage. También puedes usar el servicio para identificar a estos usuarios en tu propio servidor. Esto te permite realizar de forma segura lógica del lado del servidor en nombre de los usuarios que han iniciado sesión con Identity Platform.
Para ello, puedes recuperar un token de ID de una aplicación cliente que haya iniciado sesión con Identity Platform e incluir el token en una solicitud a tu servidor. A continuación, tu servidor verifica el token de ID y extrae las reclamaciones que identifican al usuario (incluido su uid
, el proveedor de identidades con el que ha iniciado sesión, etc.). Tu servidor puede usar esta información de identidad para llevar a cabo acciones en nombre del usuario.
El SDK de administrador de Firebase proporciona métodos para llevar a cabo las tareas de autenticación anteriores, ya que te permite gestionar a tus usuarios, generar tokens personalizados y verificar tokens de ID.
Reclamaciones de usuario personalizadas
En algunos casos, puede que quieras implementar un control de acceso detallado para los usuarios que ya hayan iniciado sesión con uno de los proveedores de autenticación de Identity Platform admitidos, como correo electrónico/contraseña, Google, Facebook, teléfono, etc. Una combinación de reclamaciones de usuario personalizadas y reglas de seguridad de la aplicación proporciona esta función. Por ejemplo, un usuario que haya iniciado sesión con el proveedor de correo y contraseña de Identity Platform puede tener un control de acceso definido mediante reclamaciones personalizadas.
Gestión de usuarios
El SDK de administrador de Firebase proporciona una API para gestionar a los usuarios de Identity Platform con privilegios elevados. La API de gestión de usuarios administradores te permite obtener, crear, actualizar y eliminar usuarios de forma programática sin necesidad de usar las credenciales de un usuario y sin preocuparte por los límites de frecuencia del lado del cliente.
Gestionar usuariosCreación de tokens personalizados
La principal utilidad de los tokens personalizados es permitir que los usuarios se autentiquen con un mecanismo de autenticación externo o antiguo. Puede ser uno que controles, como tu servidor LDAP, o un proveedor de OAuth de terceros que Identity Platform no admita de forma nativa, como Instagram o LinkedIn.
El SDK de administrador de Firebase tiene un método integrado para crear tokens personalizados. También puedes crear tokens personalizados mediante programación en cualquier idioma con bibliotecas JWT de terceros.
Tu servidor debe crear un token personalizado con un identificador único (uid
) y enviárselo a una aplicación cliente, que lo usará para iniciar sesión en Identity Platform. Consulta Crear tokens personalizados para ver ejemplos de código y obtener más información sobre el proceso de creación de tokens personalizados.
Verificación de tokens de ID
Si tu aplicación cliente de Identity Platform se comunica con tu servidor backend, es posible que tengas que identificar al usuario que tiene la sesión iniciada en el servidor para poder realizar lógica del lado del servidor en su nombre. Puedes hacerlo de forma segura usando tokens de ID, que crea Identity Platform cuando un usuario inicia sesión en una aplicación de Identity Platform. Los tokens de ID cumplen la especificación OpenID Connect y contienen datos para identificar a un usuario, así como otra información relacionada con el perfil y la autenticación. Puedes enviar, verificar e inspeccionar estos tokens desde tus propios back-ends. De esta forma, puedes identificar de forma segura al usuario que ha iniciado sesión y autorizarlo para que acceda a tus recursos de backend.
El SDK de administrador de Firebase tiene un método integrado para verificar tokens de ID. También puedes verificar de forma programática los tokens de ID en cualquier idioma mediante bibliotecas JWT de terceros. Consulta Verificar tokens de ID para obtener más información y ejemplos de código sobre el proceso de verificación de tokens de ID.
Demandas de usuario personalizadas
El SDK de administrador de Firebase te permite definir atributos personalizados en las cuentas de usuario. Con las reclamaciones de usuario personalizadas, puedes dar a los usuarios diferentes niveles de acceso (roles), que luego se aplican en las reglas de seguridad de una aplicación.
Una vez que se modifican las reclamaciones personalizadas de un usuario mediante el SDK de administrador de Firebase, se propagan a los usuarios autenticados del lado del cliente a través de sus tokens de ID. El token de ID es un mecanismo fiable para proporcionar estas reclamaciones personalizadas, y todo acceso autenticado debe validar el token de ID antes de procesar la solicitud asociada.
Controlar el acceso con reclamaciones personalizadas