Cuando un token ha expirado o se ha revocado, ya no se puede usar para autenticar solicitudes de Git y de API. No es posible restablecer un token revocado o vencido, ya seas tú o la aplicación necesitarán crear un token nuevo.
En este artículo se explican las posibles razones por las que tu token GitHub podría revocarse o caducar.
Nota:
Cuando un token personal access token, OAuth app o GitHub App expira o se revoca, es posible que vea la acción oauth_authorization.destroy en el registro de seguridad. Para más información, consulta Revisar tu registro de seguridad.
El token se revocó después de llegar a su fecha de vencimiento
Al crear un personal access token, se recomienda establecer una expiración para el token. Al alcanzar la fecha de vencimiento de tu token, este se revocará automáticamente. Para más información, consulta Administración de tokens de acceso personal.
El token se revocó cuando se subió a un repositorio o gist público
Si se sube a un repositorio público o a un gist público un token OAuth válido, un token GitHub App o un personal access token, el token se revocará automáticamente.
El token venció debido a la falta de uso
GitHub revocará automáticamente un token de OAuth o personal access token cuando el token no se haya usado en un año.
El usuario revocó el token
Puede revocar la autorización de una GitHub App o OAuth app desde la configuración de su cuenta, lo que revocará todos los tokens asociados a la aplicación. Para más información, consulta Revisión y revocación de autorización de aplicaciones de GitHub y Revisión de las aplicaciones autorizadas de OAuth.
Una vez que se revoca una autorización, cualquier token asociado con la autorización también se revocará. Para volver a autorizar una aplicación, siga las instrucciones de la aplicación o sitio web de terceros para volver a conectar su cuenta en GitHub.
También puede revocar todas las credenciales a la vez desde la configuración de la cuenta. Esto es útil si cree que su cuenta puede estar en peligro o su hardware se perdió o robó. Para más información, consulta Revocar las credenciales.
Token revocado por un tercero
Para evitar el acceso no autorizado mediante tokens expuestos, GitHub recomienda la revocación de tokens para asegurarse de que ya no se puede usar un token para autenticarse GitHuben . La API de revocación de credenciales admite la revocación de los siguientes tipos de token:
- Personal access tokens (classic) con el
ghp_prefijo - Fine-grained personal access tokens con el
github_pat_prefijo - OAuth app tokens con el prefijo
gho_ - GitHub App tokens de usuario-servidor con el prefijo
ghu_ -
GitHub App actualiza los tokens con el prefijo `ghr_`
Si encuentra que alguno de estos tokens se ha filtrado en GitHub o en cualquier otro lugar, puede enviar una solicitud de revocación a través de la API REST. Consulte Revocación para obtener la lista completa y autoritativa de tipos de token admitidos.
Cuando se envía un token válido a la GitHubAPI de revocación de credenciales, el token se revocará automáticamente. Esta API permite a un tercero revocar un token que no poseen y ayuda a proteger los datos asociados a este token de acceso no autorizado, lo que limita el impacto de los tokens expuestos.
Para fomentar las denuncias y asegurarse de que los tokens expuestos se pueden revocar de forma rápida y sencilla, no se requiere autenticación para las solicitudes de revocación enviadas a través de la API. Como resultado, GitHub no puede proporcionar más información sobre el origen del token notificado.
OAuth app revocó el token
El propietario de un OAuth app puede revocar la autorización de una cuenta para su aplicación, lo que también revocará los tokens asociados a dicha autorización. Para obtener más información sobre la revocación de las autorizaciones de sus OAuth app, consulte Puntos de conexión de la API de REST para las autorizaciones de OAuth.
OAuth app los propietarios también pueden revocar tokens individuales asociados a una autorización. Para obtener más información sobre cómo revocar tokens individuales para OAuth app, consulte Puntos de conexión de la API de REST para las autorizaciones de OAuth.
Se revocó el token debido a un exceso de tokens para un OAuth app con el mismo ámbito
Hay un límite de diez tokens que se emiten por combinación de usuario/aplicación/ámbito y un límite de frecuencia de diez tokens creados por hora. Si una aplicación crea más de diez tokens para el mismo usuario y los mismos alcances, se revocarán los tokens más antiguos con la misma combinación de usuario/aplicación/alcance. Sin embargo, alcanzar el límite de volumen por hora no revocará el token más antiguo. En su lugar, desencadenará una solicitud de nueva autorización en el explorador, y se pedirá al usuario que compruebe los permisos que concede a la aplicación. Este mensaje está pensado interrumpir cualquier bucle infinito posible en el que la aplicación está atrapada, ya que hay pocos o ningún motivo para que una aplicación solicite diez tokens al usuario en un plazo de una hora.
El token de usuario ha expirado debido a la GitHub App configuración
Los tokens de acceso de usuario creados por un GitHub App expirarán después de ocho horas de forma predeterminada y, a continuación, se deben volver a generar mediante el token de actualización incluido. Los propietarios de GitHub Apps pueden configurar estos tokens para que nunca expiren en su lugar, pero esto no se recomienda debido a las implicaciones de seguridad. Para obtener más información sobre la configuración de los tokens de acceso de usuario de GitHub App, consulte Activación de características opcionales para aplicaciones de GitHub.
Token revocado por los propietarios de la empresa
Los propietarios de empresas en GitHub Enterprise Cloud pueden revocar autorizaciones de SSO o eliminar credenciales para usuarios individuales o de forma masiva al responder ante incidentes de seguridad. Revocar las autorizaciones de SSO elimina el acceso a los recursos de la organización protegidos por SSO, mientras que eliminar las credenciales (disponibles solo para Enterprise Managed Users) elimina por completo las credenciales.
Para más información, consulta Revocar las autorizaciones de SSO o eliminar credenciales en su empresa.