搭建〖2FAuth〗两步验证服务

前言

最近乐此不疲搜罗各种 Docker 项目,两步验证项目 2FAuth 进入视野,遂搭建之。遇到不少问题,首先是启动容器之后,无法运行,这是容器所在目录权限造成,然后不知怎么把 Nginx 直接搞废掉,推倒重来重新安装,接着遭遇安装后提示服务错误,改为命令启动容器后不提示此错误,虽然不提示服务错误,但是直接白屏,这是 URL 参数定义问题,最后针对命令模式参数稍作优化,增加定义容器名称和自动重启服务,方便反代和日常管理。

步骤一

配置路径以及权限。这里首先进入 2fauth 计划所在路径。然后执行以下命令。

步骤二

通过命令行启动服务,启动成功之后,配置反代方可访问。

进阶一

如果不强求 WebAuthn 选项以及保护敏感数据选项,可以不用定义相应参数,为了正常使用这两个功能,又费一番周折,不定义 WebAuthn 参数,注册新设备时,会提示 Attestation Error: Relying Party ID not scoped to current 错误信息,翻阅搜索相关官方文档及论坛内容,通过定义 WEBAUTHN_ID=域名 才能不报错,可是,通过 yml 文件启动容器,死活仍然报错,通过 run 方式启动容器就一切正常。原因不得而知,超出目前掌握范围。

翻译出来,就是下面这样:

进阶二

保护敏感数据选项也很重要,敏感数据、2FA 秘钥和电子邮件会被加密存储在数据库中。至于 APP_KEY 这个地方经过 ChatGPT 提醒,需要加引号,确保整个字符串被正确地传递给 Docker 容器,因为一些特殊字符可能会导致命令行中的一些问题,尤其是在某些操作系统的命令行中可能需要进行转义或者使用引号来确保正确解析。官方说的通过 php artisan key:generate 生成 KEY 的方法,这里没有采用,而是自行生成后进行配置。几乎每当遇到难点,都是通过 ChatGPT 找到答案,当然要结合容器官方文档。最后,想说 ChatGPT 真乃神器也。

THE END