> Manuales > Manual de Git

Cómo crear un Personal Access Token en el sitio web de GitHub para poder autenticarte correctamente, de modo que puedas realizar todo tipo de operativas, como clonar repositorios o enviar cambios a GitHub desde local a remoto.

Autenticar en GitHub con Personal Access Token

En GitHub han declarado recientemente como obsoleta la autenticación por medio de usuario y clave y ahora los desarrolladores debemos autenticarnos a través de lo que llaman el Personal Access Token. Esta acción debes hacerla para poder conectarte y realizar cualquier tipo de operativa con el servicio de GitHub.

En el Manual de Git casi no hemos hablado de GitHub todavía, pero enseguida nos pondremos con operativas relacionadas con este servicio de Hosting de repositorios. No obstante, aunque parezca que estamos saltando algunos pasos previos al abordar este tema ahora, es importante explicarlo, para dejar claro cómo realizaremos el acceso a GitHub desde el terminal de línea de comandos, o cualquier otro programa cuando estemos en local. Por favor, si hay alguna cosa que no entiendes todavía, no te preocupes porque lo veremos todo a su debido momento en el manual.

Por qué necesitamos el Personal Access Token

Anteriormente, cuando querías realizar cualquier operación en GitHub desde local y esa operación requería de acceso autenticado, ya sea mediante la línea de comandos o un programa de interfaz gráfica, podrías simplemente autenticarte usando el mismo usuario y contraseña que utilizas en el sitio web de GitHub. Ahora no es posible y tendrás que usar el mencionado Personal Access Token. Si todavía no has configurado tu equipo para adaptarte a este cambio o bien eres nuevo en GitHub, te explicamos en este artículo cómo has de hacer actualmente.

Este procedimiento lo tendrás que hacer en todo lugar donde necesites una clave para poder utilizar GitHub desde fuera del sitio web. Por ejemplo clonar un repositorio privado de GitHub en local, enviar cambios a GitHub con Push, traerte cambios con Pull, etc.

Cómo crear un Personal Access Token (PAT)

Este token se crea desde el sitio web de GitHub. El procedimiento es muy sencillo. Una vez logueado con tu usuario y contraseña en el sitio web de GitHub, accedemos a la opción "Settings" y luego a "Developer settings" y por último a "Personal access tokens".

La opción de "Settings" la encuentras en el menú desplegable de tu avatar.

Menú de settings de GitHub

Las siguientes opciones las accedes mediante el navegador de la izquierda. Entonces accederás a una página donde puedes administrar tus Personal access tokens.

Aquí vamos a crear un nuevo token con el botón "Generate new token". Entonces aparecerá un formulario que debes rellenar, indicando el nombre del token (para saber en qué lo vas a utilizar) y otros detalles como la expiración del token y los "scopes".

Formulario nuevo token personal

Los scopes son simplemente las operaciones que estarán o no permitidas desde este token. Lo más común es que des permisos para acceder a los repositorios remotos alojados en GitHub, pero existen otras operativas que puedes hacer o no tú y que podrías permitir o no con este token que vas a crear.

Copiar el PAT en un lugar seguro

Una vez generado el token aparecerá en la página de GitHub. Puedes copiarlo y ponerlo en un lugar seguro. Ten en cuenta que es como si fuera una clave de usuario! por lo que debes cerciorarte que solamente tú tengas acceso a este token.

El Personal Access Token se ha creado y podemos ver su valor

Por supuesto, no lo debes pegar en el código de ninguna aplicación, para no dejarlo visible para otras personas!! o tus accesos a GitHub podrían verse comprometidos.

Otro detalle importante es que este token solamente aparecerá una vez en la página de GitHub. Si lo necesitas recuperar porque lo has perdido simplemente no podrás hacerlo. Tendrás que generar uno nuevo.

Cómo usar el Personal Access Token de GitHub

El mecanismo para usar el PAT es tan sencillo como el que anteriormente hacíamos con la clave del sitio web.

Simplemente, cuando la operación de GitHub te pida la clave de tu usuario, en lugar de la clave colocarás el token.

Por ejemplo, en la siguiente imagen vemos el comando de clonado de un repositorio. Cuando nos piden la clave, simplemente colocamos toda la cadena del token que hemos copiado en GitHub. Con esto habremos autenticado con el token correctamente y podremos acceder a los servicios de GitHub.

Clonar un repositorio privado... nos solicitan password pero ponemos el Access Token

No intentes clonar ese repositorio con el comando que ves en la imagen, ya que es un repositorio privado y te pedirá la clave. Solamente yo tengo permisos para clonarlo, dado que es privado. Si quieres aprender esta operativa tienes un artículo que te enseña a clonar repositorios de GitHub.

Cómo borrar credenciales previamente almacenadas en GitHub en MacOS

Para los usuarios de Mac, es posible que necesites eliminar credenciales previamente almacenadas en tu equipo. Para ello tienes que abrir una aplicación llamada "Keychain Access".

En ella buscas por "GitHub" y eliminas las credenciales existentes.

Eliminar credenciales anteriores en Keychain Access

Después de realizar este paso, al intentar hacer alguna operativa de nuevo con GitHub se pedirá tu usuario y contraseña, e introducirás tu usuario y el token, tal como hemos indicado anteriormente.

Cacheo del Personal Access Token

El cacheo del Access Token lo puedes realizar en cualquier sistema operativo por medio de Git. En MacOS se hace automáticamente con la aplicación de llaves. Para los usuarios de otros sistemas operativos como Linux y Windows en la documentación de GitHub encontramos algunas otras indicaciones interesantes.

En Windows te indican que tienes que lanzar el siguiente comando:

git config --global credential.helper wincred

En Linux te informan de dos comandos útiles. Este te permite indicar que las credenciales se cacheen:

git config --global credential.helper cache

Y este otro comando te permite que las credenciales permanezcan cacheadas por el tiempo que tú estimes conveniente. El tiempo se indica en segundos. Por ejemplo, para cachear las credenciales por 3 horas lanzas el siguiente comando.

git config --global credential.helper 'cache --timeout=10800'

Eso es todo! espero que con estas indicaciones puedas realizar toda la configuración de GitHub para el acceso desde el terminal en local y poder administrar tus repositorios remotos.

Miguel Angel Alvarez

Fundador de DesarrolloWeb.com y la plataforma de formación online EscuelaIT. Com...

Manual