雙因子認證簡介
雙因子認證英文簡稱2FA(two-factor authentication),指互不相關的兩個因子來驗證用戶身份,比如OTP令牌方式(App生成,服務端和手機端維持同一份密鑰,異步基于時間因子生成passcode),短信方式(服務端生成passcode,以短信發(fā)送方式將passcode發(fā)送到手機端,短信方式存在短信劫持的風險,非真正的互不影響)。

雙因子認證架構.jpg
雙因子認證實現(xiàn)
服務端可以使用pyotp庫,手機端可以安裝google authenticator.使用方式如下:

otp令牌方式.png

SMS方式.png