MOn*_*ntu 7 rest gitlab gitlab-api personal-access-token
如何从 GitLab 检查个人访问令牌的范围(权限)?给定个人访问令牌,获取该令牌允许的所有范围。
截至 2022 年,完全不可能检查给定 PAT(个人访问令牌)的范围。然而,可以列出给定令牌后面的用户的所有 PAT 的范围。
换句话说,如果给定令牌 G 背后的用户拥有令牌 T1 和 T2,则可以检查 T1 和 T2 的范围,但无法可靠地确定 G == T1 还是 G == T2 等。
curl要使用和打印第一个非撤销令牌的范围jq:
$ GITLAB_TOKEN="glpat-DefineYourOwn"
$ curl -sS -f -H "PRIVATE-TOKEN: ${GITLAB_TOKEN}" -H "Content-Type:application/json" "https://gitlab.com/api/v4/personal_access_tokens" | jq -j "map(select(.revoked == false)) | .[0].scopes | join(\" \")"
Run Code Online (Sandbox Code Playgroud)
示例输出:
read_user read_api
Run Code Online (Sandbox Code Playgroud)
唉,上面的命令不知道所提供的令牌与用户的其他令牌。还可以通过过滤令牌名称来进一步限制选择:
"map(select((.revoked == false) and (.name == \"${EXPECTED_TOKEN_NAME_VAR}\")))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2392 次 |
| 最近记录: |