7

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

找到一个样本。 使用 asp.net 的 Google Authenticator 示例

但是在将它与 asp.net 核心一起使用时有很多变化。

4

1 回答 1

8

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

它的工作原理与 GoogleAuthenticator 完全一样,看看 Tests 项目的实现(真的很简单)。

您只需编写几行代码即可获取 qurcode 并验证 pin 码:

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);
于 2017-08-10T14:15:57.077 回答