2013-04-22 181 views
0

我在我的網站中使用Google雙因素身份驗證,但我希望能夠檢查'記住我'的用戶,無需在下一個條目中輸入密鑰。是否可以通過「記住我」選項繞過身份驗證。我知道潛在的危險,但我們需要這樣做。繞過Google雙因素身份驗證

回答

0

不知道這是否仍然有幫助,但我想我會回答。你沒有指定你正在使用什麼編程語言,這使得給你一個語言特定的答案有點困難,因此我將根據我的經驗編寫一個C# ASP.NET MVC Two Factor Authentication實現的答案,但方法應該是語言不可知。

沒有什麼可以阻止您實現'記住我'功能,允許用戶繞過整個身份驗證步驟(用戶名/密碼+ TFA)。它實際上沒有任何其他的'記住我'功能,你會實現假設雙因素認證已正確實​​施。

通過正確實施雙因素認證我的意思是說,您的登錄應該是一個兩步過程(您可以在一個過程中完成,但它降低了可用性,爲了解釋起見,我將保持它們分開)

  1. 用戶指定他們的用戶名和密碼。如果他們提供了有效的用戶名/密碼組合,那麼他們會轉到第二步,但他們是不是尚未驗證!他們不應該能夠導航到需要用戶登錄的任何頁面。
  2. 用戶指定他們的第二個因素。只有當用戶提供正確的第二個因素時,他們才能被認證並允許繼續。

在我的代碼,我有「記住我」複選框,在第一步中,那麼如果用戶提供有效的用戶名/密碼組合,我將存儲的UserProfile對象以及是否「記住我」是在檢查會話並將用戶重定向到第二個因子頁面。

然後,如果用戶爲存儲在會話中的用戶提供了正確的第二個因素,那麼您將用戶登錄,如果他們選中了「記住我」,那麼向cookie添加到期日期,否則將其留給空的到期日期,然後在瀏覽器關閉時過期。

希望能回答你的問題,我試過不要在我的網站上重現整篇文章,所以如果你覺得我錯過了一些東西,如果你還沒有答案,請隨時檢查一下我知道,我會更新我的答案。