Español
  • GitHub
  • Secret vault
  • Token storage
  • OAuth
  • Inicio de sesión social

# Apps de GitHub vs. Apps OAuth: Elige la conexión adecuada a GitHub

Compara Apps de GitHub y Apps OAuth para la integración con Logto. Aprende las diferencias clave en seguridad, permisos, gestión de tokens y elige el método de autenticación de GitHub adecuado para tu aplicación.

Ran
Ran
Product & Design

Deja de perder semanas en la autenticación de usuarios
Lanza aplicaciones seguras más rápido con Logto. Integra la autenticación de usuarios en minutos y concéntrate en tu producto principal.
Comenzar
Product screenshot

Al integrar la autenticación de GitHub en tu aplicación Logto, tienes dos opciones: Apps de GitHub y Apps OAuth de GitHub. Aunque ambas permiten la funcionalidad de "Iniciar sesión con GitHub", ofrecen experiencias fundamentalmente diferentes en cuanto a seguridad, gestión de tokens y acceso a la API. Esta guía te ayudará a comprender las diferencias clave y a elegir el enfoque adecuado según tu caso de uso.

Antecedentes: Dos caminos para integrar GitHub

La documentación actual de Logto te guía para configurar una App OAuth de GitHub para el inicio de sesión social. Esta es la opción más sencilla y directa que funciona perfectamente para necesidades básicas de autenticación. Sin embargo, las Apps de GitHub representan el enfoque moderno recomendado por el propio GitHub, ofreciendo características de seguridad mejoradas y un control más detallado.

Piensa en ello así: las Apps OAuth son como dar a alguien una llave maestra de tu casa: obtienen acceso amplio una vez autorizados. Las Apps de GitHub, en cambio, son como un sistema de cerradura inteligente con códigos de acceso para habitaciones específicas: los usuarios pueden conceder permisos precisos solo para lo que tu app necesita.

Diferencias clave de un vistazo

Permisos: Amplios vs. detallados

  • Apps OAuth usan alcances amplios: solicitar repo otorga control total del repositorio.
  • Apps de GitHub usan permisos detallados: puedes solicitar solo "Issues: Lectura" sin acceder al código. Los usuarios también pueden seleccionar repositorios específicos durante la instalación, sin conceder acceso total a todo.

Seguridad de tokens: Permanente vs. expirable

  • Apps OAuth emiten tokens que nunca expiran (hasta ser revocados manualmente), sin mecanismo de refresco.
  • Apps de GitHub usan tokens de corta duración (expiran en 1 hora) con soporte de refresco automático: mucho más seguro para aplicaciones de larga duración.

Identidad: Usuario vs. bot

  • Apps OAuth siempre actúan como el usuario autorizador (por ejemplo, @octocat) y comparten su límite de velocidad (5,000 solicitudes/hora).
  • Apps de GitHub pueden actuar de manera independiente con su propia identidad bot (por ejemplo, @mi-app[bot]) y disfrutar de límites de velocidad escalables que crecen con el uso: perfecto para automatizaciones.

Control de acceso: Todo o nada vs. selectivo

  • Apps OAuth requieren una autorización única para todos los recursos accesibles.
  • Apps de GitHub permiten a los usuarios instalar la app, elegir repositorios específicos y recibir notificaciones webhook sobre cambios de permisos, brindando más transparencia y control.

Persistencia: Dependiente del usuario vs. independiente

  • Apps OAuth están ligadas al usuario autorizador: si ese desarrollador pierde acceso o abandona una organización, la app deja de funcionar.
  • Apps de GitHub siguen funcionando incluso si el desarrollador que instaló la app deja tu organización: garantizan un servicio ininterrumpido para automatizaciones e integraciones.

¿Cuál elegir?

Tanto las Apps de GitHub como las Apps OAuth funcionan perfectamente con el conector social de Logto. El Secret Vault de Logto almacena de forma segura los tokens de cualquiera de las integraciones, pero cada una aporta una experiencia distinta:

Inicio de sesión social básico con Apps OAuth

Si solo necesitas autenticar usuarios (Iniciar sesión con GitHub) y no vas a llamar APIs de GitHub después, la opción de App OAuth es la más rápida:

  • Configuración sencilla: los usuarios autorizan tu App OAuth e inician sesión desde GitHub.
  • Los tokens son de larga duración (sin refresco): Logto puede almacenar el token de acceso en Secret Vault, pero no hay un flujo de refresco: los tokens permanecen válidos hasta que se revocan.
  • Lo mejor cuando solo necesitas la identidad del usuario (correo, nombre, avatar) y no haces trabajos automatizados vía API.

