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.
-
En la esquina superior derecha de cualquier página en GitHub Enterprise Server, haga clic en su fotografía de perfil.
-
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:
- Haga clic en Sus organizaciones.
- A la derecha de la organización, haga clic en Configuración.
-
En la barra lateral izquierda, haz clic en Configuración del desarrollador.
-
En la barra lateral de la izquierda, haga clic en GitHub Apps .
-
Junto a GitHub App que deseas modificar, haz clic en Editar.
-
En la barra lateral de configuración de GitHub Apps, haz clic en Características opcionales.
-
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 «Puntos de conexión de la API de REST para las autorizaciones de OAuth».
Actualización de un token de acceso de usuario con un token de actualización
-
Realiza una solicitud
POST
a esta dirección URL, junto con los parámetros de consulta siguientes:http(s)://HOSTNAME/login/oauth/access_token
Parámetro de consulta Tipo Descripción client_id
string
Obligatorio. 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_secret
string
Necesario a menos que se genere el token de acceso de usuario mediante el flujo del dispositivo. El secreto de cliente de GitHub App. grant_type
string
Necesario. El valor debe ser "refresh_token". refresh_token
string
Obligatorio. El token de actualización que recibiste al generar un token de acceso de usuario. -
GitHub responderá con una respuesta que incluye los parámetros siguientes:
Parámetro de respuesta Tipo Descripción access_token
string
Token de acceso de usuario. El token comienza con ghu_
.expires_in
integer
Nú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_token
string
El 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_in
integer
Nú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á15897600
(6 meses).scope
string
Á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_type
string
Tipo de token. El valor siempre será bearer
.