目录
Token是什么?
Token 是在服务端产生的。如果前端使用用户名/密码向服务端请求认证,服务端认证成功,那么在服务端会返回 Token 给前端。前端可以在每次请求的时候带上 Token 证明自己的合法地位。
Token就是一个临时的牌子,用于验证身份的牌子,有了它用户就不需要每次访问网站时都输入账号与密码,用这个牌子就能证明你是这个网站的用户。
GitHub添加ToKen方法
首先进入你的Gitub,选中Settings
一直往下拉,找到“Developer settings”并点击
然后找到“Personal access tokens”并点击
然后点击“Generate new token”创建一个token
第一步的Note是名字可以取一个你认为响当当的名字,Expiration是期限,可以按你需求选择,最长可以无限期
接下来就是权限选择,一般默认全选,拥有全部权限
以下是每个权限的作用,可以根据你的需求来决定
Name | Description |
---|---|
Name | Description |
(no scope) | 授予对公共信息(包括用户配置文件信息、存储库信息和注册表)的只读访问权限 |
repo | 授予对存储库(包括专用存储库)的完全访问权限。这包括对代码的读/写访问、提交状态、存储库和组织项目、邀请、协作者、添加团队成员身份、部署状态以及存储库和组织的存储库Webhook。还授予管理用户项目的能力。 |
repo:status | 授予对公共和私有存储库中的提交状态的读/写访问权。仅当授予其他用户或服务访问私有存储库提交状态的权限而不授予代码访问权限时,才需要此作用域。 |
repo_deployment | 授予对公共和私有存储库的部署状态的访问权限。此作用域仅在授予其他用户或服务对部署状态的访问权限时才有必要,而不授予对代码的访问权限。 |
public_repo | 限制对公共存储库的访问。这包括对代码的读/写访问、提交状态、存储库项目、协作者以及公共存储库和组织的部署状态。还需要为公共存储库添加星号。 |
repo:invite | 授予接受/拒绝邀请在存储库上协作的能力。此范围仅在授予其他用户或服务访问邀请而不授予代码访问权限时才有必要。 |
security_events | 赠款: 对代码扫描API中安全事件的读写访问 对机密扫描API中安全事件的读写访问 仅当授予其他用户或服务对安全事件的访问权限而不授予对代码的访问权限时,才需要此作用域。 |
admin:repo_hook | 授予对公共或私有存储库中的存储库挂钩的读、写、ping和删除访问权。repo和public_repo作用域授予对存储库的完全访问权,包括存储库挂钩。使用admin:repo_钩子作用域限制对存储库钩子的访问。 |
write:repo_hook | 授予对公共或私有存储库中挂钩的读、写和ping访问权。 |
read:repo_hook | 授予对公共或私有存储库中挂钩的读取和ping访问权限。 |
admin:org | 全面管理组织及其团队、项目和成员资格。 |
write:org | 对组织成员资格、组织项目和团队成员资格的读写访问权限。 |
read:org | 对组织成员资格、组织项目和团队成员资格的只读访问。 |
admin:public_key | 完全管理公钥。 |
write:public_key | 创建、列出和查看公钥的详细信息。 |
read:public_key | 列出并查看公钥的详细信息。 |
admin:org_hook | 授予对组织挂钩的读、写、ping和删除访问权。注意:OAuth令牌只能在OAuth应用程序创建的组织挂钩上执行这些操作。个人访问令牌只能在用户创建的组织挂钩上执行这些操作。 |
gist | 授予GIST的写入权限。 |
notifications | 赠款: 对用户通知的读取访问权限 标记为对线程的读访问 监视并取消对存储库的访问,以及 对线程订阅的读、写和删除访问。 |
user | 仅授予对配置文件信息的读/写访问权限。请注意,此范围包括user:email和user:follow。 |
read:user | 授予读取用户配置文件数据的权限。 |
user:email | 授予对用户电子邮件地址的读取权限。 |
user:follow | 授予跟踪或取消跟踪其他用户的权限。 |
delete_repo | 授予删除可管理存储库的权限。 |
write:discussion | 允许对团队讨论进行读写访问。 |
read:discussion | 允许对团队讨论进行读取访问。 |
write:packages | 授予在GitHub软件包中上载或发布软件包的权限。 |
read:packages | 授予从GitHub软件包下载或安装软件包的权限。 |
delete:packages | 授予从GitHub包中删除包的权限。 |
admin:gpg_key | 完全管理GPG密钥。 |
write:gpg_key | 创建、列出和查看GPG密钥的详细信息。 |
read:gpg_key | 列出并查看GPG密钥的详细信息。 |
codespace | 授予创建和管理代码空间的能力。代码空间可以公开可能具有不同作用域集的GITHUB_令牌。 |
workflow | 授予添加和更新GitHub操作工作流文件的能力。如果相同的文件(具有相同的路径和内容)存在于同一存储库中的另一个分支上,则可以在没有此作用域的情况下提交工作流文件。工作流文件可以公开GITHUB_令牌,该令牌可能具有不同的作用域集。 |
申请好了之后会生成一个ToKen码,需要注意ToKen码只会显示一次,请复制ToKen码
如果你已经加入了组织,请点击“Configure SSO”
在弹出的组织,在你需要的组织后面点击“Authorize”,这样Token才有访问这个组织仓库的权限。
然后我们需要将Token与我们本地的Github关联,这里有两种方法,一种是使用Git提供的gh工具,在Debian环境下你可以使用apt直接安装。
第二种是Netrc方式,这里我选择第二种。
首先使用vim进入netrc文件
vim ~/.netrc
打开以后输入如下内容:
machine github.com
login not-used
password ToKen
将ToKen改成你刚刚生成的Token码就可以了,用户名不需要填写。
netrc是登录协议配置文件,当用户从终端访问ssh、http、ftp的通讯协议Server时Linux会读取netrc里的内容,来验证访问的源是否存在配置种,如果存在则直接从netrc种读取并自动登录。
如果你的电脑上不存在netrc文件,可以创建一个:
touch ~/.netrc
chmod 600 ~/.netrc