Répondre

2

Vous pouvez utiliser AspNetCore.Totp. https://github.com/damirkusar/AspNetCore.Totp

Il fonctionne exactement comme GoogleAuthenticator, jetez un oeil sur le projet Tests pour la mise en œuvre (très simple).

Vous avez juste quelques lignes à écrire pour obtenir le qurcode et de valider le code 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); 
+0

Salut, merci pour la suggestion. La touche de configuration manuelle fonctionne, mais pas le code QR. J'ai eu une très longue chaîne de code QR comme plus de 2000 caractères qui ne pouvaient pas interpréter dans le navigateur. La chaîne de code QR ressemble à: "" data: image/png; base64, iVBORw0KGgoAAAANSU .... ". Savez-vous un moyen de le décoder en code QR simple? –

+0

Cette chaîne est les données d'image au format base64. Dans un navigateur, affichez la chaîne dans une balise '' ' 'comme ceci:' ' –