双因素身份验证分两步进行

Two factor authentication in two steps

我正在尝试实施双因素身份验证。登录将包括 2 个步骤:

  1. 已提供用户名和密码并检查其正确性。如果它们是正确的,并且该帐户未启用 2FA,则用户已登录(设置 cookie)。如果它们正确并且启用了 2FA,用户将被重定向到一个页面,她必须在该页面中输入一次性密码。

  2. 用户输入一次性密码,如果密码正确则登录。

将用户重定向到 OTP 页面时,我需要以某种方式记住她已经输入了正确的密码和用户名。最好的方法是什么?是否可以通过重定向发送 post 数据,以便我可以再次发送密码和用户名?我是否应该创建一个中间 cookie 来保存秘密(并将该秘密保存在服务器上,这似乎是一种复杂的方法?)。

我正在使用 flask 和 mod_auth_tkt(用于基于 cookie 的身份验证的 apache mod)如果这有什么不同的话。

Should I create an intermediate cookie that saves a secret (and also save that secret on the server, seems like a complicated way of doing it?).

我想你可以为此使用 Flask 会话,只要记得在 login/two 因素身份验证失败时清除它!

文档:http://flask.pocoo.org/docs/1.0/quickstart/#sessions