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

Posted

技术标签:

【中文标题】在 2 因素身份验证中使用啥 HTTP 状态【英文标题】:What HTTP status to use in 2 factor authentication在 2 因素身份验证中使用什么 HTTP 状态 【发布时间】:2017-08-27 17:01:52 【问题描述】:

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

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

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

【问题讨论】:

【参考方案1】:

在这种情况下,200 响应不一定与成功登录相同。阅读 RFC 并假设您是 POSTing 用户名和密码,200 响应应该有一个有效负载,即“表示该操作的状态或从该操作获得的结果”。因此,根据用户是成功登录还是仅通过流程的第一步,您的有效负载应该有所不同。

【讨论】:

我又回去阅读了 RFC。就像你所说的200 工作。谢谢。

以上是关于在 2 因素身份验证中使用啥 HTTP 状态的主要内容,如果未能解决你的问题,请参考以下文章

在基于 OAuth2 的身份验证中,状态参数可以防止啥样的 CSRF 攻击?

ASP.Net Identity 2 使用 SMS 密码登录 - 不使用双因素身份验证

您能否在具有苹果 2 因素身份验证的 CI 环境中使用“expo build:ios”以及如何

使用 Spring Boot 2 和 Spring Security 5 进行多因素身份验证

使用基于表单的身份验证时,http 服务器应在 401 响应中返回啥 WWW-Authenticate 标头?

链接是不是应该包含 HateOAS 中的身份验证令牌?