簡體   English   中英

使用REST API進行基本身份驗證的雙因素身份驗證?

[英]Two Factor Authentication with Basic Auth for REST API?

我正在實現一個REST API,它同時包含移動應用程序和基於瀏覽器的客戶端和用戶。 基於我在此處以及在security.stackexchange中提出的問題以及之前的問題,我得出的結論是,盡可能長時間保持“RESTful”,SSL基本身份驗證對於身份驗證已足夠。 問題是我還想實現雙因素身份驗證。 是否可以在401 Authorization標頭響應中添加標頭,例如username:password:token,或者在完全獨立的請求標頭中,但在與客戶端的基本auth響應相同的有效負載中? 由於我正在使用node.js + express / connect,因此我可以訪問整個HTTP協議堆棧,但出於可伸縮性的考慮,希望保持盡可能安靜。 在瀏覽器方面,我想我可以做基本的身份驗證,如果它通過,請求TFA令牌,並且只有在它通過時才考慮用戶進行身份驗證。

從技術上講,您可以構建新的身份驗證方案以從HTTP Basic Auth擴展,但瀏覽器通常不支持它們。 在您的示例中,我不相信任何瀏覽器都能夠原生地要求並發送用戶名:password:token,就像他們可以輕松要求用戶名和密碼一樣。

通常,雙因素身份驗證方案通過使用您在第二個示例中提到的某種形式的會話將用戶置於中間狀態來工作。 已通過第一個因素的用戶,通過Basic Auth說出用戶名/密碼,會話已打開但未標記為真正登錄,直到他們也傳遞第二個因子。 輸入加密狗代碼或類似的東西。 一旦兩個因素都通過,他們的會話就會被標記為完全登錄,他們可以訪問他們的帳戶/數據/其他任何內容。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM