재우니의 블로그

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);

 

참고 사이트

 

GitHub - BrandonPotter/GoogleAuthenticator: Simple, easy to use server-side two-factor authentication library for .NET that work

Simple, easy to use server-side two-factor authentication library for .NET that works with Google Authenticator and Authy. - GitHub - BrandonPotter/GoogleAuthenticator: Simple, easy to use server-s...

github.com