12 мая 2022
Как настроить авторизацию в git с помощью PAT для Azure Devops
Особенность PAT авторизации через PAT в том, что она работает поверх Basic аутентификации, используя пустое имя пользователя. Git не воспринимает авторизацию через Basic с пустым логином, потому нам нужно обходное решение.

Илья Зверев
Архитектор IT-решений

Технически git позволяет специальной настройкой передавать дополнительные http заголовки, в случае если используется протокол http. Эту настройку можно:

  1. Добавить на любой уровень настроек системные, глобальные настройки репозитория. Я предпочитаю хранить такие настройки в каждом репозитории индивидуально.

  2. Передать в команду двумя способами (только для одноразового применения или для постоянного сохранения настройки). Это работает с командой clone.

Потому готовим заголовок авторизации для http.

  1. Генерируем PAT стандартным способом. У меня, например, это будет: kdki7svwyzw25av6hnskkq77bow3vx7ed7l3xsobzr56giujayoq

  2. Теперь добавляем в начало строки двоеточие и кодируем от получившейся строки base64 (можно воспользоваться публичным сервисом), если требуется выбрать кодировку, выберите utf-8. Что получилось у меня: Omtka2k3c3Z3eXp3MjVhdjZobnNra3E3N2JvdzN2eDdlZDdsM3hzb2J6cjU2Z2l1amF5b3E=

  3. В начало строки добавляем (с пробелом на конце) Authorization: Basic

  4. Готово!

В результате у нас должна получиться такая строка:
Authorization: Basic Omtka2k3c3Z3eXp3MjVhdjZobnNra3E3N2JvdzN2eDdlZDdsM3hzb2J6cjU2Z2l1amF5b3E=
Теперь мы можем использовать эту строку в командах git:
Альтернативно, если репозиторий уже скачан, можно добавить эту опцию руками в файл .git/config Текст настройки в таком случае будет выглядеть так:
[http]
extraheader = Authorization: Basic Omtka2k3c3Z3eXp3MjVhdjZobnNra3E3N2JvdzN2eDdlZDdsM3hzb2J6cjU2Z2l1amF5b3E=
Будьте аккуратны — не задублируйте секцию http, если она уже существует.


Если было полезно, подписывайтесь на наши каналы с экспертными материалами:

Youtube >
Telegram >
⟵ Назад
Смотрите также