Introducción a la API de Auth de Admin
Identity Platform se compiló en una infraestructura mejorada que admite la autenticación de usuarios en tus apps y servicios. Puedes usar el SDK de Firebase Admin para integrar tus propios servidores a Identity Platform y administrar tus usuarios o tokens de autenticación. Hay varios motivos por los que te recomendamos hacerlo:
Administración de usuarios
No siempre es conveniente tener que visitar la consola de Google Cloud (consola de Google Cloud) para administrar tus usuarios de Identity Platform. La API de administración de usuarios del administrador ofrece un acceso programático a esos mismos usuarios. Incluso te permite realizar acciones que no se pueden hacer en la consola de Google Cloud, como recuperar todos los datos de un usuario y modificar su contraseña, dirección de correo electrónico o número de teléfono.
Autenticación personalizada
Puedes integrar un sistema de usuario externo con Identity Platform. Por ejemplo, si tienes una base de datos de usuarios o deseas integrar el sistema en un proveedor de identidad de terceros que no es compatible de manera nativa con Identity Platform.
Para hacerlo, se pueden crear tokens personalizados con reclamaciones arbitrarias que identifican al usuario. Estos tokens personalizados se pueden utilizar para acceder al servicio de Identity Platform en una aplicación cliente y adoptar la identidad descrita en las reclamaciones del token. Esta identidad se usará cuando se acceda a otros servicios de Identity Platform, como Cloud Storage.
Verificación de identidad
Por lo general, Identity Platform se usa para identificar a los usuarios de tu app y así restringir el acceso a otros servicios, como Cloud Storage. Sin embargo, también se puede usar el servicio para identificar a esos usuarios en tu propio servidor. Esto te permite realizar de forma segura la lógica del servidor en nombre de los usuarios que accedieron con Identity Platform.
Para hacerlo, puedes obtener un token de ID de una aplicación cliente que haya accedido con Identity Platform y, luego, incluir el token en una solicitud para el servidor. El servidor verifica el token de ID y extrae las reclamaciones que identifican al usuario (como el uid
, el proveedor de identidad con el que accedieron, etc.). Posteriormente, el servidor puede usar esta información de identidad para realizar acciones en nombre del usuario.
El SDK de Firebase Admin proporciona métodos para lograr las tareas de autenticación anteriores, ya que te permite administrar los usuarios, generar tokens personalizados y verificar tokens de ID.
Reclamaciones de usuarios personalizadas
En algunos casos, es posible que desees implementar un control de acceso más detallado para los usuarios que ya accedieron con uno de los proveedores de autenticación de Identity Platform admitidos, como correo electrónico o contraseña, Google, Facebook, teléfono, entre otros. Esto se puede lograr mediante la combinación de reclamaciones de usuarios personalizadas y reglas de seguridad para aplicaciones. Por ejemplo, el control de acceso de un usuario que accedió con el proveedor de correo electrónico y contraseña de Identity Platform se puede definir con reclamaciones personalizadas.
Administración de usuarios
El SDK de Firebase Admin proporciona una API para administrar tus usuarios de Identity Platform con privilegios elevados. La API de administración de usuarios del administrador permite recuperar, crear, actualizar y borrar usuarios de manera programática sin que sea necesario conocer sus credenciales ni preocuparse por los límites de tasa del cliente.
Administra usuariosCreación de tokens personalizados
El motivo principal para crear tokens personalizados es permitir que los usuarios se autentiquen con un mecanismo externo o heredado. Este 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 Firebase Admin tiene un método incorporado para crear tokens personalizados. También puedes crear de manera programática tokens personalizados en cualquier idioma, a través de bibliotecas JWT de terceros.
Tu servidor debe crear un token personalizado con un identificador único (uid
) y transferir ese token a una app cliente, la cual lo utilizará para acceder a Identity Platform. Consulta Crea tokens personalizados para ver ejemplos de código y más detalles acerca del proceso de creación de tokens personalizados.
Verificación de token de ID
Si tu app cliente de Identity Platform se comunica con un servidor de backend, podría ser necesario que identifiques el usuario con sesión activa en el servidor para que realices tareas lógicas en su nombre. Si quieres hacerlo de manera segura, puedes usar tokens de ID, que se crean a través de Identity Platform cuando un usuario accede a una app de Identity Platform. Los tokens de ID siguen las especificaciones de OpenID Connect y contienen datos que identifican a un usuario, además de otra información relacionada con el perfil y la autenticación. Puedes enviar, verificar y revisar estos tokens en tus propios backends. Esto te permite identificar de manera segura el usuario activo y autorizarlo para que acceda a los recursos de tu backend.
El SDK de Firebase Admin tiene un método integrado para verificar tokens de ID. También puedes verificar tokens de ID de manera programática en cualquier lenguaje con bibliotecas JWT de terceros. Consulta Verifica tokens de ID para conocer más detalles y ejemplos de código relacionados con el proceso de verificación de tokens de ID.
Reclamaciones de usuarios personalizadas
El SDK de Firebase Admin te permite configurar atributos personalizados en las cuentas de usuario. Con las reclamaciones de usuarios personalizadas, puedes otorgar a los usuarios niveles diferentes de acceso (funciones), que luego se aplican en las reglas de seguridad de una aplicación.
Después de que las reclamaciones personalizadas de un usuario se modifican a través del SDK de Firebase Admin, se propagan a los usuarios autenticados en el cliente mediante sus tokens de ID. El token de ID es un mecanismo de confianza que permite enviar estas reclamaciones personalizadas, y todo el acceso autenticado debe validar el token de ID antes de procesar la solicitud asociada.
Controla el acceso con reclamaciones personalizadas