Kuidas seadistada ASP.NET Core'is kahefaktoriline autentimine Google Authenticatori abil

Foto autor Tommy Lee Walker saidil Unsplash

Sissejuhatus

Selles artiklis õpime, kuidas teostada kahefaktorilist autentimist rakenduses ASP.NET Core, kasutades rakendust Google Authenticator.

Selle kasutamiseks peate oma nutitelefonis konfigureerima Google Authenticatori rakenduse, kasutades veebirakenduses loodud QR-koodi. Veebirakendusse sisselogimisel peate kahefaktorilise autentimise lõpetamiseks sisestama kuuekohalise PIN-koodi, mis rakenduses genereeritakse. Rakenduses loodud võti on teie kasutajatunnuse jaoks ainulaadne ja on ajapõhine ühekordne parool (TOTP) - see tähendab, et see aegub teatud aja möödudes.

Eeltingimused

  • Siit installige .NET Core 2.0.0 või uuem SDK.
  • Installige siit Visual Studio 2017 kogukonna väljaande uusim versioon.

Lähtekood

Enne jätkamist soovitaksin hankida lähtekoodi GitHubist

Looge MVC veebirakendus

Avage Visual Studio ja valige Fail >> Uus >> Projekt. Pärast projekti valimist avaneb dialoog “Uus projekt”. Valige vasakpoolsel paneelil menüüs Visual C # .NET Core. Seejärel valige saadaolevate projektitüüpide seast “ASP.NET Core Web Application”. Pange projektile nimi “TwoFactAuth” ja vajutage nuppu OK.

Pärast OK klõpsamist avaneb uus dialoog, kus palutakse teil valida projekti mall. Näete malli akna vasakus ülanurgas kahte rippmenüüd. Valige nendest rippmenüüdest „.NET Core” ja „ASP.NET Core 2.0”. Seejärel valige mall „Veebirakendus (mudel-vaade-kontroller)“. Klõpsake nuppu „Muuda autentimist“. Avaneb dialoogiboks „Autentimise muutmine”. Valige “Individuaalne kasutajakonto” ja klõpsake nuppu OK. Nüüd klõpsake oma veebirakenduse loomiseks uuesti nuppu OK.

Kahefaktorilise autentimise konfigureerimiseks QR-koodide lisamine

Google'i autentimisrakenduse ja veebirakenduse konfigureerimiseks ja sünkroonimiseks kasutame QR-koodi. Laadige alla qrcode.js JavaScripti teek saidilt https://davidshimjs.github.io/qrcodejs/ ja pange see oma rakenduse kausta „wwwroot \ lib”. Nüüd on teie kaustal „wwwroot” järgmine struktuur.

Avage fail „Vaated \ Halda \ EnableAuthenticator.cshtml”. @Section Scripts leiate faili lõpust. Pange järgmine kood sinna.

@sektsiooni skriptid {
    @await Html.PartialAsync ("_ ValidationScriptsPartial")
     
    
}

Sellel failil “EnableAuthenticator.cshtml” on juba div-id id-ga “qrCode” (vt koodilõiku allpool). Me genereerime selles jaotises QR-koodi, kasutades teeki qrcode.js. Samuti määratleme QR-koodi mõõtmed laiuse ja kõrguse osas.

Nii et lõpuks näeb teie fail „EnableAuthenticator.cshtml” välja selline.

@model EnableAuthenticatorViewModel
@ {
    ViewData ["Title"] = "Luba autentimine";
    ViewData.AddActivePage (ManageNavPages.TwoFactorAuthentication);
}
  

@ViewData ["Pealkiri"]

    

Autentimisrakenduse kasutamiseks toimige järgmiselt.

    
            
  1.             

                    Laadige alla kahefaktoriline autentimisrakendus nagu Microsoft Authenticator jaoks                  Windows Phone ,                  Android ja                  iOS või                 Google Authenticator domeenile                  Android ja                  iOS .             

            
  2.         
  3.             

    Skaneerige QR-kood või sisestage see klahv @ Model.SharedKey oma kahefaktorilise autentimise rakendusse. Vahed ja korpus ei oma tähtsust.

                
    QR-koodi genereerimise lubamiseks lugege meie dokumentatsiooni .             
                
            
  4.         
  5.             

                    Kui olete QR-koodi skanninud või ülaltoodud võtme sisestanud, pakub teid kahefaktoriline autentimisrakendus                 unikaalse koodiga. Sisestage kood allpool olevasse kinnitusväljale.             

                
                    
                        
                            
                                                                                                                   
                             Kinnita                         
                                         
                
            
  6.     
@sektsiooni skriptid {     @await Html.PartialAsync ("_ ValidationScriptsPartial")           }

