L’authentification de base IIS invalide les jetons d’accès personnels

Azure DevOps Services

Attention

Nous vous recommandons de toujours désactiver l’authentification de base IIS. Vous devez activer l’authentification de base IIS uniquement si nécessaire. Lorsque l’authentification de base IIS est activée sur votre ordinateur Windows, cela vous empêche d’utiliser des jetons d’accès personnels (PAT) comme mécanisme d’authentification.

Par exemple, si vous utilisez un pater pour autoriser une application tierce à récupérer des informations de bogue, puis envoyez un e-mail avec les informations au destinataire du bogue (avec l’authentification de base IIS activée), l’application échoue. L’application ne peut pas récupérer les informations de bogue.

Git avec l’authentification de base IIS activée

Avertissement

Si vous utilisez Git avec l’authentification de base IIS, Git s’interrompt, car il nécessite des PAT pour l’authentification de l’utilisateur. Bien que nous ne vous recommandons pas d’utiliser l’authentification de base IIS, en ajoutant un en-tête supplémentaire aux requêtes Git, vous pouvez utiliser Git avec l’authentification de base IIS.

L’en-tête supplémentaire doit être utilisé pour toutes les installations Azure DevOps Server, car l’authentification Windows empêche également l’utilisation de PAT.

L’en-tête supplémentaire doit inclure un encodage de base 64 de « user :PAT ». Consultez le format et l’exemple suivants.

Format

git -c http.extraheader='Authorization: Basic [base 64 encoding of "user:password"]' ls-remote http://tfsserver:8080/tfs/DefaultCollection/_git/projectName

Exemple

git -c http.extraheader='Authorization: Basic a2FzYW50aGE6bzN3cDVndmw2YXRkajJkam83Znd4N2k3NDdhbGxjNXp4bnc3b3o0dGQycmd3d2M1eTdjYQ==' ls-remote http://tfsserver:8080/tfs/DefaultCollection/_git/projectName