Skip to main content
Publicamos actualizaciones para la documentación con frecuencia y es posible que aún se esté traduciendo esta página. Para obtener la información más reciente, consulta la documentación en inglés.

Actualización de tokens de acceso de usuario

Para cumplir con la rotación habitual de tokens y reducir el impacto de que se ponga en riesgo alguno de ellos, puedes configurar tu GitHub App para que utilice tokens de acceso de usuario que expiren.

Acerca de los tokens de acceso de usuario que expiran

Nota: Los tokens de acceso de usuario que expiran actualmente son una característica opcional y están sujetos a cambios. Para obtener más información, consulta Tokens de acceso con caducidad de usuario a servidor para las GitHub Apps.

Para cumplir con la rotación habitual de tokens y reducir el impacto de que se ponga en riesgo alguno de ellos, puedes configurar tu GitHub App para que utilice tokens de acceso de usuario que expiren. Si la aplicación usa tokens de acceso de usuario que expiran, recibirás un token de actualización al generar un token de acceso de usuario. El token de acceso de usuario expira después de ocho horas y el token de actualización expira después de seis meses. Para obtener más información, vea «Generación de un token de acceso de usuario para una aplicación de GitHub».

Puedes usar el token de actualización para generar un nuevo token de acceso de usuario y un nuevo token de actualización. Una vez que uses un token de actualización, dicho token y el token de acceso de usuario antiguo ya no funcionarán.

Si el token de actualización expira antes de usarlo, puedes volver a generar un token de acceso de usuario y un token de actualización mediante el envío de usuarios a través del flujo de la aplicación web o el flujo del dispositivo. Para obtener más información, vea «Generación de un token de acceso de usuario para una aplicación de GitHub».

Configuración de la aplicación para usar tokens de acceso de usuario que expiran

Al crear la aplicación, la expiración de los tokens de acceso de usuario está habilitada a menos que optes por no participar. Para obtener más información, consulta "Crear una GitHub App". También puedes configurar esta opción después de crear la aplicación.

  1. Navega a la configuración de tu cuenta.

    • Para una GitHub App que pertenezca a una cuenta personal, en la esquina superior derecha de cualquier página, haz clic en tu foto de perfil y luego en Configuración. Captura de pantalla del menú desplegable "Perfil" de GitHub en GitHub.com. Una opción llamada "Configuración" está resaltada en naranja oscuro.

    • En el caso de las GitHub App que pertenezcan a una organización, en la esquina superior derecha de cualquier página, haz clic en tu foto de perfil y luego en Tus organizaciones. A continuación, a la derecha de la organización, haz clic en Configuración.

      Captura de pantalla del menú desplegable en la imagen de perfil de @octocat. "Sus organizaciones" se destaca en naranja oscuro.

  2. En la barra lateral izquierda, haz clic en Configuración del desarrollador.

  3. En la barra lateral de la izquierda, haz clic en GitHub App . Captura de pantalla de la página "Configuración del desarrollador" en GitHub. Una opción etiquetada como "Aplicaciones de GitHub" está resaltada en naranja oscuro.

  4. Junto a GitHub App que deseas modificar, haz clic en Editar.

  5. En la barra lateral de configuración de GitHub Apps, haz clic en Características opcionales.

  6. Junto a "Expiración de tokens de usuario a servidor", haz clic en Activar o Desactivar. Esta configuración puede tardar un par de segundos en aplicarse.

    GitHub recomienda participar en esta característica para mejorar la seguridad.

Si optas por los tokens de acceso de usuario que expiran después de que ya hayas generado tokens de acceso de usuario, los tokens de acceso de usuario generados anteriormente no expirarán. Puedes eliminar estos tokens mediante el punto de conexión DELETE /applications/CLIENT_ID/token. Para obtener más información, vea «Autorizaciones de OAuth».

Actualización de un token de acceso de usuario con un token de actualización

  1. Realiza una solicitud POST a esta dirección URL, junto con los parámetros de consulta siguientes: https://github.com/login/oauth/access_token

    Parámetro de consultaTipoDescripción
    client_idstringObligatorio. El id. de cliente de la instancia de GitHub App. El id. de cliente es diferente del id. de la aplicación. Puedes encontrar el id. de cliente en la página de configuración de la aplicación.

    En el caso de las aplicaciones propiedad del usuario, la página de configuración es https://github.com/settings/apps/APP-SLUG.

    En el caso de las aplicaciones propiedad de la organización, la página de configuración es https://github.com/organizations/ORGANIZATION/settings/apps/APP-SLUG.

    Reemplaza APP-SLUG por el nombre con slug de la aplicación y ORGANIZATION por el nombre con slug de la organización. Por ejemplo, https://github.com/organizations/octo-org/settings/apps/octo-app.
    client_secretstringObligatorio. El secreto de cliente de GitHub App. Puedes generar un secreto de cliente en la página de configuración de la aplicación.
    grant_typestringObligatorio. El valor debe ser "refresh_token".
    refresh_tokenstringObligatorio. El token de actualización que recibiste al generar un token de acceso de usuario.
  2. GitHub responderá con una respuesta que incluye los parámetros siguientes:

    Parámetro de respuestaTipoDescripción
    access_tokenstringToken de acceso de usuario. El token comienza con ghu_.
    expires_inintegerNúmero de segundos hasta que access_token expira. Si deshabilitaste la expiración de los tokens de acceso de usuario, este parámetro se omitirá. El valor siempre será 28800 (8 horas).
    refresh_tokenstringEl token de actualización. Si deshabilitaste la expiración de los tokens de acceso de usuario, este parámetro se omitirá. El token comienza con ghr_.
    refresh_token_expires_inintegerNúmero de segundos hasta que refresh_token expira. Si deshabilitaste la expiración de los tokens de acceso de usuario, este parámetro se omitirá. El valor siempre será 15811200 (6 meses).
    scopestringÁmbitos que tiene el token. Este valor siempre será una cadena vacía. A diferencia de un token de OAuth tradicional, el token de acceso de usuario se limita a los permisos que tienen tanto la aplicación como el usuario.
    token_typestringTipo de token. El valor siempre será bearer.