除了短信和电子邮件之外,Google身份验证器是否还有任何示例实现作为双因素身份验证实施?
找到一个样本。 Sample Google Authenticator using asp.net
但是在使用asp.net核心时会有很多变化。
答案 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);