问题
14号晚上向Github提交代码时,发现报如下错误:
remote: Support for password authentication was removed on August 13, . Please use a personal access token instead.remote: Please see https://github.blog/-12-15-token-authentication-requirements-for-git-operations/ for more information.fatal: unable to access '/simplezhli/flutter_deer.git/': The requested URL returned error: 403
原来是从8月13日开始,github不再支持密码方式的身份验证,要求使用基于令牌的身份验证方式。其实早在去年底开始github就有不断发系统邮件建议我及时更换。
不过当时没有太在意,只是知道了有这么一回事。时间过得真快,这下到了不得不换的地步了。。。
解决方法
首先注意,这一变更针对使用密码的方式,如果之前你使用的是SSH那不受影响。所以解决此类问题的一个方法就是改用SSH,如何使用这里就不做过多介绍了。
另一种方式就是使用personal access token
:进入github个人主页,点击右上角头像 --> Settings --> Developer settings
这里就可以创建你的token,你可以根据你的情况设置相应的有效期和权限。也可以在Android studio等Intellij IDEA工具中的github菜单快捷添加(这里添加可以帮你默认勾选一些必要权限):
申请好了以后,你就可以获取到token,注意保存它。它就相当于是你的密码。
如果下次push代码需要输入密码的时候,就可以用这里的token来代替原有的密码进行验证。如果使用Intellij IDEA等工具,可以在github菜单中重新登录。
更新凭据
这里需要注意一点,对于已有的项目,因为电脑系统已经记住了你之前的密码,所以你需要删除它。这样才能触发重新验证的过程。当然也可以直接修改,不过我的建议是删除重新走一遍流程,避免其他问题影响验证。
macOS
点击菜单栏右侧的Spotlight(放大镜图标)。输入Keychain access
,然后启动"钥匙串"应用程序,搜索“”
删除“互联网密码”那条,然后重新提交代码时就可以重新验证身份了。
Windows
Windows的情况类似:
控制面板 --> 用户账户 --> 凭据管理器 --> windows凭据
找到对应的凭据进行删除。后面验证身份时,就需要输入token验证(以前这里是输入用户名密码):
参考
Updating credentials from the macOS Keychain如果觉得《使用personal access token进行Github认证》对你有帮助,请点赞、收藏,并留下你的观点哦!