GitHub 验证升级,不再支持密码验证,手把手教你创建 PAT

安全 应用安全
最近在写文章提交到 GitHub 的时候突发发现提交不上去,仔细一看原来是 GitHub 不支持密码验证了,熟悉 GitHub 的朋友都知道 GitHub 的仓库除了可以用 SSH 方式拉取之外还可以使用 HTTPS 的方式拉取,并且通过账号和密码进行提交。

[[418159]]

本文转载自微信公众号「Java极客技术」,作者鸭血粉丝。转载本文请联系Java极客技术公众号。

Hello 大家好, 我是阿粉,最近在写文章提交到 GitHub 的时候突发发现提交不上去,仔细一看原来是 GitHub 不支持密码验证了,熟悉 GitHub 的朋友都知道 GitHub 的仓库除了可以用 SSH 方式拉取之外还可以使用 HTTPS 的方式拉取,并且通过账号和密码进行提交。阿粉之前的项目就是使用 HTTPS 的方式来拉取,现在不让使用密码来进行提交了,突然就用不了了。

提示的内容如下, 我们可以看到提示我们密码验证在 2021-08-13 这天就不在支持了(对!没错,阿粉就是在七夕前夕还在写文章)

打开上面的链接,我们可以看到原来早在 2020 七月就发了文章说明在 2021-08-13 这天不在支持密码验证,所以这也不能怪人家了。

创建 Personal access token

既然用不了,那我们就需要按照要求创建一个personal access token,打开 GitHub 官网,登录我们的账号,然后点击 Settings 再到 Developer settings 然后点击右边的Generate new token。

创建的时候我们可以选择多久时间过期,也可以设置不过期,不过不建议。下面可以选择我们运行这个 token 操作的范围,也就是一些权限控制。

提交了过后,就会创建出 personal access tokens,这个时候我们记得把它复制下来,页面上提示了如果不复制下来,后面我们就再也看不到了。虽然通过下面的方法我们也用不上,但是还是复制下来保险一点,如果实在没复制,也可以删掉重新创建,问题也不大。

授权

GitHub 的官方文档建议在我们采用 HTTPS 克隆代码的时候建议我们使用 Git Credential Manager Core 来记录我们的凭证,https://docs.github.com/en/get-started/getting-started-with-git/caching-your-github-credentials-in-git ,文章里面介绍了不同操作系统的安装方式,阿粉这边是 macOS,所以就按照下面的步骤操作了,其他操作系统的小伙伴按照文档自行操作一下。

Git 是已经安装过的,所以这一步可以跳过,直接进行第二步就好,第二步的两条命令根据不同的电脑环境以及网络情况可能不会一次性就能安装成功,阿粉的两台 MBP,一台安装很顺利,另一台就安装了好多次,总是出现各种超时或者下载失败,多试几次才行。遇到这种情况,大家不要慌,多来几次会好的(考验人品的时候到了,实在不行洗个手再来),安装过程中会要求我们输入开机命令。

  1. $ brew tap microsoft/git 
  2. $ brew install --cask git-credential-manager-core 

安装成功后就会和下图一样,这个时候就安装好了,下一步我们重新提交一下刚刚没有push 成功的 commit,这个时候会弹出下面的窗口请求到浏览器进行授权,我们点击到浏览器登录就好了。授权成功过后我们就可以完美的提交代码了,至此我们又可以开心的写代码了(这里确实没有用到刚刚复制的 personal access token,不用怀疑)。

 

责任编辑:武晓燕 来源: Java极客技术
相关推荐

2021-03-12 10:01:24

JavaScript 前端表单验证

2023-06-05 13:07:38

2021-12-14 16:30:00

SSHLinux二次验证

2011-05-03 15:59:00

黑盒打印机

2011-01-10 14:41:26

2017-10-18 16:08:15

可视化交叉验证代码

2011-02-22 13:46:27

微软SQL.NET

2021-02-26 11:54:38

MyBatis 插件接口

2021-12-28 08:38:26

Linux 中断唤醒系统Linux 系统

2021-07-13 10:17:25

GitHubLinux代码

2021-07-14 09:00:00

JavaFX开发应用

2011-03-25 12:45:49

Oracle SOA

2020-07-09 08:59:52

if else模板Service

2021-09-30 18:27:38

数据仓库ETL

2011-01-06 10:39:25

.NET程序打包

2016-04-27 09:49:16

用户模型产品总结

2021-08-04 08:55:02

Socket Java开发

2020-04-14 10:20:12

MySQL数据库死锁

2009-04-22 09:17:19

LINQSQL基础

2009-11-09 14:57:37

WCF上传文件
点赞
收藏

51CTO技术栈公众号