在2因素身份验证中使用什么HTTP状态

the*_*746 9 http-status-codes two-factor-authentication

我的网站工作流程是用户提交用户名和密码.然后,如果启用2因素身份验证,我的网站将要求客户端通过模式对话输入2因子令牌.

我的问题是我应该使用什么HTTP状态代码来通知jQuery提示用户输入2因子令牌?

我正在考虑200 OK但这可能会产生误导,因为它与成功登录相同. 100 Continue也可以是候选人,但它根本不符合RFC7231.

phi*_*ash 7

200在这种情况下的响应不必与成功登录相同.阅读RFC并假设您使用的是POST用户名和密码,200响应应该有一个有效载荷,即"表示该行为的状态或结果".因此,您的有效负载应根据用户是否已成功登录或仅通过该过程的第一步而有所不同.

  • 您对状态代码响应应该是什么有建议吗? (6认同)
  • 并不是100%同意这一点。在登录过程中需要另一个因素的现代 API 实现应该返回一个不同的状态代码,指示身份验证不完整。此时,用户使用通常称为状态令牌的中间状态进行操作。当您获得实际的会话令牌时,应返回 200。 (4认同)