GitLab CE API:检查使用的令牌是不是具有管理员权限

Posted

技术标签:

【中文标题】GitLab CE API:检查使用的令牌是不是具有管理员权限【英文标题】:GitLab CE API: Check if used token has admin rightsGitLab CE API:检查使用的令牌是否具有管理员权限 【发布时间】:2016-07-21 11:15:40 【问题描述】:

我正在为GitLab API 开发一个 Python 模块。是否有可能检查使用 private token 的用户在 GitLab 服务器上是否具有管理员权限?

一种方法是从 API 中获取一些东西,例如单个用户并检查它是否具有 only the admin can see 之类的元素,例如 two_factor_enabled。但是有没有更好、更简单的方法?

【问题讨论】:

【参考方案1】:

根据api help,is_admin 键现在包含在所有单用户 api 查询中。

我刚刚在 gitlab.com 上使用 api v4 进行了测试,查询如下:

curl --header "PRIVATE-TOKEN: Token" https://gitlab.com/api/v4/users/###

json 答案包括 ID 为 ### 的指定用户的 "is_admin":false

【讨论】:

对我不起作用...【参考方案2】:

如果您 GET /users 并传递 sudo 参数,您将得到一个 JSON 返回,其中包含一个带有布尔值的 is_admin 属性。您可以使用 Here 是文档

【讨论】:

sudo 仅以管理员身份工作,但根据gitlab.com/help/api/users.md#single-user,所有用户 api 查询现在都包含 is_admin

以上是关于GitLab CE API:检查使用的令牌是不是具有管理员权限的主要内容,如果未能解决你的问题,请参考以下文章

GitLab CE:如何禁用安全性(或自动登录)

无法在 GitLab CE 上启用 Google 登录(omniauth)

下载GitLab私有存储库

Gitlab API:如何生成私有令牌

使用 Python 访问带有 GitLab API 的项目时出现 GitlabParsingError

gitlab令牌过期