C# 을 이용한 GoogleAuthenticator 라이브러리로 TwoFactor 인증 하기
여기서 key 는 랜덤으로 생성해 주는 구문입니다. 직접 지정해서 할당하여 사용도 가능합니다.
key random 은 각각의 사용자들에게 발급해 주는 용도로 제일 좋을 듯 싶습니다.
관리자 전용으로 사용하면 관리차원으로 특정 key 를 보관하여 사용하고, 차후에 주기적으로 갱신해 주는 것도 좋을 듯 싶습니다.
using Google.Authenticator;
string key = Guid.NewGuid().ToString().Replace("-", "").Substring(0, 10);
TwoFactorAuthenticator tfa = new TwoFactorAuthenticator();
SetupCode setupInfo = tfa.GenerateSetupCode("Test Two Factor", "user@example.com", key, false, 3);
string qrCodeImageUrl = setupInfo.QrCodeSetupImageUrl;
string manualEntrySetupCode = setupInfo.ManualEntryKey;
imgQrCode.ImageUrl = qrCodeImageUrl;
lblManualSetupCode.Text = manualEntrySetupCode;
// verify
TwoFactorAuthenticator tfa = new TwoFactorAuthenticator();
bool result = tfa.ValidateTwoFactorPIN(key, txtCode.Text);
https://github.com/BrandonPotter/GoogleAuthenticator/wiki