00d*_*ani 7 authentication haskell one-time-password yesod two-factor-authentication
我目前正在Yesod 1.4.5中构建一个个人网站,目前我正在实施身份验证.使用用户名和密码进行身份验证非常简单 - 我使用Yesod.Auth.HashDB - 但由于我非常注重安全性,所以我还想要第二个因素.
Yesod.Auth是否支持多因素身份验证?它肯定支持多个auth插件,但据我所知,这些插件似乎被视为替代身份验证方法而不是其他强制身份验证因素.可以通过某种方式组合auth插件,在HashDB周围"包装"MFA插件吗?在消息来源中似乎没有这方面的功能.
如果这确实不受支持,我如何才能从外部扩展Yesod.Auth以添加MFA?扩展有状态的Haskell包很难,我可以使用一些提示.
理想情况下,我想支持U2F安全密钥和TOTP代码,但只支持后者仍然会非常好.