在 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')
当使用个人访问令牌进行提交时,如何确定谁推送到 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')