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 Apps 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 Apps.
  3. Haz clic en tu app existente o crea una nueva si es necesario.
tip:

Un caso de uso es la forma principal en que tu app interactuará con Meta y determina qué APIs, funciones, permisos y productos están disponibles para tu app. 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 app.

  1. Después de crear la app, en la página del panel de la app, navega a Use cases > Facebook Login > Settings o Facebook Login for business > Settings.
  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 Use cases y haz clic en Customize 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 Apps de Facebook, haz clic en la barra lateral App settings > Basic.
  2. Verás el App ID y el App secret en el panel.
  3. Haz clic en el botón Show junto al campo de App secret para mostrar 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 Save and Done en Logto para conectar tu sistema de identidad con Facebook.

Paso 3: Configura los alcances (scopes)

Los alcances (scopes) definen los permisos que tu app 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 Apps de Facebook

  1. Navega a Facebook App Dashboard > Use cases y haz clic en el botón Customize.
  2. Añade solo los alcances que tu app 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 app 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 una o más de las siguientes opciones según tus necesidades:

Opción 1: No necesitas alcances de API adicionales

  • 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: Solicita alcances adicionales al iniciar sesión

  • Introduce 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: Solicita 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 federado y actualizando el conjunto de tokens almacenados del usuario.
  • Estos alcances adicionales no necesitan estar 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 app necesita, ni más ni menos.

tip:

Si tu app solicita estos alcances para acceder a la API de Facebook y realizar acciones, asegúrate de habilitar Store tokens for persistent API access en el conector de Facebook de Logto. Consulta la siguiente sección para más detalles.

Paso 4: Configuración general

Aquí tienes algunos ajustes 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:

  • Solo sincronizar al registrarse: La información del perfil se obtiene una vez cuando el usuario inicia sesión por primera vez.
  • Siempre sincronizar 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 de API específicos y almacenar los tokens.

  1. Añade los alcances requeridos siguiendo el tutorial anterior.
  2. Habilita Store tokens for persistent API access 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 periodo, 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 app. También puedes publicar la app directamente para que cualquier usuario de Facebook pueda iniciar sesión.

  1. En el Panel de Apps de Facebook, haz clic en la barra lateral App roles > Test Users.
  2. Haz clic en el botón Create test users para crear un usuario de prueba.
  3. Haz clic en el botón Options de un usuario de prueba existente para ver más operaciones, como "Change name and password".

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 app. Para permitir que los usuarios normales de Facebook inicien sesión con la app en el entorno de producción, puede que necesites publicar esta app.

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

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 los 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 el 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