Kui käivitame programmi, genereeritakse selles vaates QR-kood. Seejärel saate selle QR-koodi abil seadistada kahefaktorilise autentimise, kasutades Google'i autentimist.

Seadistage kahefaktoriline autentimine

Enne rakenduse käitamist peame oma rakendusele rakendama migratsiooni. Liikuge jaotisse Tööriistad >> NuGeti paketihaldur >> Paketihalduri konsool. See avab paketihalduri konsooli. Pange käsk Uuenda andmebaasi ja vajutage sisestusklahvi. See värskendab andmebaasi, kasutades Entity Framework Code First Migration-i.

Vajutage rakenduse käivitamiseks F5 ja klõpsake avalehe paremas ülanurgas nuppu „Registreeri”. Näete kasutaja registreerimise lehte. Täitke üksikasjad ja klõpsake nuppu "Registreeri" nagu näidatud alloleval pildil.

Eduka registreerimise korral logitakse teid rakendusse sisse ja navigeeritakse avalehele. Siin näete oma registreeritud e-posti aadressi lehe paremas ülanurgas. Klõpsake sellel, et liikuda lehele „Konto haldamine”. Valige vasakpoolsest menüüst „TwoFactorAuthentication”. Näete lehte, mis sarnaneb allolevaga.

Klõpsake nuppu „Autentikaatori rakenduse seadistamine“. Näete ekraanil loodud QR-koodi - see küsib kinnituskoodi, nagu on näidatud ka allpool oleval pildil.

Peate oma nutitelefoni installima Google Authenticatori rakenduse. See võimaldab teil selle QR-koodi skannida, et genereerida kontrollkood ja viia lõpule kahefaktoriline autentimise seadistamine.

Laadige alla ja installige Google'i autentne Androidi Play poest ja iOS-ist App Store. Kasutame selle demo jaoks Androidi seadet.

Käivitage rakendus oma nutitelefonis. Näete tervituskuva, nagu on näidatud alloleval pildil.

Klõpsake nuppu „Alusta“. See palub teil konto lisada, pakkudes kahte võimalust:

  1. Skaneerige vöötkood
  2. Sisestage kaasasolev võti

Klõpsake valikul „Skaneeri vöötkood” ja skannige veebirakenduse loodud QR-kood. See lisab Google'i autentimisse uue konto ja genereerib teie mobiiliekraanil kuuekohalise PIN-koodi. See on meie kahefaktoriline autentimiskood. See on TOTP (ajapõhine ühekordne parool). Võite jälgida, et see muutub pidevalt (eluiga 30 sekundit).

Nüüd näete rakenduses nii rakenduse nime kui ka registreeritud e-posti id, nagu allpool näidatud.

Pange see tihvt kinnituskoodi tekstikasti ja klõpsake nuppu Kinnita. Pärast edukat kinnitamist näete allolevaga sarnast ekraani. See annab teile konto taastamiskoodid, mis aitavad teie konto taastada, kui olete blokeeritud. Pange need koodid tähele ja hoidke neid kuskil turvaliselt.

Ja seega on kahefaktoriline autentimise seadistamine valmis. Kontrollime, kas meie kahefaktoriline autentimine töötab õigesti või mitte.

Täitmise demo

Logige rakendus välja ja klõpsake uuesti sisselogimist. Sisestage oma registreeritud e-posti aadress ja parool ning klõpsake sisselogimisel.

Nüüd näete kahefaktorilist autentimiskuva, kus küsitakse Autentikaatori koodi. Pange sisse kood, mis genereeritakse teie Google Authenticatori rakenduses ja klõpsake sisselogimist. Teid logitakse rakendusse edukalt sisse ja navigeeritakse avalehele.

Kui märgite valiku „Jäta see masin meelde”, ei küsi see autentimisseadme koodi uuesti samas masinas. Kahefaktorilise autentimise saate sel juhul vahele jätta.

Järeldus

Oleme QR-koodi Java-teegi abil edukalt genereerinud QR-koodi ja kasutasime seda Google Authenticatori rakenduse konfigureerimiseks. See rakendus loob kuuekohalise TOTP-i, mille peate sisestama veebirakendusse sisselogimisel. See rakendab ASP.NET Core'i rakenduses kahefaktorilist autentimist.

Selle artikli leiate ka aadressilt C # Corner.

Minu teisi ASP .NET Core'i artikleid saate vaadata siit.

Vaata ka

  • Präänikute autentimine ASP.NET Core 2.0-ga
  • Autentimine Facebooki abil ASP.NET Core 2.0-s
  • Autentimine Google'i abil ASP.NET Core 2.0-s
  • Autentimine Twitteri abil ASP.NET Core 2.0-s
  • Autentimine linkedini abil ASP.NET Core 2.0-s

Algselt avaldatud aadressil https://ankitsharmablogs.com/