Aplicaciones de GitHub vs. Aplicaciones OAuth: Elige la conexión de GitHub adecuada
Compara las aplicaciones de GitHub y las aplicaciones OAuth para la integración con Logto. Conoce 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.
Al integrar la autenticación de GitHub en tu aplicación Logto, tienes dos opciones: las Aplicaciones de GitHub y las Aplicaciones OAuth de GitHub. Aunque ambas permiten la funcionalidad de "Iniciar sesión con GitHub", ofrecen experiencias fundamentalmente diferentes en términos de seguridad, gestión de tokens y acceso a la API. Esta guía te ayudará a entender las diferencias clave y a elegir el enfoque correcto para tu caso de uso.
Contexto: Dos caminos para la integración con GitHub
La documentación actual de Logto te guía paso a paso para configurar una Aplicación OAuth de GitHub para el inicio de sesión social. Esta es la opción más simple y directa que funciona muy bien para necesidades básicas de autenticación. Sin embargo, las Aplicaciones de GitHub representan el enfoque moderno, recomendado por el propio GitHub, ofreciendo características de seguridad mejoradas y un control más granular.
Piénsalo así: las Aplicaciones OAuth son como darle a alguien una llave maestra de tu casa: obtienen un acceso amplio una vez autorizados. Las Aplicaciones de GitHub, en cambio, son como un sistema de cerradura inteligente con códigos de acceso específicos para diferentes habitaciones: los usuarios pueden otorgar permisos precisos para exactamente lo que tu aplicación necesita.
Diferencias clave de un vistazo
Permisos: Amplios vs. granulares
- Aplicaciones OAuth usan permisos amplios — solicitar
repootorga control total sobre el repositorio. - Aplicaciones de GitHub usan permisos granulares — puedes solicitar solo "Problemas: lectura" sin tocar el código. Los usuarios también pueden seleccionar repositorios específicos durante la instalación, sin otorgar acceso total.
Seguridad de tokens: Permanente vs. caduca
- Aplicaciones OAuth emiten tokens que nunca caducan (hasta que se revoquen manualmente), sin un mecanismo de actualización.
- Aplicaciones de GitHub usan tokens de corta duración (expiran en 1 hora) con soporte de actualización automática — mucho más seguro para aplicaciones de larga duración.
Identidad: Usuario vs. bot
- Aplicaciones OAuth siempre actúan como el usuario que autoriza (por ejemplo,
@octocat) y comparten su límite de solicitudes (5,000 solicitudes/hora). - Aplicaciones de GitHub pueden actuar de manera independiente con su propia identidad de bot (por ejemplo,
@mi-aplicacion[bot]) y disfrutar de límites de solicitudes escalables que crecen con el uso — perfecto para la automatización.
Control de acceso: Todo o nada vs. selectivo
- Aplicaciones OAuth requieren una autorización única para todos los recursos accesibles.
- Aplicaciones de GitHub permiten que los usuarios instalen la app, elijan repositorios específicos y reciban notificaciones de webhook sobre cambios de permisos — proporcionando mejor transparencia y control.
Persistencia: Dependiente del usuario vs. independiente
- Aplicaciones OAuth están ligadas al usuario que autoriza — si ese desarrollador pierde acceso o abandona una organización, la app deja de funcionar.
- Aplicaciones de GitHub continúan funcionando incluso si el desarrollador que instaló la app abandona tu organización — asegurando un servicio ininterrumpido para la automatización y las integraciones.
¿Cuál elegir?
Tanto las Aplicaciones de GitHub como las Aplicaciones OAuth funcionan perfectamente con el conector social de Logto. Secret Vault de Logto almacena de forma segura los tokens de cualquier integración, pero cada una ofrece una experiencia distinta:
Inicio de sesión social básico con Aplicaciones OAuth
Si solo necesitas autenticar usuarios (Iniciar sesión con GitHub) y no llamas a las API de GitHub después, la ruta de Aplicación OAuth es la más rápida:
- Configuración simple: los usuarios autorizan tu Aplicación OAuth e inician sesión vía GitHub.
- Los tokens son de larga duración (sin actualización): Logto puede almacenar el token de acceso en Secret Vault, pero no hay flujo de actualización — los tokens siguen siendo válidos hasta que se revoquen.
- Ideal cuando solo necesitas la identidad del usuario (correo electrónico, nombre, avatar) y no realizas trabajos automatizados con la API.
Por qué elegir esto: la manera más rápida de implementar prototipos o aplicaciones que solo requieren inicio de sesión y sincronización ocasional del perfil.
Integración mejorada con Aplicaciones de GitHub
Elige una Aplicación de GitHub cuando tu aplicación necesite acceso continuo a las API de GitHub, automatización en segundo plano o una seguridad más estricta:
- Los permisos granulares y la selección de repositorios por instalación mantienen el acceso mínimo y auditable.
- Los tokens son de corta duración (típicamente 1 hora) y las Aplicaciones de GitHub pueden proporcionar tokens de actualización; cuando está habilitado, Logto almacena tanto el token de acceso como el de actualización en Secret Vault y gestiona la rotación para que tu backend siga funcionando sin que el usuario tenga que volver a iniciar sesión.
- La identidad de la aplicación (bot) mejora la atribución y los límites escalables de solicitudes lo hacen más fiable para automatización intensiva.
Lo mejor para:
- Plataformas SaaS que gestionan repositorios de GitHub en nombre de usuarios
- Agentes de IA que interactúan con código, problemas o pull requests
- Aplicaciones que requieren acceso sostenido a la API
- Herramientas que realizan tareas de automatización en segundo plano
Configuración de una Aplicación de GitHub con Logto
Configurar una Aplicación de GitHub sigue un patrón similar al de las aplicaciones OAuth, con algunas diferencias clave. Migrar de una Aplicación OAuth a una de GitHub requiere un esfuerzo mínimo.
Crear una Aplicación de GitHub
-
Ve a "Configuración de GitHub > Configuración de desarrollador > Aplicaciones de GitHub"
-
Haz clic en "Nueva Aplicación de GitHub"
-
Configura:
- Nombre de la Aplicación de GitHub: Identificador único de tu app
- URL de la página principal: Sitio web de tu aplicación
- URL de callback: URI de callback de tu conector de Logto (igual que en la Aplicación OAuth)
- Solicitar autorización de usuario (OAuth) durante la instalación: habilitar esto
- Webhook: Opcional, según tus necesidades
- Permisos: Elige permisos granulares (por ejemplo, "Problemas: lectura")
- Permisos de usuario: Agrega permisos de cuenta si tu app actúa en nombre de los usuarios
-
Genera un secreto de cliente (igual que la Aplicación OAuth)
Configuración en Logto
La configuración del conector de Logto es casi idéntica:
- Ingresa el ID de cliente de tu Aplicación de GitHub
- Agrega el secreto de cliente
- Habilita "Almacenar tokens para acceso persistente a la API" si necesitas llamar a las API de GitHub
- Diferencia clave - Scopes:
- A diferencia de las Aplicaciones OAuth (que requieren agregar scopes en el campo correspondiente de Logto), los permisos de la Aplicación de GitHub se seleccionan en la configuración de tu Aplicación de GitHub.
- Simplemente deja vacío el campo de scopes en Logto
- Solicitar token de actualización (opcional)
- Agrega
offline_accessal campo scope en Logto para habilitar tokens de actualización - GitHub emite automáticamente un token de actualización, y Logto gestiona la rotación y almacena ambos tokens en Secret Vault
- Nota: las Aplicaciones OAuth no soportan tokens de actualización — sus tokens de acceso nunca expiran, así que
offline_accessno aplica. Esto es diferente al usar aplicaciones de GitHub para la integración.
- Agrega
Conclusión
Si bien las Aplicaciones OAuth siguen siendo una opción válida para la autenticación básica, las Aplicaciones de GitHub representan el futuro de las integraciones con GitHub. Ofrecen una seguridad superior gracias a la expiración de tokens, modelos de permisos más precisos y un mejor control de acceso para los usuarios.
Para los usuarios de Logto, ambas opciones funcionan con el conector social. La decisión depende de tus necesidades específicas:
- Comienza simple con Aplicaciones OAuth si solo necesitas autenticación
- Avanza a Aplicaciones de GitHub cuando necesites acceso a la API, automatización o seguridad mejorada
Y recuerda: Secret Vault de Logto y las capacidades automáticas de actualización de tokens hacen que gestionar los tokens de las Aplicaciones de GitHub sea tan sencillo como con las Aplicaciones OAuth, sin sacrificar seguridad. Ya sea que 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 cuentas con el conocimiento para elegir la integración de GitHub adecuada para tu aplicación Logto.
¿Listo para comenzar? Consulta el conector de GitHub de Logto para empezar a integrar la autenticación de GitHub hoy mismo.
Recursos adicionales
- GitHub: Diferencias entre Aplicaciones de GitHub y Aplicaciones OAuth
- GitHub: Migrar aplicaciones OAuth a aplicaciones de GitHub
- Logto: Configura el inicio de sesión social con GitHub
- Logto: Almacenamiento de tokens de terceros y acceso a la API
- GitHub: Crear una aplicación de GitHub
- GitHub: Scopes para aplicaciones OAuth