Бернхард Кнасмюллер. GitLab: Аутентификация с использованием талона доступа

Это перевод статьи: Bernhard Knasmüller. GitLab: Authenticate Using Access Token.

Содержание

Введение

GitLab предоставляет возможность создания персональных талонов для аутентификации в Git через HTTPS. Использовать эти талоны безопаснее, чем хранить пароль к GitLab на компьютере, с которого нужен доступ в репозиторий. А также это единственный способ автоматизации доступа к репозиторию, защищённому двухфакторной аутентификацией.

Однако в документации GitLab не описано, как использовать эти талоны.

Создание талона доступа

Перейдите в "Настройки пользователя" > "Токены доступа", введите имя и, при необходимости, дату окончания годности:

token.png

В большинстве случаев достаточно прав чтения и записи в репозиторий, но можно отметить и дополнительные опции. Создайте и скопируйте талон, сохраните его в безопасном месте (лучше всего - в хранилище паролей).

Использование талона в командной строке

Ключевая информация, которой в настоящее время нет в документации: в командной строке талон можно использовать в качестве пароля для фиктивного пользователя "oauth2".

Например, для клонирования репозитория:

git clone https://oauth2:1AbCDeF_g2HIJKLMNOPqr@gitlab.com/yourusername/project.git project

Настройка талона для существующего репозитория

Метод аутентификации уже склонированного git-проекта определён в файле .git/config. Если в существующем проекте вместо аутентификации по SSH или HTTPS нужно использовать талон, исправьте этот файл следующим образом:

...
[remote "origin"]
        url = https://oauth2:1AbCDeF_g2HIJKLMNOPqr@gitlab.com/yourusername/project.git
        fetch = +refs/heads/*:refs/remotes/origin/*
...