title | pageTitle | pagePrevTitle | pagePrev |
---|---|---|---|
个人访问令牌 - CODING 帮助中心 |
个人访问令牌 |
登录常见问题 |
member/personal-account/login-faq.html |
个人访问令牌类似某些系统中的应用专用密码。生成后可根据设置的权限访问特定的 API,可以用于创建自己的程序或者脚本。
-
点击页面右上角个人头像,选择「个人账户设置」。
-
在左侧导航栏中选择「访问令牌」进入令牌列表,点击页面右上角「新建令牌」。
- 在表单中填写令牌描述,并选择此令牌的访问权限(参考访问令牌权限说明)。你还可以设置 IP 白名单。
令牌创建完成之后将会显示在令牌列表,并将新建的令牌的内容显示出来。
注意:令牌的内容只在刚创建完成时显示在令牌列表,刷新之后即显示为令牌描述。为了安全,请将其复制粘贴至您需要使用的地方,并不要保存副本。 如果您需要调试,请在调试后,点击「编辑」重新生成令牌。
在访问令牌列表,点击「编辑」即可进入任一令牌的编辑页面。
- 修改令牌:
在编辑页面,你可以修改令牌描述、权限或白名单。
- 重新生成令牌:
如果遗失了令牌,可以选择重新生成。
注意:重新生成令牌后,令牌内容也仅在创建成功时显示在列表。刷新页面即会显示为令牌描述。
如果令牌不再继续使用,为了避免信息泄露,建议将其删除。
- 删除单个令牌:
选择要删除的访问令牌,点击更多选项按钮,选择「删除」即可删除该令牌。
- 批量删除所有令牌:
如需批量删除所有令牌,点击令牌列表右上角的更多选项按钮,选择「删除全部」即可。
访问令牌目前与 OAuth 的 Access Token 共用一个 Scope 权限范围。
Scope 名称 | 说明 | 授权 |
---|---|---|
project:depot | 获取 commit 信息,分支操作,MR/PR, LineNotes, fork, webhook 等操作 | 读写 |
user | 授权获取用户信息(用户名称,头像,tag,email,动态 ) | 读 |
user:email | 授权获取用户的 email | 读 |
notification | 授权读取通知信息,包含 email 通知 | 读写 |
social:message | 授权读取、发送私信、私信语音 | 读写 |
project | 授权项目信息、项目列表,仓库信息,公钥列表、成员,任务列表 | 读 |
project:members | 授权项目管理者增、删、改项目成员,退出项目 | 读写 |
project:task | 授权任务操作,包含增、删、改 | 读写 |
project:file | 授权文件,包含增、删、改 | 读写 |
project:key | 授权操作部署公钥、个人公钥 | 读写 |
访问令牌可以用于在 HTTP 请求中代替用户名密码,访问 CODING API。
可以在 HTTP 请求中使用 -u
参数,加入用户:
$ curl -u tester https://test.coding.net/api/current_user
Enter host password for user 'tester':
{
"code": 0,
"data": {
"global_key": "tester",
"name": "tester",
...
}
}
或者
$ curl -u "tester:90ed7a169febb12d17e14aa5531827476f6b3a4e" https://test.coding.net/api/current_user
{
"code": 0,
"data": {
"global_key": "tester",
"name": "tester",
...
}
}
你还可以设置至 HTTP 请求的 Header 中:
$ curl -H "Authorization: Bearer 90ed7a169febb12d17e14aa5531827476f6b3a4e" https://test.coding.net/api/current_user
{
"code": 0,
"data": {
"global_key": "tester",
"name": "tester",
...
}
}
在设置 Scope 权限选项中勾选 project:depot
后,可以用于访问代码仓库。
git clone https://tester:[email protected]/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.
==== 2021/09/09 ====