使用asp.net核心的google身份验证器

时间:2017-05-13 17:57:41

标签: asp.net-core-mvc two-factor-authentication google-authenticator

除了短信和电子邮件之外,Google身份验证器是否还有任何示例实现作为双因素身份验证实施?

找到一个样本。 Sample Google Authenticator using asp.net

但是在使用asp.net核心时会有很多变化。

1 个答案:

答案 0 :(得分:7)

您可以使用AspNetCore.Totp。 https://github.com/damirkusar/AspNetCore.Totp

它的工作原理与GoogleAuthenticator完全相同,请查看Tests项目的实现(非常简单)。

您只需编写几行来获取qurcode并验证密码:

using AspNetCore.Totp;

...

// To generate the qrcode/setup key

var totpSetupGenerator = new TotpSetupGenerator();
var totpSetup = totpSetupGenerator.Generate("You app name here", "The username", "YourSuperSecretKeyHere", 300, 300);

string qrCodeImageUrl = totpSetup.QrCodeImage;
string manualEntrySetupCode = totpSetup.ManualSetupKey;


// To validate the pin after user input (where pin is an int variable)
var totpValidator = new TotpValidator();
bool isCorrectPIN = totpValidator.Validate("YourSuperSecretKeyHere", pin);