Github - Password authentication is temporarily disabled as part of a brownout. Please use a personal access token instead
Error github al hacer push por desactivacion de usuario y contraseña
Hoy intentando hacer un push a un repo de github me ha saltado este aviso:
remote: Password authentication is temporarily disabled as part of a brownout. Please use a personal access token instead.
remote: Please see https://github.blog/2020-07-30-token-authentication-requirements-for-api-and-git-operations/ for more information.
fatal: unable to access 'https://github.com/eacevedof/un-repo.git/': The requested URL returned error: 403
Github ya llevaba un tiempo avisandome que la forma de autenticación habia cambiado de user//password a user//pat (Personal Access Token) y que debía adaptarme.
Pasos para obtener el Personal Access Token de Github
- Entrar en tu github en esta url: https://github.com/settings/tokens. Verás algo como esto:
- Presionamos en Generate new token. Ingresamos un nombre descriptivo relacionado con los permisos que se asignaran al token generado
- Al final de la página encontraremos un botón Generate token
- Guardamos a buen recaudo el token (será nuestro nuevo password)
Con nuestro nuevo password nos falta configurar el git-cli. Tenemos que forzar al command line (gitbash) que nos vuelva a pedir el usuario y contraseña
Pasos para ingresar la nueva contraseña
-
Ejecutamos:
git config --system credential.helper
Nos mostrará el nombre del gestor de credenciales que estamos usando.
Es donde actualmente está almacenado nuestro antiguo password. En mi caso me imprime osxkeychain
Guardamos ese texto porque más adelante habrá que restaurarlo -
Borramos ese gestor con:
sudo git config --system --unset credential.helper
-
Hacemos un
git push
-
Aparecerá algo como:
Username for 'https://github.com': tu-nombre-de-usuario Password for 'https://tu-nombre-de-usuario@github.com': el-token-anterior
Si estás en vscode te preguntará si quieres vincular tu entorno con tu cuenta. Si le indicas que no, arriba te pedirá únicamente el token - Esto ya no debería dar el error. Hemos actualizado nuestras credenciales.
-
Si estás en vscode te puedes saltar este paso.
Restauramos el gestor
sudo git config --system credential.helper osxkeychain
Como último paso habría que modificar el archivo .git/config actualizando la url de origen con el token. Esto evitará que te pida constantemente el usuario y contraseña
//archivo dentro del repositorio: un-repo/.git/config
[core]
repositoryformatversion = 0
filemode = true
bare = false
logallrefupdates = true
ignorecase = true
precomposeunicode = true
[remote "origin"]
url = https://tu-nombre-de-usuario:el-token-anterior@github.com/tu-nombre-de-usuario/un-repo.git
fetch = +refs/heads/*:refs/remotes/origin/*
[branch "main"]
remote = origin
merge = refs/heads/main
Otra forma de hacer un git clone de un repo privado es la siguiente:
git clone https://tu-nombre-de-usuario:tu-token@github.com/tu-nombre-de-usuario/un-repo.git
Autor: Eduardo A. F.
Publicado: 30-06-2021 20:40
Actualizado: 24-10-2021 13:54