【问题标题】:Identifying a user from their commit using a Personal Access Token in GitLab在 GitLab 中使用个人访问令牌从提交中识别用户
【发布时间】:2019-03-22 16:36:28
【问题描述】:

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

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

https://user:token@repo/path

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

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

我的场景涉及提交到 GitLab 存储库的 Web UI;在不同的系统上,我不希望用户使用他们的 GitLab 密码信任 Web UI。 OAuth 似乎有点过头了,但如果它是唯一的选择,那就这样吧。

【问题讨论】:

    标签: git authentication gitlab access-token


    【解决方案1】:

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

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

    最终结果:

    Python 代码:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-08-08
      • 2021-01-23
      • 2018-05-05
      • 1970-01-01
      • 2021-09-30
      • 1970-01-01
      • 2018-07-15
      相关资源
      最近更新 更多