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

Identifying a user from their commit using a Personal Access Token in GitLab

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

当使用令牌推送到 GitLab 存储库时,远程源 URL 具有以下形式:

https://user:token@repo/path

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

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

我的场景涉及一个网络 UI 提交到 GitLab 存储库;在不同的系统上,我不想要求用户使用他们的 GitLab 密码信任网络 UI。 OAuth 似乎有点矫枉过正,但如果它是唯一的选择,那就这样吧。

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

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

最终结果:

Python代码:

import gitlab

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