使用GitLab中的个人访问令牌从用户的提交中识别用户

时间:2019-03-22 16:36:28

标签: git authentication gitlab access-token

在使用个人访问令牌进行提交时,如何确定谁推送到GitLab存储库?我有兴趣审核对共享存储库所做的提交。

使用令牌推送到GitLab存储库时,远程原始URL的格式如下:

https://user:token@repo/path

我注意到user部分无关紧要;令牌被接受,无论如何。

我对使用个人访问令牌并不特别挑剔-还有什么其他方法可以在不使用GitLab密码的情况下对用户进行身份验证?

我的场景涉及一个Web UI提交到GitLab存储库;在不同的系统上,我宁愿不要要求用户使用其GitLab密码信任Web UI。 OAuth似乎对此有些矫kill过正,但如果是唯一的选择,那就这样吧。

1 个答案:

答案 0 :(得分:1)

我已经通过使用GitLab API验证用户名解决了这个问题。

在此特定实例中,我已配置Web UI以使用GitLab API从访问令牌中获取用户名,然后将其用作提交消息的一部分。

最终结果:

enter image description here

Python代码:

import gitlab

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