GitHub双重验证(2FA)免手机号验证方案

背景

GitHub 开始逐步要求账号登录时启用双重验证(2FA) ,并且在 2023 年底过后,没有启用双重验证的账号将不能使用

看来,启用双重验证势在必行,但是在启用双重验证的过程中不支持国内的手机号来接收验证码 : (。

经过一番尝试,终于找到了两种解决方法,见下文。

解决方法

按照官方文档说明,要启用双重验证的方法有三种:

  • GitHub APP
  • 短信验证码
  • TOTP应用的一次性验证码

GitHub APP 在国内应用商店无法下载,同时国内手机号无法接收短信验证码,所以我们使用TOTP应用接收一次性验证码来解决。

并且,使用TOTP应用 接收验证码方法是完全免费的。

方法一:微软Authenticator应用接收验证码

微软的Authenticator应用就是一个TOTP应用,支持Android、iOS系统,国内应用商店均可下载。

安装后初次打开出现报错:"由于 Google Pay 服务当前在此设备上不可用,因此无法使用一些功能",可以直接忽略。

在 GitHub 网页上 首页>个人头像>Settings>Password and authentication>Two-factor authentication 位置找到启用双重验证的入口。

打开微软 Authenticator 应用,点击右上角"+"选择"其他账户(Google、Facebook 等)"唤起相机扫码,扫描上面页面的二维码,成功后就在微软 Authenticator 应用上添加了你的 GitHub 账号。

在微软 Authenticator 应用点击刚添加的应用,生成一个一次密码代码 ,在上面页面输入这个验证码,验证通过后就将 GitHub 账号绑定到了微软 Authenticator 应用了。

一定注意:上面这两步操作时一定不要刷新上图这个网页。

绑定成功会到这个页面。

GitHub 给出了一个Recovery Codes 的文件(类似于私钥,一定要保存好)。

点击"I have saved my recovery codes",跳转到绑定成功页面。

后面在登录 GitHub 时若出现要求填写验证码的地方,输入手机上微软 Authenticator 应用生成的验证码即可。

方法二:Chrome/Edge插件接收验证码

Chrome扩展:身份验证器 - Chrome 应用商店 (google.com)

Edge扩展:Authenticator: 2FA Client - Microsoft Edge Addons

根据浏览器自行安装对应版本插件,这个插件相当于一个简洁版的微软 Authenticator 应用。

按照方法一 打开 GitHub 的启用双重验证页面,然后点击插件弹窗右上角的扫码按钮,拖拽框选二维码,即可添加 GitHub 账号,然后在网页验证码窗口输入插件给出的一次性验证码,即可完成绑定

绑定成功 GitHub 同样会给出一个Recovery Codes的文件(类似于私钥,一定要保存好)。

看到上面页面表示绑定成功

后面在登录 GitHub 时若出现要填写验证码的地方,填写这个插件自动生成的验证码即可。

恢复双重验证

如果微软 Authenticator 应用、浏览器插件中的 GitHub 账号被删掉了,或者应用、插件本身被卸载了,则需要进行这一步操作来重新启用双重验证

Recovery Codes 文件随便复制一行,登录进GitHub。

进入设置页面,点击 "Edit",重新添加、绑定验证码生成设备(微软 Authenticator 应用或者浏览器插件),步骤和解决方法中完全一样。

重新添加、绑定验证码生成设备之后,Recovery Codes 文件和之前一样不会重新生成。

参考资料

相关推荐
梦境之冢13 分钟前
axios 常见的content-type、responseType有哪些?
前端·javascript·http
racerun16 分钟前
vue VueResource & axios
前端·javascript·vue.js
m0_5485147733 分钟前
前端Pako.js 压缩解压库 与 Java 的 zlib 压缩与解压 的互通实现
java·前端·javascript
AndrewPerfect34 分钟前
xss csrf怎么预防?
前端·xss·csrf
Calm55037 分钟前
Vue3:uv-upload图片上传
前端·vue.js
浮游本尊41 分钟前
Nginx配置:如何在一个域名下运行两个网站
前端·javascript
m0_7482398341 分钟前
前端bug调试
前端·bug
m0_7482329244 分钟前
[项目][boost搜索引擎#4] cpp-httplib使用 log.hpp 前端 测试及总结
前端·搜索引擎
新中地GIS开发老师1 小时前
《Vue进阶教程》(12)ref的实现详细教程
前端·javascript·vue.js·arcgis·前端框架·地理信息科学·地信
m0_748249541 小时前
前端:base64的作用
前端