访问令牌
功能介绍
个人访问令牌类似某些系统中的应用专用密码。生成后可根据设置的权限访问特定的 API,可以用于创建自己的程序或者脚本。
创建访问令牌
点击页面左下角个人头像,选择「个人账户设置」。
在左侧导航栏中选择「访问令牌」进入令牌列表,点击页面右上角「新建令牌」。
- 在表单中填写令牌描述,并选择此令牌的到期时间和访问权限(参考访问令牌权限说明)。你还可以设置 IP 白名单。
令牌创建完成之后将会显示在令牌列表,并将新建的令牌的内容显示出来。
注意:令牌的内容只在刚创建完成时显示在令牌列表,刷新之后即显示为令牌描述。为了安全,请将其复制粘贴至您需要使用的地方,并不要保存副本。 如果您需要调试,请在调试后,点击「编辑」重新生成令牌。
编辑/重新生成访问令牌
在访问令牌列表,点击「编辑」即可进入任一令牌的编辑页面。
- 修改令牌:
在编辑页面,你可以修改令牌描述、权限或白名单。
- 重新生成令牌:
如果遗失了令牌,可以选择重新生成。
注意:重新生成令牌后,令牌内容也仅在创建成功时显示在列表。刷新页面即会显示为令牌描述。
删除访问令牌
如果令牌不再继续使用,为了避免信息泄露,建议将其删除。
- 删除单个令牌:
选择要删除的访问令牌,点击更多选项按钮,选择「删除」即可删除该令牌。
- 批量删除所有令牌:
如需批量删除所有令牌,点击令牌列表右上角的更多选项按钮,选择「删除全部」即可。
访问令牌权限说明
访问令牌目前与 OAuth 的 Access Token 共用一个 Scope 权限范围。
Scope 的授权分为只读与读写,只读权限值为
ro
,读写权限值为rw
。用户实际的 Scope 值是 Scope 信息 + 权限值。例如,用户信息授权为只读时,用户的令牌权限 Scope 值是user:profile:ro
。
名称 | Scope 信息 | 说明 | 权限范围(ro、rw) | Scope 值示例 |
---|---|---|---|---|
用户信息 | user:profile | 管理用户的基础信息。 | 只读 | user:profile:ro |
用户邮箱 | user:email | 管理用户的电子邮件地址。 | 只读 | user:email:ro |
用户通知 | user:notification | 管理用户的站内通知。 | 只读、读写 | user:notification:rw |
用户公钥 | user:public-key | 管理用户配置的个人公钥和部署公钥信息。 | 只读、读写 | user:public-key:ro |
团队信息 | team:profile | 管理团队基本信息。 | 只读 | team:profile:ro |
团队成员 | team:member | 管理团队成员信息以及团队成员相关操作。 | 只读、读写 | team:member:rw |
项目信息 | project:profile | 管理项目基本信息。 | 只读、读写 | project:profile:ro |
项目成员 | project:member | 管理项目成员。 | 只读、读写 | project:member:ro |
项目令牌 | project:token | 管理项目令牌。 | 只读、读写 | project:token:rw |
项目公告 | project:notice | 管理项目公告。 | 只读、读写 | project:notice:rw |
项目标签 | project:label | 管理项目标签。 | 只读、读写 | project:label:rw |
项目集信息 | program:profile | 管理项目集基本信息。 | 只读、读写 | program:profile:rw |
项目集项目 | program:project | 管理项目集下的项目列表。 | 只读、读写 | program:project:ro |
项目集成员 | program:member | 管理项目集下的成员列表。 | 只读、读写 | program:member:ro |
关联资源 | related-resource:resource | 管理团队和项目资源关联关系。 | 只读、读写 | related-resource:resource:rw |
凭据信息 | credential:profile | 管理团队凭据。 | 只读、读写 | credential:profile:ro |
Service Hooks | service-hook:profile | 管理和配置 Service Hooks。 | 只读、读写 | service-hook:profile:ro |
权限组 | ram:policy | 管理权限组。 | 只读、读写 | ram:policy:rw |
授权 | ram:grant | 配置权限授权。 | 只读、读写 | ram:grant:rw |
用户组 | ram:user-group | 管理权限用户组。 | 只读 | ram:user-group:ro |
研发度量数据集 | performance:dataset | 研发度量数据集。 | 只读 | performance:dataset:ro |
项目协同 | collaboration:issue | 配置和使用项目协同功能。 | 只读、读写 | collaboration:issue:ro |
知识管理 | document:knowledge | 管理知识空间和撰写知识文档。 | 只读、读写 | document:knowledge:rw |
文件网盘 | document:file | 管理上传、分享和下载文件等。 | 只读、读写 | document:file:ro |
API 文档 | document:api-doc | 发布、授权发布 API 文档。 | 只读、读写 | document:api-doc:rw |
代码仓库 | vcs:repository | 管理仓库。 | 只读、读写 | vcs:repository:ro |
合并请求 | vcs:merge | 管理代码仓库的合并请求。 | 只读、读写 | vcs:merge:ro |
部署公钥 | vcs:ssh-key | 管理代码仓库的部署公钥。 | 只读、读写 | vcs:ssh-key:ro |
版本管理 | vcs:release | 管理代码仓库的版本信息。 | 只读、读写 | vcs:release:ro |
外部仓库 | depot:external-repository | 管理关联的外部仓库信息。 | 只读、读写 | depot:external-repository:rw |
测试管理 | testing:profile | 管理测试计、测试用例和测试报告等。 | 只读、读写 | testing:profile:rw |
持续部署数据统计 | cd:statistics | 持续部署发布数据统计。 | 只读 | cd:statistics:ro |
持续部署主机组 | cd:host-server | 管理持续部署主机组。 | 只读、读写 | cd:host-server:ro |
持续部署云账号 | cd:cloud-account | 管理持续部署云账号。 | 只读、读写 | cd:cloud-account:rw |
持续部署应用 | cd:application | 管理和配置持续部署应用。 | 只读、读写 | cd:application:rw |
持续部署流程 | cd:pipeline | 管理和配置持续部署流程。 | 只读、读写 | cd:pipeline:ro |
制品库仓库 | artifact:repository | 管理制品库仓库。 | 只读、读写 | artifact:repository:ro |
制品库版本 | artifact:version | 管理制品版本信息。 | 只读、读写 | artifact:version:ro |
制品库配置 | artifact:properties | 管理制品库配置。 | 只读、读写 | artifact:properties:rw |
制品库包 | artifact:package | 管理制品库包。 | 只读 | artifact:package:ro |
资产列表 | assets:list | 管理资产列表。 | 只读、读写 | assets:list:rw |
资产属性 | assets:attribute | 管理资产属性。 | 只读、读写 | assets:attribute:ro |
使用访问令牌
访问令牌可以用于在 HTTP 请求中代替用户名密码,访问 CODING API。
可以在 HTTP 请求中使用 -u
参数,加入用户:
curl -X POST -u "djjdXXXXX:5ffe9a43c6425bc0a4c95bc22b1aXXXXX" https://e.coding.net/open-api -d "{\"Action\":\"DescribeCodingCurrentUser\"}"
{
"Response": {
"RequestId": "1c20991d-03a3-47d3-8c52-XXXXX",
"User": {
"Id": 123456,
"Status": 1,
"Email": "coding@tencent.com",
"GlobalKey": "djjdXXXXX",
"Avatar": "https://coding-net-production-static-ci.codehub.cn/test.jpg",
"Name": "tester",
"NamePinYin": "cxzh|ce",
"Phone": "13500000000",
"PhoneValidation": 1,
"EmailValidation": 1,
"PhoneRegionCode": "+86",
"TeamId": 7654321
}
}
}
你还可以设置至 HTTP 请求的 Header 中:
curl -X POST -H "Authorization: Bearer 5ffe9a43c6425bc0a4c95bc22b1aXXXXX" https://e.coding.net/open-api -d "{\"Action\":\"DescribeCodingCurrentUser\"}"
{
"Response": {
"RequestId": "1c20991d-03a3-47d3-8c52-XXXXX",
"User": {
"Id": 123456,
"Status": 1,
"Email": "coding@tencent.com",
"GlobalKey": "djjdXXXXX",
"Avatar": "https://coding-net-production-static-ci.codehub.cn/test.jpg",
"Name": "tester",
"NamePinYin": "cxzh|ce",
"Phone": "13500000000",
"PhoneValidation": 1,
"EmailValidation": 1,
"PhoneRegionCode": "+86",
"TeamId": 7654321
}
}
}
利用令牌访问代码仓库
在设置 Scope 权限选项中勾选 project:depot
后,可以用于访问代码仓库。
git clone https://tester:90ed7a169febb12d17e14aa5531827476f6b3a4e@test.coding.net/test/testRepo.git
Cloning into 'testRepo'...
remote: Counting objects: 11, done.
remote: Compressing objects: 100% (7/7), done.
remote: Total 11 (delta 2), reused 0 (delta 0)
Unpacking objects: 100% (11/11), done.
在阅读中是否遇到以下问题?*
您希望我们如何改进?*
如果您希望得到回复,请留下您的邮箱地址。