Saltar al contenido principal

Configura el inicio de sesión social con Facebook (Set up social login with Facebook)

Integra el sistema de autenticación OAuth 2.0 de Facebook para habilitar el inicio de sesión con Facebook, vinculación de cuentas y acceso seguro a las API de Facebook.

tip:

Esta guía asume que tienes un entendimiento básico de los Conectores de Logto. Para aquellos que no están familiarizados, por favor consulta la guía de Conectores para comenzar.

Comenzar (Get started)

El conector de Facebook permite la integración con OAuth 2.0 para que tu aplicación pueda:

  • Añadir autenticación de “Iniciar sesión con Facebook”
  • Vincular cuentas de usuario con identidades de Facebook
  • Sincronizar la información del perfil de usuario desde Facebook
  • Acceder a las API de Facebook mediante el almacenamiento seguro de tokens en Logto Secret Vault para tareas de automatización (por ejemplo, responder a hilos; publicar contenido y videos en tu aplicación)

Para configurar estas funciones de autenticación, primero crea un conector de Facebook en Logto:

  1. Ve a Logto > Conector > Conector social.
  2. Haz clic en Agregar conector social, selecciona Facebook, haz clic en Siguiente y sigue el tutorial paso a paso para completar la integración.

Paso 1: Configura una aplicación en el Panel de Aplicaciones de Facebook

Antes de poder usar Facebook como proveedor de autenticación, debes configurar una aplicación en la plataforma de desarrolladores de Facebook para obtener credenciales de OAuth 2.0.

  1. Regístrate como desarrollador de Facebook si aún no tienes una cuenta.
  2. Visita la página de Aplicaciones.
  3. Haz clic en tu aplicación existente o crea una nueva si es necesario.
tip:

Un caso de uso es la forma principal en que tu aplicación interactuará con Meta y determina qué APIs, funciones, permisos y productos están disponibles para tu aplicación. Si solo necesitas autenticación social (para obtener email y public_profile), selecciona "Authentication and request data from users with Facebook Login". Si deseas acceder a las APIs de Facebook, elige tus casos de uso preferidos; la mayoría también admite la integración de "Facebook Login for business" después de crear la aplicación.

  1. Después de crear la aplicación, en la página del panel de la aplicación, navega a Casos de uso > Facebook Login > Configuración o Facebook Login for business > Configuración.
  2. Rellena el campo Valid OAuth Redirect URIs con el Callback URI de Logto (cópialo desde tu conector de Facebook en Logto). Después de que los usuarios inicien sesión con Facebook, serán redirigidos aquí con un código de autorización que Logto utiliza para finalizar la autenticación.
  3. Navega a Casos de uso y haz clic en Personalizar de tu caso de uso para añadir los alcances (scopes). Recomendamos añadir email y public_profile, que son necesarios para implementar el inicio de sesión con Facebook en Logto.

Paso 2: Configura el conector de Logto con las credenciales de cliente

  1. En el Panel de Aplicaciones de Facebook, haz clic en la barra lateral Configuración de la aplicación > Básico.
  2. Verás el App ID y el App secret en el panel.
  3. Haz clic en el botón Mostrar junto al cuadro de entrada de App secret para revelar y copiar su contenido.
  4. Configura los ajustes de tu conector de Facebook en Logto:
    • Rellena el campo clientId con el App ID.
    • Rellena el campo clientSecret con el App secret.
    • Haz clic en Guardar y Listo en Logto para conectar tu sistema de identidad con Facebook.

Paso 3: Configura los alcances (scopes)

Los alcances definen los permisos que tu aplicación solicita a los usuarios y controlan a qué datos privados puede acceder tu proyecto desde sus cuentas de Facebook.

Configura los alcances en el Panel de Aplicaciones de Facebook

  1. Navega a Panel de Aplicaciones de Facebook > Casos de uso y haz clic en el botón Personalizar.
  2. Añade solo los alcances que tu aplicación necesita. Los usuarios revisarán y autorizarán estos permisos en la pantalla de consentimiento de Facebook:
    • Para autenticación (Requerido): email y public_profile.
    • Para acceso a la API (Opcional): Cualquier alcance adicional que tu aplicación necesite (por ejemplo, threads_content_publish, threads_read_replies para acceder a la API de Threads). Consulta la Documentación para desarrolladores de Meta para ver los servicios disponibles.

Configura los alcances en Logto

Elige uno o más de los siguientes enfoques según tus necesidades:

Opción 1: No se necesitan alcances extra de API

  • Deja el campo Scopes en tu conector de Facebook en Logto en blanco.
  • Se solicitará el alcance predeterminado email public_profile para asegurar que Logto pueda obtener correctamente la información básica del usuario.

Opción 2: Solicitar alcances adicionales al iniciar sesión

  • Ingresa todos los alcances deseados en el campo Scopes, separados por espacios.
  • Cualquier alcance que incluyas aquí sobrescribe los valores predeterminados, así que asegúrate de incluir siempre los alcances de autenticación: email public_profile.

Opción 3: Solicitar alcances incrementales más adelante

  • Después de que el usuario inicie sesión, puedes solicitar alcances adicionales bajo demanda reiniciando un flujo de autorización social federada y actualizando el conjunto de tokens almacenados del usuario.
  • Estos alcances adicionales no necesitan ser incluidos en el campo Scopes de tu conector de Facebook en Logto, y pueden lograrse a través de la Social Verification API de Logto.

Siguiendo estos pasos, tu conector de Facebook en Logto solicitará exactamente los permisos que tu aplicación necesita, ni más ni menos.

tip:

