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

相关推荐
掘金安东尼14 小时前
革新Web部署:Amazon Amplify Hosting!
后端·面试·github
掘金安东尼15 小时前
把复杂留给架构,把简单留给开发 —— Amazon Aurora DSQL 宣布:全面可用
面试·架构·github
掘金安东尼16 小时前
蔚来 600 亿研发成本,信还是不信。。
面试·程序员·github
喜欢吃豆16 小时前
深入企业内部的MCP知识(三):FastMCP工具转换(Tool Transformation)全解析:从适配到增强的工具进化指南
java·前端·人工智能·大模型·github·mcp
赋范大模型技术社区17 小时前
【LangChain 实战】多智能体协作实现浏览器自动化丨Agents 运行流程丨多工具串&并联调用
架构·github·代码规范
liangdabiao19 小时前
3分钟打造一个无敌的落地页Landing Page - 任何内容都完全自动化
程序员·github
海外空间恒创科技20 小时前
香港站群服务器与普通香港服务器对比
服务器·git·github
JinSo21 小时前
EasyEditor AI 聊天助手:让低代码开发更简单
前端·javascript·github
寻月隐君1 天前
【Solana 开发实战】轻松搞定链上 IDL:从上传到获取全解析
后端·web3·github
ai小鬼头1 天前
Ollama+OpenWeb最新版0.42+0.3.35一键安装教程,轻松搞定AI模型部署
后端·架构·github