【问题标题】:Two Factor Authentication with Basic Auth for REST API?REST API 的基本身份验证的两因素身份验证?
【发布时间】:2013-06-06 18:42:17
【问题描述】:

我正在实现一个 REST API,它同时具有移动应用程序和基于浏览器的客户端和用户。根据我在这里和 security.stackexchange 上提出的问题和之前的问题,我得出的结论是,要尽可能长时间地保持“RESTful”,基于 SSL 的 HTTP 基本身份验证足以进行身份​​验证。问题是我还想同时实现两因素身份验证。是否可以在 401 Authorization 标头响应中添加标头,例如用户名:密码:令牌,或者在完全独立的请求标头中添加标头,但在与客户端的基本身份验证响应相同的有效负载中?由于我使用的是 node.js + express/connect,因此我可以访问整个 HTTP 协议栈,但出于可扩展性的原因,我希望尽可能保持安静。在浏览器端,我想我可以做基本的身份验证,如果通过了,就请求 TFA 令牌,只有通过了才认为用户已通过身份验证。

【问题讨论】:

    标签: node.js rest basic-authentication two-factor-authentication


    【解决方案1】:

    您可以从技术上构建新的身份验证方案以扩展 HTTP 基本身份验证,但浏览器通常不支持它们。在您的示例中,我不相信任何浏览器能够像他们可以轻松询问用户名和密码一样本机询问和发送用户名:密码:令牌。

    通常,双因素身份验证方案通过使用您在第二个示例中提到的某种形式的会话将用户置于中间状态来工作。通过了第一个因素的用户,比如通过基本身份验证的用户名/密码,会打开一个会话,但不会标记为真正登录,直到他们也通过了第二个因素。输入加密狗代码或类似的东西。一旦这两个因素都通过了,他们的会话就会被标记为完全登录,他们可以访问他们的帐户/数据/任何东西。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-07-21
      • 1970-01-01
      • 2016-06-08
      • 2015-11-12
      • 1970-01-01
      • 2014-01-26
      相关资源
      最近更新 更多