我正在尝试在我正在编写的 Symfony2 应用程序中实现一个两因素身份验证方案。基本上,系统目前工作正常,以 Doctrine ORM Entity 作为用户提供者。但是,我在弄清楚如何正确和最有效地添加它时遇到了问题。
基本上,身份验证应该这样工作。用户看到登录表单。键入用户/密码组合,然后输入 OTP(在本例中为 yubikey。)
标准的 symfony2 身份验证可以很好地处理用户/密码。但是,我想添加添加 OTP 支持的选项(前提是用户有 yubikey 的数据库条目,并且它在站点范围内启用。)
有没有人对这种模式有任何运气?我想避免重新发明轮子,只需要弄清楚如何将其与当前的身份验证模式联系起来。
最初,我曾考虑在我正在使用的自定义密码编码器 (bcrypt) 中使用 isPasswordValid() 函数。但是,似乎没有办法将 otp 传递给该函数。