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 "Registering a GitHub App". También puedes configurar esta opción después de crear la aplicación.
-
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.
-
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.
-
-
En la barra lateral izquierda, haga clic en Developer settings (Configuración del desarrollador).
-
En la barra lateral de la izquierda, haz clic en GitHub App .
-
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 «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.
En el caso de las aplicaciones propiedad del usuario, la página de configuración eshttps://github.com/settings/apps/APP-SLUG
.
En el caso de las aplicaciones propiedad de la organización, la página de configuración eshttps://github.com/organizations/ORGANIZATION/settings/apps/APP-SLUG
.
ReemplazaAPP-SLUG
por el nombre con slug de la aplicación yORGANIZATION
por el nombre con slug de la organización. Por ejemplo,https://github.com/organizations/octo-org/settings/apps/octo-app
.client_secret
string
Obligatorio. 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_type
string
Obligatorio. 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á15811200
(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
.