概述
个人访问令牌类似某些系统中的应用专用密码。生成后可根据设置的权限访问特定的API。可以用于创建自己的程序或者脚本。
下面我们来尝试生成一个个人访问令牌。
创建个人访问令牌
在个人头像的下拉菜单中,选择个人设置。
在左栏中选择访问令牌即可进入个人访问令牌列表。
点击新建令牌。
在表单中填写令牌描述,以及选择此令牌的访问权限。填完后提交。
提交后,页面会跳回访问令牌列表页面,并将新建的令牌的内容显示出来。
注意:令牌的内容只会显示一次,为了安全,请将其复制粘贴至您需要使用的地方,并不要保存副本。 如果您是需要调试,请在调试后,选择重新生成令牌,再将其粘贴到最终使用程序或的脚本中。
编辑个人访问令牌
编辑个人访问令牌,可以修改描述以及权限。
如果遗失了令牌或者需要更新令牌,可以选择重新生成。
重新生成后令牌内容也是只会显示一次。
删除访问令牌
如果不希望令牌再被继续使用了,为了避免任何有可能的泄露,建议将其删除。
在列表页面的右上角,有一个『移除所有』的功能。点击并确认后,会将所有的个人访问令牌全部删除。
访问令牌的权限
访问令牌目前与 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 testuser https://test.coding.net/api/current_user
Enter host password for user 'testuser':
{
"code": 0,
"data": {
"global_key": "testuser",
"name": "testuser",
...
}
}
或者
~ curl -u "testuser:90ed7a169febb12d17e14aa5531827476f6b3a4e" https://test.coding.net/api/current_user
{
"code": 0,
"data": {
"global_key": "testuser",
"name": "testuser",
...
}
}
或者设置至 http 请求的 Header 中
~ curl -H "Authorization: token 90ed7a169febb12d17e14aa5531827476f6b3a4e" https://test.coding.net/api/current_user
{
"code": 0,
"data": {
"global_key": "testuser",
"name": "testuser",
...
}
}
利用令牌访问代码仓库
在设置 Scope 权限选项中勾选 project:depot
后,可以用于访问代码仓库。
git clone https://testuser: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.
当前内容版权归 coding.net 或其关联方所有,如需对内容或内容相关联开源项目进行关注与资助,请访问 coding.net .