Por qué elegir esto: es lo más rápido para prototipos o apps que solo requieren login y sincronización ocasional de perfil.

Integración avanzada con Apps de GitHub

Elige una App de GitHub cuando tu aplicación necesite acceso continuo a las APIs de GitHub, automatizaciones en segundo plano o una seguridad más estricta:

  • Permisos detallados y selección de repositorios por instalación mantienen el acceso al mínimo y auditable.
  • Los tokens son de corta duración (normalmente 1 hora) y las Apps de GitHub pueden emitir tokens de refresco. Cuando está habilitado, Logto almacena tanto el access token como el refresh token en Secret Vault y gestiona la rotación, por lo que tu backend sigue funcionando sin que el usuario deba volver a iniciar sesión.
  • La identidad de app (bot) mejora la atribución y los límites de velocidad escalables lo hacen más fiable para automatizaciones intensivas.

Ideal para:

  • Plataformas SaaS que gestionan repositorios de GitHub para los usuarios
  • Agentes de IA que interactúan con código, issues o pull requests
  • Aplicaciones que requieran acceso sostenido a la API
  • Herramientas que ejecutan tareas de automatización en segundo plano

Configuración de una App de GitHub con Logto

La configuración de una App de GitHub sigue un patrón similar al de Apps OAuth pero con algunas diferencias clave. Migrar de una App OAuth a una App de GitHub requiere muy poco esfuerzo.

Crear una App de GitHub

  1. Ve a "Configuración de GitHub > Configuración de desarrollador > Apps de GitHub"

  2. Haz clic en "Nueva App de GitHub"

  3. Configura:

    • Nombre de la App de GitHub: el identificador único de tu app
    • URL de inicio: el sitio web de tu aplicación
    • URL de callback: el URI de retorno de tu conector Logto (igual que con App OAuth)
    • Solicitar autorización de usuario (OAuth) durante la instalación: activa esta opción
    • Webhook: Opcional, según tus necesidades
    • Permisos: selecciona permisos detallados (por ejemplo, "Issues: Lectura")
    • Permisos de usuario: agrega permisos de cuenta si actúas en nombre de los usuarios
  4. Genera un secreto de cliente (igual que con Apps OAuth)

integrate-github-apps.png

Configuración en Logto

La configuración del conector Logto es casi idéntica:

  1. Introduce el Client ID de tu App de GitHub
  2. Añade el Client secret
  3. Activa "Almacenar tokens para acceso persistente a la API" si necesitas llamar a las APIs de GitHub
  4. Diferencia importante - Scopes:
    • A diferencia de las Apps OAuth (que requieren añadir scopes en el campo scope de Logto), los permisos de la App de GitHub se seleccionan en la configuración de tu App de GitHub.
    • Simplemente deja el campo scope vacío en Logto
  5. Solicitar refresh token (opcional)
    • Añade offline_access al campo scope de Logto para habilitar los refresh tokens
    • GitHub emite automáticamente un refresh token, y Logto gestiona la rotación y almacena ambos tokens en Secret Vault
    • Nota: Las Apps OAuth no admiten refresh tokens: sus tokens de acceso nunca expiran, así que offline_access no aplica. Esto es diferente al usar Apps de GitHub para la integración.

integrate-github-connector-in-logto.png

Conclusión

Aunque las Apps OAuth siguen siendo una opción válida para la autenticación básica, las Apps de GitHub representan el futuro de las integraciones con GitHub. Ofrecen mayor seguridad mediante expiración de tokens, modelos de permisos más precisos y mejor control de acceso para los usuarios.

Para los usuarios de Logto, ambas opciones funcionan con el conector social. La elección depende de tus necesidades específicas:

  • Empieza simple con Apps OAuth si solo necesitas autenticación
  • Pasa a Apps de GitHub cuando necesites acceso a APIs, automatización o mayor seguridad

Y recuerda: el Secret Vault de Logto y la capacidad automática de refresco de tokens hacen que la gestión de los tokens de Apps de GitHub sea tan simple como con las Apps OAuth, sin sacrificar seguridad. Tanto si estás construyendo un asistente de codificación con IA, una plataforma de gestión de proyectos o una herramienta de productividad para desarrolladores, ahora tienes el conocimiento para elegir la integración GitHub adecuada para tu aplicación Logto.

¿Listo para empezar? Consulta el conector de GitHub de Logto para comenzar a integrar la autenticación de GitHub hoy mismo.

Recursos adicionales