自建双因素认证器 2FAuth 完美替代 Google Auth/Microsoft Auth

2025-07-05 16:13:25 3点赞 15收藏 2评论

前言

现在越来越多的网站强制要求打开二次验证了,国内的网站比较流行手机验证码,但国外的网站更加流行 TOTP 这类动态密码。

而想要保存 TOTP 就需要用到身份验证器,比如常见的 Google Authenticator 或者 Microsoft Authenticator,由于不可抗力的网络原因,这两个验证器云同步过程中可能会造成数据的丢失,网上有不少的案例了。

另外比较常见的是各类密码管理工具中自带的 2FA 功能,比如 Bitwarden,但是 2FA 和密码存储在一起,万一数据泄露就是一锅端,也就失去了二次验证的意义了,因此更加建议单独搭建一个 2FAuth 来存储 TOTP。

2FAuth 是 Web App,数据存储在你自己的 VPS 或者 NAS 中,并且每个设备也不需要下载 App,只要打开网页就能访问,自然也不存在数据同步丢失的问题,只需要定期备份自己的数据库文件,即便 VPS 或者 NAS 损耗,也可以很方便的恢复数据。

安装

建议通过 Docker Compose 进行安装,2FAuth 有非常多的环境变量,具体可以参考官方文档,下面给出最精简的 Compose

1.如果 APP_URL 必须与实际访问 URL 一致,否则访问时可能会白屏

2.在运行 Compose 之前,你还需要手动创建 2fauth 目录并修改所有权和权限,否则启动时创建 SQLite 可能会失败

mkdir 2fauth chown 1000:1000 2fauth chmod 700 2fauth

services: 2fauth: image: 2fauth/2fauth container_name: 2fauth volumes: - ./2fauth:/2fauth ports: - 8000:8000/tcp environment: - APP_URL=http://192.168.1.10:8000

配置

此时,再访问 http://ip:8000,你应该就能看到登录页面了,点击下方的 Register 进行注册

登录页登录页

注册需要填写 Name、Email 和 Password,建议设置复杂度较高的密码

注册页注册页

登录到 2FAuth 后,可以看到和其他验证器一样,可以通过扫描二维码添加 2FA 非常的方便

扫描二维码扫描二维码

如果你的电脑没有摄像头不方便扫码,也可以选择 Use the advanced form 手动添加,只需要将平台的密钥粘贴到 Secret 即可,上方的 Service 和 Account 用于区分平台和账号,可以随意填写。

手动添加手动添加

如果你已经在使用其他的身份验证器,也可以直接导入到 2FAuth 中作为备份,需要注意的是,导出时不要勾选加密

导入导入

效果

最终效果如下图,Icon 会根据你填写的 Service 名字自动匹配,如果没有匹配上也可以选择手动上传

下方的小点用于指示过期时间,并且最下方还会显示下一个动态密码,避免了刚复制完密码就过期的情况,更加的方便

效果效果


作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~

展开 收起
2评论

  • 精彩
  • 最新
  • 请问如何与自己的网站配合使用?能不能出个详细些的教程呢?谢谢。

    校验提示文案

    提交
  • 太麻烦了,用腾讯云小程序就行

    校验提示文案

    提交
提示信息

取消
确认
评论举报

相关文章推荐

更多精彩文章
更多精彩文章
最新文章 热门文章
15
扫一下,分享更方便,购买更轻松