Welkom terug in deze les gaan we verder waar we gebleven waren met de auth code samen niet alleen te coderen.
Je code nooit alleen.
Je hebt me hier.
Dus code samen deel 3.
Nu komen we bij het vlees van authenticatie.
We gaan beginnen met het toevoegen van deze sign-up routes registreren routes en het register vorm en ervoor te zorgen dat tegen het einde van deze video moeten we in staat aan te melden voor onze applicatie.
We zullen niet in staat zijn om uit te loggen.
We zullen niet in staat om in te loggen, maar we zullen in staat zijn om te melden.
OK.
Dus laten we beginnen.
Het eerste wat we moeten bespreken zijn de routes die we nodig hebben om toe te voegen.
En voordat ik dat doe, dat ik ga gewoon een beetje divider hier toevoegen, want we hebben een veel inhoud up top die zegt gewoon routes Ik zal dit te maken met een beetje gelijk borden.
Gewoon om duidelijk te maken dat alle routes gaan onder deze lijn.
OK.
Dus hebben we onze get slash en we hebben de geheime route.
Nu hier beneden laten we aan onze Auth. routes naar de routes die we nodig te herzien.
Ik ben eigenlijk gaan naar de werkende versie van dit prachtige home page en dan wanneer u klikt op register bericht dat de URL is slash register en we zien een formulier.
Dus hebben we een get route slash register die ons de vorm zal tonen om daadwerkelijk aanmelden en dan als we inspecteren dit formulier je zult zien dat het verzenden van een bericht verzoek aan register bericht slash register slash.
We hoeven niet te noemen het slash te registreren.
Je zult dingen zoals aanmelden of registratie te zien.
Het kan zijn wat je wilt, maar register is goed voor ons.
Dus we zullen teruggaan naar onze apt.
Ja.
En we moeten die twee routes toe te voegen aan en ik zal beginnen met een app hoeft slash register niet.
En weer het punt van dit is gewoon om het formulier te tonen.
Dus teken toon up vorm.
OK.
Dus apt get slash register en dan is onze callback hier te vragen en antwoord net als dat en we zullen doen roodstaart te maken en we zullen haar template register bellen en dan is de volgende logische ding om te doen zou zijn om het register formulier te maken.
Dus we doen een vleugje uitzicht slash register.
E.J. Ja en dan zullen we hetzelfde bestand te openen en de binnenkant van hier zullen we beginnen met een eenvoudige laten we gewoon zeggen dat je aanmeld formulier en op te slaan en laten we ervoor zorgen dat we kunnen zien dat.
Zo start de server dan gaan we naar onze app hier.
Ga terug naar de root pad te beginnen.
En laten we nu gaan naar register slash en krijg aanmelden voor hem.
Grote.
Laten we nu eens toe te voegen in een forum en ons formulier moet twee ingangen een voor gebruikersnaam een ​​voor wachtwoord.
Dus we zullen beginnen met het definiëren van een formulier in en we zullen terugkomen en voeg de methode in actie.
We beginnen met een ingang.
Beide zijn getypte tekst, hoewel we kunnen maken het wachtwoord input type is gelijk aan het wachtwoord dat is eigenlijk een beter idee.
Dus input type gaat tekstplaceholder gelijk gebruikersnaam net als dat en dan zal ik gewoon dupliceren dat en ik zal input type doen omdat wachtwoord en placeholder password zal zijn en op te slaan.
En dan laten we toe te voegen in een in te dienen en kunnen we dit doen input type gelijk te dienen of.
Of.
Ik heb liever een knop tag.
Ofwel gaat door zolang de knop aan het einde van de werkvorm.
Het zal automatisch het formulier.
OK.
Zo dienen en dan hebben we onze input type omdat tekstinvoertype wachtwoord gaat en we kunnen beginnen door gewoon het nemen van een kijkje op deze en we zien onze vorm, maar we missen twee cruciale dingen.
Allereerst is de vorm niet overal naartoe te gaan en zelfs als het niet ergens in te dienen zou het niet sturen een van deze items, want we hebben niet de naam attributen.
Dus moeten we voeg de naam is gelijk aan de gebruikersnaam en het wachtwoord is gelijk aan net als dat en we zullen redden.
Nu als we kijken naar de vorm niets te nemen indien er anders uitzien, maar het is nu ingesteld bijna op.
Nu moeten we toe te voegen in de informatie voor de vorm tag.
Of we hebben actie en methode.
Dus de actie het gaat ook kassa zijn.
Maar we gaan het als een post te versturen en wij nog niet over die route.
Dus als ik ging, en vulde het formulier nu als ik verfrissen en vulde het formulier zou het gewoon rond te hangen en dan uiteindelijk time-out omdat we niet over een post-road slash register en dit kan alles natuurlijk te noemen, maar het is conventionele om het te noemen hetzelfde als de get route slash register.
Dus laten we hetzelfde doen en deze route zou eigenlijk verantwoordelijk is voor de afhandeling van de gebruikers zich aanmelden en voegen we een app bericht slash register functie verzoek respons te doen.
En hier zullen we allemaal de logica toe te voegen om te beginnen.
We zullen gewoon een goede nachtrust en registreer post-trib alleen maar om ervoor te zorgen dat deze is aangesloten op OK.
En als we de server opnieuw en ga terug ververs de pagina invullen van een aantal willekeurige data en druk op te leggen.
We moeten aangetekende post-ontwerp te zien.
Daar gaan we.
Dus dat betekent dat onze vorm is het indienen van de juiste plaats.
We raken hier nu komen we bij het leuke gedeelte waar we eigenlijk omgaan met de gebruiker inschrijven ongeveer 10 nieuwe lijnen die je niet het grootste deel van hebben gezien.
Dus ik zal beginnen met het schrijven van de syntaxis en dan zal ik pauzeren en gaan over elke lijn en wat het doet.
En het eerste wat we eigenlijk moeten doen, die een beoordeling is dat we nodig hebben om in-body parser toe te voegen en te configureren, want we nemen de gegevens van een formulier.
Deze vorm wordt het verzenden van gegevens in het lichaam en we willen kunnen op het verzoek van het lichaam te zeggen.
Gebruik uw naam voor Quest up Vadi wachtwoord.
Op dit moment is die leeg zijn.
Dus up top we hoeven alleen maar een app die het lichaam econoom gebruiken doen dot u URL-gecodeerd en dan voegen we in die uitgebreid waar.
En dat is een ander die lijnen die je gewoon wennen aan het typen.
We moeten op elk moment gaan we met behulp van een formulier en het plaatsen van gegevens op een verzoek.
OK dus dat is nu gedaan.
Dus we moeten in staat zijn om verzoeken tot het lichaam dat de gebruikersnaam en het wachtwoord dat de gebruikersnaam en het wachtwoord van de vorm die de gebruiker probeert aan te melden bij zal bevatten.
Dus nu zijn we terug naar de logica en ik ga een paar regels die ik noemde typen en dan achteraf uit te leggen hen.
Zodat de gebruiker niet te registreren en dan in plaats van de gebruiker dot registreren we gaan pas in Nieuwe gebruiker en in Nieuwe gebruiker.
We gaan pas in gebruikersnaam is gelijk aan verzoeken tot Oddy die gebruiker naam, maar wij niet vergeten toe te voegen in deze nieuwe gebruiker.
We daadwerkelijk gaat om het toevoegen nadat we het nieuwe verzoek van de gebruiker up lichaam wachtwoord komma te maken en vervolgens gaan we naar een callback functie ooit en vervolgens gebruiker toe te voegen en dan openen we die op.
OK.
Dus laten we praten over wat we tot nu toe hebben gedaan.
We maken een nieuwe gebruiker object dat is niet echt veilig is om de database maar het is een nieuwe gebruiker en passeren we alleen in gebruikersnaam.
En de reden dat we dat doen, is dat we het wachtwoord eigenlijk niet op te slaan in de database.
Dat is niet echt een goed idee.
En ik zal je laten zien wat we eigenlijk in plaats daarvan op te slaan.
Zodra we iets in een database, maar het is niet het wachtwoord.
Dus wat we doen is dat we het wachtwoord passeren als tweede argument van de gebruiker dot aanmelden en gebruiken dot register.
We zullen dit nieuwe gebruiker die een gebruikersnaam heeft te nemen en dan zullen we dat vergeten die in feite betekent dat het verandert het in deze enorme reeks cijfers en letters hash en slaat die in de database.
Dus gaat hij de gebruiker object dat we willen maken en vervolgens passeren we het wachtwoord apart.
En dan, als alles goed gaat zal het een nieuwe gebruiker die alles erin heeft terug te keren.
Het heeft een gebruikersnaam en dan heeft het de hash wachtwoord ook.
Dus laten we eens kijken of dat werkt.
En in plaats van hier zullen we onze eenvoudig toe te voegen als fout en we zullen een console-log fout doen en dan zullen we ook doen een rode stip maken de vorm weer net als dat.
En als er niet een fout was, dan hebben we een andere lijn te doen wat Passport dot authenticeren lokaal.
En opnieuw zal ik dit achteraf te verklaren.
Vraag reactie functie en de plaats van hier gaan we om te buigen naar de geheime pagina.
Dus dit zal gebeuren zodra de gebruiker is aangemaakt en er is niet een fout als er een fout is.
We gaan dat register pagina weer te geven en dat is waar we een terugkeer hier.
Het zal gewoon kortsluiting alles.
En als er geen fout gaan we paspoort authenticeren draaien.
Dus deze lijn hier paspoort authenticate daadwerkelijk VOG de gebruiker in die zorgen voor alles zal plaatsvinden in de sessie.
Het zal de correcte informatie opslaan.
Het zal de series gebruiker methode die we hier opgegeven lopen.
En dan zijn we te geven dat we willen de lokale strategie te gebruiken.
En in de toekomst als we wilden een andere strategie te gebruiken en we hadden geïnstalleerd we kunnen veranderen die op Twitter of Facebook zijn.
En er zijn andere dingen die je moet doen.
We hebben aan te melden en krijgen referenties op Twitter en Facebook en we moeten onze apps te registreren.
Dus het is ingewikkelder.
Maar voor zover logica en paspoort betreft kunnen we gewoon ruilen dingen in en uit en er zijn enkele kleine tweaks die we nodig hebben om te maken.
Maar over het algemeen paspoort maakt het echt makkelijk voor ons om te wisselen van verschillende strategieën.
Dus we gaan de lokale gebruiken.
En dit weer gewoon gaan om daadwerkelijk in te loggen de gebruiker in.
En zodra de gebruiker is ingelogd, we gaan om te buigen naar de geheime stash geheim en dat is gewoon een persoonlijke keuze.
We konden terug naar de homepage te gaan de route, maar de slash geheim is wat we hier allemaal voor.
Dus zodra we aanmelden zodra we registreren we dan moeten worden genomen om het geheim te snijden, tenzij er een probleem is en dan gaan we terug naar het inschrijfformulier te gaan.
Dus laten we testen dit uit ervoor te zorgen dat we geen syntax fouten.
Ziet er goed uit.
Laten we nu gaan naar onze app en vernieuw de pagina en laat de Sign-Up.
Dus ik ga om een ​​account als Colt te maken en mijn wachtwoord zal gewoon vergeten en geen hit te dienen en we krijgen de geheime pagina dat is goed nieuws, maar om echt ervoor te zorgen dat het werkte.
Laten we stoppen met de server en laten we eigenlijk open Mongo en ik ga met mijn database, zodat ik zal doen laten zien Digby's en de database is Auth. demo app.
Dus ik ga gebruiken en dan ga ik kijken naar de collecties tonen collecties en vervolgens gaan we D.B dat gebruikers alle DB-gebruikers en je kunt zien Ik bedoel, we maken dit een beetje groter.
We hebben een enkele gebruiker van toen ik net aangemeld en er is veel informatie hier.
Nou er is echt niet veel er maar een paar stukken, maar het ziet eruit als een stuk.
Belangrijker nog hebben we een gebruikersnaam hier.
Uw naam Colts.
Dat is het stuk dat we gespecificeerd dat ziet er normaal voor ons.
En dan zijn er deze dingen zout en hasj en ik praten veel meer over deze in de authenticatie van de grond eenheid.
Dus we gaan niet in veel in detail te gaan alles wat ik zal noemen over het voor nu is dat onze ruwe wachtwoord het woord vergeten in mijn geval is niet in de database van alle opgeslagen merken.
Wat we het opslaan is deze gekke hash-versie.
En dan dat andere ding heet zout die ons zal helpen hash dit.
En door ons te helpen bedoel ik dat het allemaal verzorgd door het paspoort lokale knoeiers pakket dat we geïnstalleerd en geconfigureerd als een plug-in die we hier deden.
Dus dat zorgt voor alles uit de hashing naar het zouten het opslaan van dingen in de database.
Alles wat we moesten doen was deze eenvoudige regel of het formaat van dit opnieuw gebruiker dot register en passeren we in een nieuwe gebruiker met een gebruikersnaam.
En dan duurt het voor de rest.
We geven het wachtwoord van de vorm, maar we zullen je nooit op te slaan aan de gebruiker.
In plaats daarvan regelt alles en het bespaart nooit een wachtwoord at all.
Het is eigenlijk het opslaan van de hash-versie.
OK.
Dus laten we uit Mongo nu.
En we hebben nu registratie werkt het allerlaatste wat we kunnen doen is het openstellen van de index pagina of de startpagina bedoel ik Recit die thuis te maken.
Dus laten we het doen C9 beschouwt sosh huis en we zullen gewoon toe te voegen in een link zodat we een bondgenoot hier kom toe te voegen en deze link moet gaan naar de registratiepagina.
Zo zal het een verankerde tag met een trip die gelijk is aan een kassa en we zullen gewoon add Sign-Up binnen de tekst.
Dus nu als we beginnen met de server laten we duidelijk dat dit allemaal weg node.
Ja en de bezoeker app en ga naar de homepage.
We hebben nu een sign up link waar we kunnen gaan aan te melden.
Grote.
Dus bedekt we alles wat ik wil aan te gaan in deze video in de volgende video.
We werken op de log in functionaliteit.