Résoudre un problème courant d’authentification avec Git et Azure DevOps

Voici un petit message irritant au possible qu’il m’est déjà arrivé d’avoir à plusieurs reprises avec Git sur Windows, lié un repository distant Azure DevOps ou GitHub

“Git failed with a fatal error. could not read Password for…”

Avec Visual Studio, pas moyen d’avancer.

Avec Visual Studio code, on peut être amené à saisir un mot de passe. Mais c’est en réalité un token qui est demandé, et non un mot de passe. De plus, il faut le fournir à chaque utilisation.

Et si on allait sur StackOverflow?

Bien évidemment si on fait dix fois le tour de StackOverflow, on aura 10 réponses différentes plus ou moins adaptées… et parfois totalement inadaptées.

Et si on voulait comprendre?

Pour résoudre le problème, il faut déjà comprendre comment marche l’authentification sur les repository distants avec Git sur Windows.

Depuis déjà quelques années, sur Windows, il est conseillé d’utiliser « Git Credential Manager for Windows » pour stocker les données obtenues lors de votre première authentification via le Credential Manager intégré à Windows. Quand il est en place, Git ne vous demande plus jamais de vous authentifier. Cet outil installé par défaut lors du déploiement de Git sur Windows. Il est totalement invisible à l’usage (peut être trop).

Comment s’en sortir?

Quand cet outil « débloque », il y a une approche très simple pour le réinitialiser à tous les coups :

  • Supprimer les credentials enregistrées dans Windows.
  • Supprimer le cache local de Git Credential Manager for Window.

Pour la suppression des credentials, il faut ouvrir le Credential Manager de Windows (« Gestionnaire d’identification » dans la version française).

Dans la section Windows Credential (« Informations d’identification Windows » dans la version française) il faut trouver un identifiant commençant par « git:https ://.. » dont l’url correspond au service qui vous pose problème. Quand l’identifiant est trouvé, il suffit de le sélectionner et d’utiliser la commande « supprimer » qui devient alors visible.

Windows Credential Manager

Pour la suppression du cache, il faut supprimer un fichier qui se trouve dans un dossier du profil utilisateur courant.

Il se trouve dans le dossier suivant :

%SystemDrive%\Users\%USERNAME%\AppData\Local\GitCredentialManager\

Un fichier « tenant.cache » devrait s’y trouver. Il faut le supprimer.

Après, vous pourrez vous identifier à nouveau sans problèmes.

Jérémy Jeanson

Comments

You have to be logged in to comment this post.