2FAuth
一个用于管理双因素认证(2FA)账户并生成安全码的网络应用
2FAuth 演示
登录凭证(用户名 - 密码):demo@2fauth.app
- demo
目的
2FAuth 是一个基于网络的自托管替代方案,用于替代 Google Authenticator 等一次性密码(OTP)生成器,适用于移动设备和桌面设备。
它旨在通过清晰实用的界面,无论您使用何种设备,都能轻松完成 2FA 认证步骤。
我创建它是因为:
- 在我看来,大多数此类应用的界面同时显示所有账户的令牌,并带有令人压力山大的倒计时
- 我希望将我的 2FA 账户存储在一个独立的数据库中,可以轻松备份和恢复(您是否曾经遇到过智能手机丢失,而所有 2FA 账户都存在 Google Authenticator 中的情况?我遇到过...)
- 当我使用台式电脑时,我讨厌拿出智能手机来获取 OTP
- 我喜欢编程,也喜欢自托管解决方案
主要功能
- 管理您的 2FA 账户,并使用分组来组织它们
- 扫描并解码任何二维码,快速添加账户
- 通过高级表单添加无二维码的自定义账户
- 编辑账户,包括导入的账户
- 生成 TOTP 和 HOTP 安全码以及 Steam Guard 码
2FAuth 目前完全支持英语和法语本地化。如果您想帮助添加更多语言,请参阅贡献部分。
安全性
2FAuth 提供了多种安全机制,以尽可能地保护您的 2FA 数据。
单用户应用
您需要创建一个用户账户并进行身份验证才能使用该应用。不可能创建多个用户账户,该应用专为个人使用而设计。
现代身份验证
您可以使用 Yubikey 或 Titan key 等安全密钥登录 2FAuth,并禁用传统的登录表单。
数据加密
存储在数据库中的敏感数据可以加密,以防止数据库被入侵。加密功能作为一个选项提供,默认情况下是禁用的。强烈建议在启用加密时备份 .env 文件中的 APP_KEY 值(或整个文件)。
自动登出
2FAuth 在一段时间不活动后会自动将您登出,以防止长时间会话。自动登出可以停用,或在复制安全码时触发。
符合 RFC 标准
2FAuth 根据 RFC 4226(HOTP 算法)和 RFC 6238(TOTP 算法)生成 OTP,这要归功于 Spomky-Labs/OTPHP PHP 库。
要求
- 参见 Laravel 服务器要求
- 任何 Laravel 支持的数据库
安装指南
升级
迁移
2FAuth 支持从以下格式导入:2FAuth(JSON)、Google Auth(二维码)、Aegis Auth(JSON,纯文本)、2FAS Auth(JSON)
贡献
您可以通过以下方式为 2FAuth 做出贡献:
- 通过报告错误,或更好的是,通过向 dev 分支提交包含修复的拉取请求。
- 通过提出改进建议或新功能。请查看 2FAuth 开发项目,也许您的想法已经在那里了。
- 通过使用 Crowdin 平台纠正或补充您会说的语言的翻译。如果缺少您的语言,请提出申请。