0

當我們將Thinktecture身份服務器3與Microsoft ASP.NET身份2.1集成時,我們設法爲我們的客戶配置和啓用2FA(牽引因素身份驗證)。問題是MS的默認實現使用TOTP,默認情況下其有效時間爲180秒。對於某些其他應用程序,它可以被接受,但是最長時間那些TOTP代碼是有效的,不超過30秒。我們無法找到配置ASP.NET Identity的此屬性的方法。任何人都可以幫助我將它的默認值從180秒改爲30秒嗎?ASP.NET身份2.1 2FA配置

回答

0

悲哀RFC6238 implementation在Asp.Net身份是內部和硬編碼timespam。 (L. 15)。但是使用RFC6238TotpSecurityStampBasedTokenProvider的源代碼,應該很容易在30秒內實現自定義TOTP。窗口。

無論如何,在RFC6238 section 6中存在關於驗證後向和/或前向令牌的推薦,因爲在外部應用或服務器(例如Google身份驗證器)的情況下令牌生成器可能「不同步」。

這意味着驗證器可以抵靠
當前時間執行驗證,然後兩個用於每個向後步驟
(總共3個驗證)進一步驗證。在成功確認後,驗證服務器可以根據時間步數來記錄所檢測到的令牌的時鐘漂移,其中令牌
。當在此步驟後接收到新的OTP
時,驗證器可以使用當前的
時間戳驗證OTP,該時間戳用對於令牌的記錄的時間步漂移 進行調整。

因此30秒。窗口變成大約90秒的驗證。