Skip to main content

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 "Registro de una instancia de GitHub App". También puedes configurar esta opción después de crear la aplicación.

  1. En la esquina superior derecha de cualquier página en GitHub Enterprise Cloud, haga clic en su fotografía de perfil.

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

    • Para una aplicación propiedad de una cuenta personal, haga clic en Configuración.
    • Para una aplicación propiedad de una organización:
      1. Haga clic en Sus organizaciones.
      2. A la derecha de la organización, haga clic en Configuración.
  3. En la barra lateral izquierda, haz clic en Configuración del desarrollador.

  4. En la barra lateral de la izquierda, haga clic en GitHub Apps .

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

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

  7. 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.
    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.