Introducción a la API de Admin Auth

Descripción general

Los SDK de administrador de Firebase permiten que integres tus propios servidores con Firebase Authentication. Puedes usarlos para administrar a tus usuarios o los tokens de autenticación. Existen tres razones principales para hacer esto:

Administración de usuarios

No siempre resulta conveniente tener que visitar Firebase console para administrar los usuarios de Firebase Authentication. Afortunadamente, 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 Firebase console, como obtener los datos completos de un usuario y modificar su contraseña o dirección de correo electrónico.

Autenticación personalizada

Se puede integrar un sistema de usuario externo con Firebase. Por ejemplo, si tienes una base de datos de usuarios o quieres integrar el sistema con un proveedor de identidad de terceros que no es compatible de manera nativa con Firebase Authentication.

Para hacerlo, se pueden crear tokens personalizados con elementos arbitrarios que identifican al usuario. Estos tokens personalizados se pueden utilizar para acceder al servicio de Firebase Authentication en una aplicación cliente y adoptar la identidad descrita en los elementos del token. Esta identidad se usará al acceder a otros servicios de Firebase, como Firebase Realtime Database y Firebase Storage.

Verificación de identidad

Generalmente, Firebase Authentication se usa para identificar a los usuarios de tu app y así restringir el acceso a otros servicios de Firebase, como Firebase Realtime Database y Firebase Storage. Sin embargo, también se puede usar el servicio para identificar a esos usuarios en tu propio servidor. Esto te permite realizar tareas lógicas en el servidor en nombre de usuarios que hayan accedido con Firebase Authentication.

Para hacerlo, puedes obtener un token de ID de una aplicación cliente que haya accedido con Firebase Authentication e incluir el token en una solicitud para el servidor. El servidor verifica el token de ID y extrae los elementos 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.

Los SDK de administrador de Firebase ofrecen métodos para realizar las dos tareas de autenticación mencionadas anteriormente, mediante la posibilidad de que generes tokens personalizados y verifiques los tokens de ID.

Administración de usuarios

Firebase Admin Node.js SDK proporciona una API para administrar a los usuarios de Firebase Authentication con privilegios elevados. La API de administración de usuarios del administrador permite obtener, crear, actualizar y borrar de manera programática a usuarios sin que sea necesario conocer sus credenciales ni preocuparse sobre los límites del cliente.

Administrar usuarios

Creación de tokens personalizados

El motivo principal para crear tokens personalizados es permitir que los usuarios se autentiquen con un mecanismo externo o heredado. Por ejemplo, podría ser uno que te pertenezca (como un servidor LDAP) o un proveedor OAuth de terceros que no sea compatible de manera nativa con Firebase, como Instagram o LinkedIn.

Los SDK de administrador de Firebase para Node.js y Java tienen métodos integrados 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 Firebase. Consulta Crea tokens personalizados para ver ejemplos de código y más detalles acerca del proceso de creación de tokens personalizados.

Crea tokens personalizados

Verificación de token de ID

Si tu app cliente de Firebase se comunica con un servidor de back-end, podría ser necesario que identifiques el usuario con sesión activa en el servidor para que realices tareas lógicas en su nombre. Para hacerlo de manera segura, puedes usar tokens de ID, los cuales se crean a través de Firebase cuando un usuario accede a una app de Firebase. 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. Los tokens de ID se usan de manera privada en los servicios de Firebase (como Firebase Realtime Database y Firebase Storage) para autorizar el acceso de los usuarios. También puedes enviar, verificar y revisar estos tokens en tus propios back-ends. Esto te permite identificar de manera segura el usuario activo y autorizarlo para que acceda a los recursos de tu back-end.

Los SDK de administración de Firebase para Node.js y Java tienen métodos integrados para verificar los tokens de ID. También puedes verificar de manera programática tokens de ID en cualquier idioma, a través de bibliotecas JWT de terceros. Consulta Verificar tokens de ID para conocer más detalles y ejemplos de código relacionados con el proceso de verificación de token de ID.

Verificar tokens de ID

Enviar comentarios sobre...

Si necesitas ayuda, visita nuestra página de asistencia.