Идентификация пользователя по его коммиту с использованием токена личного доступа в GitLab - PullRequest
0 голосов
/ 22 марта 2019

Как определить, кто отправил сообщение в репозиторий GitLab, когда была сделана фиксация с помощью токена личного доступа?Я заинтересован в аудите коммитов, сделанных для общего репо.

При использовании токена для отправки в репозиторий GitLab URL удаленного источника имеет следующую форму:

https://user:token@repo/path

Iзаметил, что часть user не имеет значения;токен принимается независимо.

Меня не особо волнует использование токена личного доступа - какие есть альтернативы для аутентификации пользователей без использования их пароля GitLab?

В моем сценарии используется веб-интерфейс для фиксациирепозиторий GitLab;находясь в другой системе, я бы предпочел не требовать от пользователей доверять веб-интерфейсу со своим паролем GitLab.OAuth кажется излишним для этого, но если это единственный вариант, пусть будет так.

1 Ответ

2 голосов
/ 22 марта 2019

Я решил эту проблему с помощью API GitLab для проверки имени пользователя.

В этом конкретном примере я настроил веб-интерфейс для получения имени пользователя из токена доступа с помощью API GitLab изатем используйте его как часть сообщения фиксации.

Конечный результат:

enter image description here

Код Python:

import gitlab

gl = gitlab.Gitlab('https://host', private_token=token)
gl.auth()
gl.user.attributes.get('username')
...