Skip to content

  • 体验新版
    • 正在加载...
  • 登录
  • GitCode
  • 帮助文档帮助文档
  • Wiki
    • Docs
    • User
    • Profile
  • token

帮助文档
帮助文档
  • 项目概览

GitCode / 帮助文档

通知 1800
Star 580
Fork 457
  • 代码
    • 文件
    • 提交
    • 分支
    • Tags
    • 贡献者
    • 分支图
    • Diff
  • Issue 44
    • 列表
    • 看板
    • 标记
    • 里程碑
  • 合并请求 1
  • DevOps
    • 流水线
    • 流水线任务
    • 计划
  • Wiki 89
    • Wiki
  • 分析
    • 仓库
    • DevOps
  • 代码片段
  • 项目成员
  • Pages
帮助文档
帮助文档
  • 项目概览
    • 项目概览
    • 详情
    • 发布
  • 仓库
    • 仓库
    • 文件
    • 提交
    • 分支
    • 标签
    • 贡献者
    • 分支图
    • 比较
  • Issue 44
    • Issue 44
    • 列表
    • 看板
    • 标记
    • 里程碑
  • 合并请求 1
    • 合并请求 1
  • Pages
  • DevOps
    • DevOps
    • 流水线
    • 流水线任务
    • 计划
  • 分析
    • 分析
    • 仓库分析
    • DevOps
  • Wiki 89
    • Wiki
  • 代码片段
    • 代码片段
  • 成员
    • 成员
  • 收起侧边栏
  • 动态
  • 分支图
  • 创建新Issue
  • 流水线任务
  • 提交
  • Issue看板

token

最后修改来自于熊佳牧 10月 22, 2020
页面历史
这是此页面的过期版本。 你可以查看 最新版本 或浏览 历史。

个人访问令牌

版本历史

  • 在 GitLab 8.8 中引入 .
  • 在 GitLab 12.6 中添加了有关令牌过期的通知 .
  • 在GitLab Ultimate 12.6 中添加了令牌生存期限制 .

If you’re unable to use OAuth2, you can use a personal access token to authenticate with the GitLab API.

您还可以将个人访问令牌与 Git 一起使用,以通过 HTTP 或 SSH 进行身份验证. 启用两因素身份验证(2FA)时,需要个人访问令牌. 在这两种情况下,都可以使用令牌代替密码进行身份验证.

个人访问令牌在您定义的日期 UTC 午夜到期.

  • GitLab 每天在世界标准时间 01:00 AM 进行检查,以识别将在 7 天内到期的个人访问令牌. 这些令牌的所有者通过电子邮件通知.
  • 在 GitLab Ultimate 中,管理员可以限制个人访问令牌的寿命 .
  • 在 GitLab Ultimate 中,管理员可以切换个人访问令牌到期的执行 .

有关如何使用个人访问令牌向 API 进行身份验证的示例,请参见API 文档中的以下部分.

GitLab 还提供了模拟令牌 ,这些令牌是管理员通过 API 创建的. 它们非常适合作为特定用户的自动身份验证.

Creating a personal access token

您可以在 GitLab 个人资料中创建任意数量的个人访问令牌.

  1. 登录到 GitLab.
  2. 点击右上角的头像,然后选择设置 .
  3. 在" **用户设置"**菜单上,选择" 访问令牌" .
  4. 选择令牌的名称和可选的到期日期.
  5. 选择所需的范围 .
  6. 单击创建个人访问令牌按钮.
  7. 将个人访问令牌保存在安全的地方. 离开或刷新页面后,将无法再次访问它.

Revoking a personal access token

您可以随时单击" **活动个人访问令牌"**区域下的相应" **撤消"**按钮来撤消任何个人访问令牌.

Token activity

您可以从" 个人访问令牌"页面查看上次使用令牌的时间 . 令牌使用情况的更新每 24 小时固定一次. 对API 资源和GraphQL API 的请求将更新令牌的用法.

Limiting scopes of a personal access token

可以使用一个或多个范围创建个人访问令牌,这些范围允许给定令牌可以执行各种操作. 下表描述了可用范围.

Scope 引入 Description
read_user GitLab 8.15 允许访问/users下的只读端点. 本质上,允许用户 API中的任何GET请求.
api GitLab 8.15 授予对 API 的完全读写访问权限,包括所有组和项目,容器注册表和程序包注册表.
read_api GitLab 12.10 授予对 API 的读取权限,包括所有组和项目,容器注册表和程序包注册表.
read_registry GitLab 9.3 如果项目是私有的并且需要授权,则允许读取(拉出) 容器注册表图像.
sudo GitLab 10.2 允许以系统中的任何用户身份执行 API 操作(如果经过身份验证的用户是管理员).
read_repository GitLab 10.7 允许通过git clone对存储库进行只读访问(拉).
write_repository GitLab 11.11 允许通过git clone对存储库进行读写访问(拉,推). 启用 2FA 时,通过 HTTP 访问 Git 存储库是必需的.

Programmatically creating a personal access token

您可以以编程方式创建预定的个人访问令牌,以用于自动化或测试. 您将需要足够的访问权限才能为 GitLab 实例运行Rails 控制台会话 .

要使用用户名automation-bot创建属于用户的令牌,请在 Rails 控制台( sudo gitlab-rails console )中运行以下sudo gitlab-rails console :

user = User.find_by_username('automation-bot')
token = user.personal_access_tokens.create(scopes: [:read_user, :read_repository], name: 'Automation token')
token.set_token('token-string-here123')
token.save! 

使用GitLab Rails Runner可以将其简化为单行 shell 命令:

sudo gitlab-rails runner "token = User.find_by_username('automation-bot').personal_access_tokens.create(scopes: [:read_user, :read_repository], name: 'Automation token'); token.set_token('token-string-here123'); token.save!" 

**注意:**令牌字符串的长度必须为 20 个字符,否则将不会被识别为个人访问令牌.

有效范围的列表及其作用可以在源代码中找到.

Programmatically revoking a personal access token

您可以通过编程方式撤消个人访问令牌. 您将需要足够的访问权限才能为 GitLab 实例运行Rails 控制台会话 .

要撤销已知令牌token-string-here123 ,请在 Rails 控制台( sudo gitlab-rails console )中运行以下sudo gitlab-rails console :

token = PersonalAccessToken.find_by_token('token-string-here123')
token.revoke! 

可以使用GitLab Rails Runner将其简化为单行 shell 命令:

sudo gitlab-rails runner "PersonalAccessToken.find_by_token('token-string-here123').revoke!" 
克隆仓库
  • Home
  • docs
    • api
    • api
      • runners
    • basic
      • create project
    • ci
    • ci
      • lint
      • pipelines
      • pipelines
        • schedules
        • settings
      • runners
      • variables
      • yaml
      • yaml
        • ci_yaml
    • overview
    • ssh
查看所有页面
渝ICP备2023009037号

京公网安备11010502055752号

网络110报警服务 Powered by GitLab CE v13.7
开源知识
Git 入门 Pro Git 电子书 在线学 Git
Markdown 基础入门 IT 技术知识开源图谱
帮助
使用手册 反馈建议 博客
《GitCode 隐私声明》 《GitCode 服务条款》 关于GitCode
Powered by GitLab CE v13.7