56 votes

Existe-t-il un didacticiel expliquant comment implémenter Google Authenticator dans les applications .NET ?

Je recherche un tutoriel sur l'utilisation de Google Authenticator dans les applications .NET. Cela existe-t-il, et si oui, où puis-je le trouver ?

Je comprends que cela peut être utilisé pour ajouter une authentification à deux facteurs à vos propres applications.

16voto

Espo Points 24318

Après quelques recherches et tests, j'ai créé ma propre "preuve de concept" sur la façon de générer une image QR, de la numériser à partir de votre téléphone, puis de vérifier que le code PIN du téléphone est correct. Peut-être que cela pourrait être développé davantage en tant que bibliothèque si quelqu'un souhaite s'y joindre ? Le code se trouve ici :

https://github.com/esp0/googleAuthNet

3voto

Minh Nguyen Points 77

Vous pouvez exécuter cette application console simple pour comprendre comment vérifier le code du jeton à usage unique. Notez que nous devons d'abord installer la bibliothèque Otp.Net à partir du package Nuget.

 static string secretKey = "JBSWY3DPEHPK3PXP"; //add this key to your Google Authenticator app  

private static void Main(string[] args)
{
        var bytes = Base32Encoding.ToBytes(secretKey);

        var totp = new Totp(bytes);

        while (true)
        {
            Console.Write("Enter your code from Google Authenticator app: ");
            string userCode = Console.ReadLine();

            //Generate one time token code
            string tokenInApp = totp.ComputeTotp();
            int remainingSeconds = totp.RemainingSeconds();

            if (userCode.Equals(tokenInApp)
                && remainingSeconds > 0)
            {
                Console.WriteLine("Success!");
            }
            else
            {
                Console.WriteLine("Failed. Try again!");
            }
        }
}

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X