Si tu aplicación solicita estos alcances para acceder a la API de Facebook y realizar acciones, asegúrate de habilitar Almacenar tokens para acceso persistente a la API en el conector de Facebook de Logto. Consulta la siguiente sección para más detalles.

Paso 4: Configuración general

Aquí tienes algunas configuraciones generales que no bloquearán la conexión con Facebook, pero pueden afectar la experiencia de autenticación del usuario final.

Sincronizar información de perfil

En el conector de Facebook, puedes establecer la política para sincronizar la información de perfil, como nombres de usuario y avatares. Elige entre:

  • Sincronizar solo al registrarse: La información del perfil se obtiene una vez cuando el usuario inicia sesión por primera vez.
  • Sincronizar siempre al iniciar sesión: La información del perfil se actualiza cada vez que el usuario inicia sesión.

Almacenar tokens para acceder a las APIs de Facebook (Opcional)

Si deseas acceder a las APIs de Facebook y realizar acciones con la autorización del usuario (ya sea mediante inicio de sesión social o vinculación de cuentas), Logto necesita obtener alcances específicos de API y almacenar los tokens.

  1. Añade los alcances requeridos siguiendo el tutorial anterior.
  2. Habilita Almacenar tokens para acceso persistente a la API en el conector de Facebook de Logto. Logto almacenará de forma segura los tokens de acceso de Facebook en el Secret Vault.
nota:

Facebook no proporciona tokens de actualización (refresh tokens). Sin embargo, cuando el almacenamiento de tokens está habilitado, Logto solicita automáticamente un token de acceso de larga duración (60 días) al autenticar al usuario. Durante este período, los usuarios pueden revocar manualmente los tokens de acceso, pero de lo contrario no necesitarán volver a autorizar para acceder a las APIs de Facebook. Nota: No añadas offline_access al campo Scope, ya que esto puede causar errores.

Paso 5: Prueba el inicio de sesión con usuarios de prueba de Facebook (Opcional)

Puedes usar cuentas de usuario de prueba, desarrollador y administrador para probar el inicio de sesión con la aplicación. También puedes publicar la aplicación directamente para que cualquier usuario de Facebook pueda iniciar sesión.

  1. En el Panel de Aplicaciones de Facebook, haz clic en la barra lateral Roles de la aplicación > Usuarios de prueba.
  2. Haz clic en el botón Crear usuarios de prueba para crear un usuario de prueba.
  3. Haz clic en el botón Opciones de un usuario de prueba existente para ver más operaciones, como "Cambiar nombre y contraseña".

Paso 6: Publica la configuración de inicio de sesión con Facebook

Normalmente, solo los usuarios de prueba, administradores y desarrolladores pueden iniciar sesión con la aplicación. Para permitir que los usuarios normales de Facebook inicien sesión con la aplicación en el entorno de producción, es posible que debas publicar esta aplicación.

  1. En el Panel de Aplicaciones de Facebook, haz clic en la barra lateral Publicar.
  2. Rellena los campos Privacy Policy URL y User data deletion si es necesario.
  3. Haz clic en el botón Guardar cambios en la esquina inferior derecha.
  4. Haz clic en el botón de cambio Live en la barra superior de la aplicación.

Utiliza el conector de Facebook (Utilize the Facebook connector)

Una vez que hayas creado un conector de Facebook y lo hayas conectado a Facebook, puedes incorporarlo en tus flujos de usuario final. Elige las opciones que se adapten a tus necesidades:

Habilita "Iniciar sesión con Facebook" (Enable "Sign-in with Facebook")

  1. En Logto Console, ve a Experiencia de inicio de sesión > Registro e inicio de sesión
  2. Agrega el conector de Facebook en la sección Inicio de sesión social para permitir que los usuarios se autentiquen con Facebook

Aprende más sobre la experiencia de inicio de sesión social.

Utiliza la Account API para construir un Centro de Cuenta personalizado en tu aplicación que permita a los usuarios autenticados vincular o desvincular su cuenta de Facebook. Sigue el tutorial de Account API

tip:

Se permite habilitar el conector de Facebook solo para vinculación de cuentas y acceso a API, sin habilitarlo para el inicio de sesión social.

Accede a la API de Facebook y realiza acciones (Access Facebook API and perform actions)

Tu aplicación puede recuperar los tokens de acceso de Facebook almacenados en el Secret Vault para llamar a las API de Facebook y automatizar tareas de backend (por ejemplo, publicar contenido o gestionar publicaciones). Consulta la guía sobre cómo recuperar tokens almacenados para el acceso a API.

Gestiona la identidad de Facebook del usuario (Manage user's Facebook identity)

Después de que un usuario vincule su cuenta de Facebook, los administradores pueden gestionar esa conexión en Logto Console:

  1. Navega a Gestión de usuarios y abre el perfil del usuario.
  2. En Conexiones sociales, localiza el elemento de Facebook y haz clic en Gestionar.
  3. En esta página, los administradores pueden gestionar la conexión de Facebook del usuario, ver toda la información de perfil otorgada y sincronizada desde su cuenta de Facebook, y comprobar el estado del token de acceso.
nota:

La respuesta del token de acceso de Facebook no incluye la información específica de los alcances (scope), por lo que Logto no puede mostrar directamente la lista de permisos otorgados por el usuario. Sin embargo, siempre que el usuario haya consentido los alcances solicitados durante la autorización, tu aplicación tendrá los permisos correspondientes al acceder a la API de Facebook. Se recomienda configurar con precisión los alcances requeridos tanto en la Consola de Desarrolladores de Facebook como en Logto para asegurar que tu aplicación tenga el acceso necesario.

Referencia (Reference)

Facebook for Developers - Documentación

Documentación de inicio de sesión de Facebook