SuperAPI AI 工具集

glab-auth

通用与其它

查看项目

更新于 10-16 01:06

技能介绍

用途:管理 GitLab CLI(glab)的身份认证,包括交互或浏览器 OAuth 登录、登出、检查状态、切换账号与自建实例,以及配置 Docker registry 访问。

主要能力与用法: 登录:glab auth login;非交互可直接用 glab auth login --hostname gitlab.com --web。自建实例可指定 --api-host、--ssh-hostname、--container-registry-domains 等。PAT 至少需要 api 和 write_repository 权限。 状态:glab auth status,支持 --hostname、--all、--output json,JSON 输出可配合 --jq 使用,且不会包含 token 本身(--show-token 与 JSON 互斥)。 登出:glab auth logout。 Docker:glab auth configure-docker 配置凭据助手,仅针对已配置的 GitLab registry 域,会保留无关助手,遇冲突不覆盖。

凭据存储:默认使用系统钥匙串(macOS Keychain、Windows Credential Manager、Linux Secret Service),旧的 --use-keyring 已弃用。仅在明确需要明文存储时使用 --insecure-storage;CI 环境中默认回退到配置文件。keyring 不可用或有写入错误时应先修复,而非当作 token 无效。snap 安装可用 sudo snap connect glab:password-manager-service。沙箱中需允许写入 glab config path --dir 目录。

多账号与自动化:不同身份应使用不同的 bot/服务账号;一个用户多个 PAT 不能产生不同可见身份。可用每身份一个 env 文件,并以 set -a; source ...; set +a 导出。任何 GitLab 写操作(评论、审批、glab api 的 POST/PATCH/PUT/DELETE)前,应先执行 glab auth status --hostname "$GITLAB_HOST" 与 glab api --hostname "$GITLAB_HOST" user 核对实际身份。CI 自动登录可设 GLAB_ENABLE_CI_AUTOLOGIN=true,但 GITLAB_TOKEN、GITLAB_ACCESS_TOKEN、OAUTH_TOKEN 优先级更高。OAuth 环境 token 需设 GLAB_IS_OAUTH2=true。

限制:401 通常源于 token 过期或环境变量覆盖存储凭据,需重登或用 glab auth status 排查。OAuth 刷新有五分钟宽限期,自建实例子目录需保留正确配置。除上述公开资料外,本技能未提供其他收费或许可信息。