Правильный глобальный конфиг git для токенов личного доступа в GitLab - PullRequest
0 голосов
/ 06 мая 2020

Вопрос : Как мне настроить моего глобального пользователя (я предполагаю) .gitconfig для использования токена личного доступа в gitlab? Из-за других ограничений моих коллег и нашего репозитория я считаю, что это единственный способ, чтобы он работал для всех.

Например, вот как использовать токен личного доступа в удаленной конфигурации клонированного репозитория, и работает:

[remote "origin"]
     url = https://gitlab-ci-token:[PERSONAL ACCESS TOKEN]@gitlab.com/path/to/repostiory.git

Но как нам настроить нашу глобальную git конфигурацию, чтобы токен был автоматически c? Я предполагаю, что должен быть какой-то ключ вроде

git config --global gitlab.[????somethingtoken????] [PERSONAL ACCESS TOKEN]

Но, хоть убей, я не могу найти его нигде или в какой-либо документации. Кажется, что gitlab.accesstoken работал в какой-то момент истории, но они изменили свой подход. ни gitlab.ci-token, ни gitlab.gitlab-ci-token похоже не работают.

Предостережения (предотвращающие очевидные альтернативы):

  1. Это не просто неудобство - мы используйте подмодули git, в которых исходный URL-адрес должен быть включен в родительский репозиторий, поэтому мы буквально не можем использовать токенизированный URL-адрес, потому что он будет доступен другим пользователям в .gitmodules
  2. У нас есть пользователи, работающие из дома на Windows без S SH, поэтому мы ограничены протоколом репозитория https и не можем переключиться на s sh

Спасибо за вашу помощь / наблюдения

1 Ответ

0 голосов
/ 07 мая 2020

Вы хотите использовать для этой цели помощник по учетным данным. Каждый пользователь должен настроить помощник по учетным данным, установив для credential.helper соответствующее значение (wincred или manager в Windows, osxkeychain в macOS и libsecret в Linux), а затем введите свои имя пользователя и токен при появлении запроса. Это сохранит их учетные данные, и они будут использоваться для последующего доступа к тому же серверу.

Git сам ничего не знает о ключах, начинающихся с gitlab, потому что Git - это agnosti c на вашу хостинговую платформу. Точно так же он ничего не знает о GitHub. Даже если это так, хранение секретов в конфигурации Git небезопасно (и, следовательно, размещение их в URL-адресе), а использование помощника по учетным данным сохраняет их в зашифрованном хранилище учетных данных системы.

...