Por qué una desactivación temporal puede dejar acceso pendiente
Cuando necesitas pausar una integración rápidamente, lo obvio es suspenderla o desinstalarla. Eso resuelve el lado de la instalación. No resuelve automáticamente el lado de la autorización, que es una concesión diferente con un propietario diferente.
Suspender una GitHub App instalada bloquea temporalmente el acceso a los recursos propiedad de esa cuenta de instalación. Fuente
Esa distinción importa porque una GitHub App puede tener dos tipos de acceso a la vez: acceso de instalación a los recursos de una cuenta y autorización de usuario para actuar en nombre de una persona. Pausar uno no pausa el otro.
La suspensión no elimina la autorización separada para que una app actúe en nombre de un usuario. Fuente
Acceso de instalación frente a autorización de usuario
Usa esta tabla para decidir qué superficie necesitas cambiar realmente.
| Lo que quieres detener | Superficie que debes revisar | Qué hace la suspensión | Qué no hace |
|---|---|---|---|
| Que la app acceda a recursos propiedad de la cuenta que la instaló | La instalación en esa cuenta | Bloquea temporalmente el acceso de esa instalación | Eliminar la autorización de usuario |
| Que la app actúe en nombre de una persona | Aplicaciones de GitHub autorizadas para ese usuario | Nada por sí sola | Detener la autorización a nivel de usuario |
| Ambos, para una cuenta | Ambas superficies | Cubre solo el lado de la instalación | Deja la otra concesión en su lugar |
Una GitHub App no es una sesión de navegador activa de la que puedas simplemente cerrar sesión. Suspender una instalación es un control a nivel de cuenta sobre los recursos; la desautorización es un control a nivel de usuario sobre la acción delegada. Se gestionan por separado y deben verificarse por separado.
Lista de comprobación práctica para una desactivación temporal
- Define primero el objetivo. Decide si estás pausando el alcance de la app hacia los recursos de una cuenta, impidiendo que actúe en nombre de un usuario, o ambas cosas. La respuesta determina qué superficie tocas.
- Gestiona la instalación. Suspende la instalación en la cuenta propietaria de los recursos que quieres proteger. Trátalo como temporal y reversible.
- Revisa el lado del usuario por separado. Si la app estaba autorizada para actuar en tu nombre y quieres que eso se detenga, ve a Aplicaciones de GitHub autorizadas y desautorízala allí. No asumas que la suspensión cubrió esto.
- Registra qué cambiaste y dónde. Anota qué instalación de cuenta suspendiste y qué autorización de usuario, si alguna, eliminaste. Esto evita que una limpieza posterior pase por alto una de las dos.
- Revierte de forma deliberada. Si la pausa fue temporal, vuelve a habilitar la instalación solo después de haber confirmado si la autorización de usuario también debe restaurarse.
Desinstalar es más contundente que suspender, pero sigue teniendo un alcance limitado
Si una pausa temporal no es suficiente y quieres eliminar la instalación, desinstalar es la acción más contundente del lado de la instalación. Aun así, no alcanza por sí sola la autorización de usuario.
Desinstalar elimina el acceso de instalación de esa cuenta; la desautorización en Aplicaciones de GitHub autorizadas es una acción separada cuando el propietario quiere impedir que actúe en su nombre. Fuente
La consecuencia práctica: después de desinstalar, revisa Aplicaciones de GitHub autorizadas si el propietario también quiere que la app deje de actuar en su nombre. Eliminar una conexión no es prueba de que la otra haya desaparecido, y una app que ya no aparece en un lugar puede seguir teniendo la otra concesión.
Errores habituales
- Asumir que la suspensión es una revocación completa. Solo bloquea el acceso a los recursos de la instalación. La autorización de usuario sigue vigente hasta que la abordes.
- Tratar la desautorización como una desinstalación. Desautorizar impide que la app actúe en tu nombre, pero la instalación en una cuenta puede permanecer. Decide cuál de las dos requiere realmente tu desactivación.
- Limpiar una cuenta y olvidar la otra. Las instalaciones pertenecen a cuentas; las autorizaciones pertenecen a usuarios. Un plan de desactivación que solo nombra una superficie normalmente dejará la otra intacta.
- Reactivar demasiado pronto. Si suspendiste en lugar de desinstalar, restaurar la instalación puede restaurar el acceso a los recursos antes de que hayas revisado el lado del usuario.
Verificar ambas superficies antes de darlo por terminado
Una desactivación está completa solo cuando cada superficie que pretendías cambiar se ha comprobado según sus propios términos. Confirma el estado de la instalación en la cuenta propietaria y luego confirma el estado de la autorización en Aplicaciones de GitHub autorizadas para el usuario correspondiente. No infieras una a partir de la otra y no describas la app como si se hubiera cerrado sesión: nunca fue una sesión de navegador.
Si tu siguiente tarea es eliminar una concesión OAuth antigua y quieres mantenerla separada de las sesiones de inicio de sesión, la guía relacionada sobre revocar una app OAuth antigua de GitHub sin confundirla con una sesión de inicio de sesión cubre ese paso de limpieza diferente.