Github 2FA验证的解决方法

当前使用GitHub需要启用 2FA 验证,也就是除了账号密码外还有一个实时码,需要额外输入这个正确的实时码才能开启 2FA 验证和后续登陆。

浏览器插件

这是目前我在使用的方法。在浏览器中添加一个叫做Authenticator的插件,传送地址:

开源地址:https://github.com/Authenticator-Extension/Authenticator

Edge扩展:https://microsoftedge.microsoft.com/addons/detail/authenticator-2fa-client/ocglkepbibnalbgmbachknglpdipeoio

Chrome扩展:https://chrome.google.com/webstore/detail/authenticator/bhghoamapcdpbohphigoooaddinpkbai

只需要在安装好了之后点击扫描二维码,然后用鼠标选取二维码区域,就会出现实时码.以后每次登陆也只要打开插件输入实时码即可

验证APP

官方推荐的密码管理 app 包括 1Password、Authy、Microsoft Authenticator 等,但是1Password是收费的,而Authy、Microsoft Authenticator 都是只有在苹果应用商店和有Google play的安卓手机上才能使用,所以如果是苹果用户或者有Google paly的可以自行搜索安装。

手机号验证

如下是网上找到的另一个方法,但没有试验过,仅供参考。如果选择sms短信认证方式,github现在短信是不支持中国区的手机号,需要把手机号对应下拉框的源码进行更改,在第一行添加
<option value="+86">China +86</option>就可以成功发送验证码

基于时间的一次性密码(time-based one-time password, TOTP)的原理

基于时间的一次性密码(Time-based One-Time Password,TOTP)是一种双因素身份验证(2FA)方法,它根据共享的密钥和当前时间生成唯一的临时密码。TOTP通常用作在线账户的额外安全层,帮助防止未经授权的访问。TOTP是一种在RFC 6238下标准化的算法。

以下是TOTP工作原理的简要概述:

密钥生成:在为帐户设置TOTP时,将生成一个唯一的密钥。该密钥在用户设备(通常是智能手机)和认证服务器之间共享。密钥通常表示为二维码,以便轻松设置。

时间同步:用户设备和认证服务器需要同步到相同的时间源。TOTP算法依赖于当前时间来生成一次性密码。

OTP生成:TOTP算法将密钥和当前时间结合起来,应用加密哈希函数(例如SHA-1、SHA-256或SHA-512)生成一次性密码。此密码通常包含6-8位数字,并具有有限的有效期,例如30或60秒。

OTP验证:当用户尝试登录时,他们输入常规密码以及由TOTP应用程序或设备生成的一次性密码。然后,认证服务器根据共享密钥和当前时间独立生成预期的OTP。如果用户输入的OTP与服务器生成的OTP匹配,则授权访问。

由于一次性密码经常更改(每30或60秒),即使攻击者设法截获有效的OTP,他们也只有非常有限的时间窗口来使用它。这为认证过程增加了额外的安全层,使未经授权的用户更难以访问帐户。

简单来说,TOTP就是在用户和系统之间共享密钥,并同步时间,然后计算一个基于时间的函数,验证双方得到的结果是否一致

参考文章

https://juejin.cn/post/7154286738280546317

https://zhuanlan.zhihu.com/p/615693483

https://www.jianshu.com/p/2075203e88c9

相关推荐
徐小夕6 小时前
我们用1万行Vue3代码,做了款开源AI PPT项目
github
苏同学8 小时前
LangGraph 实战:从零实现多工具协作的可追溯文档问答 Agent
github
逛逛GitHub9 小时前
给 OpenClaw 小龙虾🦞搞个像素办公室,这个 GitHub 项目有趣啊。
github
doup智能AI13 小时前
数据分析师:报表自动生成与洞察——AI 员工系列 Vol.4
github
答案answer13 小时前
Three.js3D编辑器必备的相机视图插件
开源·github·three.js
RickeyBoy1 天前
Git Worktree / Worktrunk:并行 AI 开发工作流实战
github·vibecoding
逛逛GitHub1 天前
55 个 AI Agent 组成虚拟公司开源,2 天就 1 万星
github
Tapir1 天前
被 Karpathy 下场推荐的 NanoClaw 是什么来头
前端·后端·github
ShingingSky1 天前
用 Claude Skill 改造 AgentTeams:我实现了 AI 协作的质变
github
Moment1 天前
MinIO已死,MinIO万岁
前端·后端·github