Antwort

2

Sie können AspNetCore.Totp verwenden. https://github.com/damirkusar/AspNetCore.Totp

Es funktioniert genau wie GoogleAuthenticator, werfen Sie einen Blick auf das Testprojekt für die Implementierung (wirklich einfach).

Sie haben nur ein paar Zeilen, die qurcode zu schreiben zu bekommen und den PIN-Code zu überprüfen:

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

Hallo, danke für die Anregung. Die manuelle Setup-Taste funktioniert, aber der QR-Code nicht. Ich habe sehr langen QR-Code-String wie mehr als 2000 Zeichen, die im Browser nicht interpretieren konnte. Die QR-Code-Zeichenfolge sieht folgendermaßen aus: "" daten: image/png; base64, iVBORw0KGgoAAAANSU .... "Kennen Sie eine Möglichkeit, es in einfachen QR-Code zu decodieren? –

+0

Diese Zeichenfolge ist die Bilddaten im Base64-Format in einem Browser die Zeichenfolge in einem '' -Tag wie folgt anzeigen lassen: '' –