Bienvenue dans cette leçon qui est la partie 3 de l'ajout d'authentification à votre camp, nous allons nous concentrer sur loggin sera d'écrire les deux dans les itinéraires et puis aussi le journal et le modèle avec les enfants formulaire commencé ici.
Donc, tout comme registre log in doit avoir deux routes.
Cela devrait être un peu un examen de la dernière unité où nous avons abordé plus en détail, mais nous avons besoin d'une demande GET pour montrer le formulaire et puis s'opposent à faire réellement l'ouverture de session.
Commençons donc par le formulaire et je vais ajouter un commentaire ici.
Afficher le formulaire de connexion comme ça.
Et puis, une fois que vous avez un appétit obtenir greffé log dans notre réponse à la demande et le rappel chaque aller et puis rendra le journal dans le modèle qui n'existe pas encore.
Maintenant, nous allons créer ce point de vue tactile slash log in.
E.J ..
Oui et maintenant il est ouvert que beaucoup pour commencer.
Et chacun de ceux qui vient de dire se connecter et enregistrer un démarrage du serveur.
Allons à notre application et essayer de visiter l'ouverture de session slash.
Voilà.
Cela semble bon.
Pas de déjeuner au forum.
Donc, nous devons avoir une étiquette de formulaire et nous allons commencer avec nos entrées et mettre le type d'appels texte et nous pourrions simplement voler cela à partir du formulaire de registre.
Mais c'est une bonne pratique de le taper de nouveau à zéro.
Donc, le type d'entrée va nom de texte égal à username placeholder égale nom d'utilisateur ainsi.
Et puis un autre type de saisie égale le nom du mot de passe est égal à l'espace réservé du mot de passe est égal au mot de passe.
Et puis plutôt que de faire un bouton que j'ai fait, je vais juste utiliser un type d'entrée de soumettre juste pour démontrer que vous pouvez utiliser un ou l'autre.
So input type submit.
Et puis nous devons lui donner une valeur.
Et c'est ce qui va effectivement apparaître.
Donc, la valeur va juste dire log in, mais sauvez Regardez notre formulaire.
D'ACCORD.
Nous avons la forme.
Il ne fait rien maintenant parce que nous devons lui donner une action et une méthode.
Et tout comme l'enregistrement sur le registre, nous avons une demande de poste que nous faisons pour slash enregistrer sur le formulaire d'ouverture de session.
Nous allons faire une demande de poste pour ouvrir une session.
Donc l'action doit être logon social et la méthode devrait être post et nous allons l'enregistrer pour s'assurer que cela fonctionne.
Ensuite, si je me connecte en ce moment, nous recevons un petit message indiquant que nous ne pouvons pas afficher de slash, car nous n'avons pas d'itinéraire pour cela.
Donc, je vais revenir en fait oui et ajouter dans notre journal en route et cette route sera responsable de la log log logique.
Donc amped up post slash se connecter à notre rappel.
Et puis ce que nous allons faire est de simplement faire un simple lire envoyer log in.
La logique se produit ici et nous voulons juste nous assurer que nous voyons cela et nous devons redémarrer le serveur quand nous changeons ou ajoutons un nouvel itinéraire.
Maintenant, nous allons actualiser quelque chose de type.
En fait, nous n'avons même pas besoin de remplir les logs et nous obtenons log logique se produit ici.
D'accord.
Génial.
Donc, nous avons les routes qui up correctement, mais je vais effectivement se débarrasser de tout cela parce que si vous vous souvenez de retour de la dernière unité de la façon dont nous pouvons faire le login est en utilisant un middleware.
Et c'est le passeport.
Authentifier le middleware.
Donc, ajoutez que dans ici le passeport Khama dot authentifier.
Et puis à l'intérieur, nous devons fournir locaux.
Et puis après local comme un second argument nous fournissons un objet et cet objet prendra deux succès de choses.
Réorienter.
Et si un utilisateur se connecte avec succès, redirigeons vers les terrains de camping slash et une redirection d'échec et laissez-nous indent ceci maintenant que nous avons assez de texte ici.
OK pour redirection succès et une redirection d'échec et il redirigera juste de nouveau à l'ouverture de session slash.
S'il échoue comme ça, il ya beaucoup de tic-tac ici et nous avons encore besoin d'une virgule, et alors nous devrions être bien d'aller.
Alors passons à autre chose.
C'est un peu d'examen de avant que nous n'avons pas amped up post route à slash se connecter quand une demande vient dans slash log in.
Cela va commencer en premier.
Tout cela et tout cela n'est que le deuxième argument.
Donc, il ressemble vraiment à cet apt up post, nous avons Slash connexion, puis nous avons le middleware et puis nous avons notre rappel.
Donc, le middleware va d'ici à là, ce qui est toujours un peu déroutant lorsque vous mettez les choses sur de nouvelles lignes.
Mais c'est beaucoup mieux que d'avoir une ligne gigantesque pas middleware, nous allons appeler la méthode d'authentification que nous avons mis en place ici tant de code pour aller vers le haut.
Nous voilà.
Passeport n'utilisent pas d'utilisateur stratégie locale ou d'authentification.
Donc, quand nous appelons les données d'utilisateur choses Kate ou passport point authentifier sur une stratégie locale, il utilisera la méthode que nous n'avons pas eu à écrire.
Il nous a été donné gratuitement en utilisant le passeport mongoose package local.
Mais il va appeler cette authentification qui prendra alors la demande de mot de passe de corps par le nom d'utilisateur et puis il authentifiera ce mot de passe avec ce que nous avons stocké dans la base de données pour cet utilisateur.
Et il prend soin de toute la logique complexe que nous n'avons pas à vous soucier.
Et puis, si ça fonctionne, il redirige ces terrains de camp s'il ne fonctionne pas, rediriger vers le slash et puis nous avons ce Colbeck ici qui ne fait vraiment rien.
Et nous pouvons nous en débarrasser si nous le voulons.
Mais je veux juste le laisser là pour que vous sachiez que c'est un middleware.
D'ACCORD.
Redémarrez donc le serveur.
Voyons ce qui se passe, je vais me débarrasser de cette ligne.
Il se plaint de cela.
Voilà.
Let's actualiser et brancher avec ce même compte qu'ils ont créé la dernière fois Severus et le mot de passe est Nahit mot de passe de connexion et je vais à slash terrains de camping.
Génial.
Maintenant, revenons en arrière.
Je vais réinitialiser le serveur à nouveau et laissez-moi essayer de lire quelque chose que je sais ne fonctionne pas.
J'espère que nous n'avons pas un compte avec ce mot de passe et je reviens au formulaire de connexion parce que c'est ce que j'ai défini comme la redirection d'échec.
OK, permettez-moi de répéter ceci parce que c'est un concept important.
Il s'agit du même passeport que l'authentification que nous utilisons au lieu d'enregistrer que nous utilisons au lieu de journal.
La différence est qu'au lieu d'enregistrer, nous faisons d'autres choses avant d'exécuter le passeport authentifier que nous sommes en train d'enregistrer l'utilisateur faisant un nouvel utilisateur.
Et puis, si cela fonctionne, alors nous enregistrons l'utilisateur dans versus ici sur slash log dans l'utilisateur est présumé exister déjà.
Donc tout ce que nous faisons, c'est que le passeport authentifie qui va les ouvrir.
OK, c'est tout ce que je veux faire.
Le log dans la logique avec ces deux routes après que je me connecte dans l'APT jusqu'à l'ouverture de poste.
Et puis nous avons aussi la forme ici.
Juste une forme simple comme registre.
La seule différence est celle-ci ici où nous envoyons le formulaire à.
Impressionnant.
Dans la prochaine vidéo de travailler sur la déconnexion et aussi rendre notre barre NAV un peu mieux.