Bienvenue à nouveau dans ce que vous savez, nous nous concentrons sur l'authentification des utilisateurs où vous commencez à court.
Selon mon expérience, les étudiants sont vraiment excités à apprendre parce qu'ils estiment que cela rend leurs applications légitimes et les rend sensibles et utilisables.
Si vous pouvez vous inscrire, vous pouvez vous connecter et vous pouvez vous déconnecter.
Donc, c'est une chose amusante et excitante à enseigner.
Mais la vérité est que c'est aussi une chose vraiment difficile à enseigner parce que l'authentification est assez compliquée.
Il ya beaucoup de pièces en mouvement qui doivent s'emboîter dans juste la bonne façon de le faire fonctionner.
Beaucoup de grands concepts.
Et honnêtement, c'est beaucoup de code pour le faire fonctionner.
Heureusement pour nous il ya beaucoup de grands outils là-bas qui nous aident à mettre en œuvre l'authentification rapidement et en toute sécurité.
Maintenant, expliquez ce que je veux dire en toute sécurité plus tard dans cette vidéo.
Avant de plonger dans l'explication des outils et du workflow de l'authentification, je veux passer un peu de temps à vous donner un aperçu de mon processus de pensée derrière l'enseignement de l'art.
C'est un de ces sujets que j'ai passé beaucoup de temps à l'enseigner, mais aussi l'enseignement de plusieurs manières différentes.
Lorsque vous enseignez l'authentification des utilisateurs, il ya un choix que vous devez faire.
Et pour moi ce choix allait enseigner l'authentification à partir de zéro n'utilisant aucun outil du tout et s'assurer que les étudiants se concentrer sur les tenants et les aboutissants de chaque concept important et il pourrait prendre cinq six heures.
Il pourrait être beaucoup de leçons beaucoup de vidéos.
Nous pourrions finir par perdre quelques étudiants, mais nous allons nous assurer que tout le monde comprend comment fonctionne l'authentification.
Ou pouvons-nous utiliser certains des outils existants là-bas des outils qui nous aident à ajouter l'authentification des utilisateurs plus rapide plus simple et avec beaucoup moins de lignes de code et tout cela se résume à ce problème est-il plus important pour les étudiants d'avoir une compréhension profonde de la façon dont les choses travail.
Est-ce la priorité ou est-ce une priorité de demander aux élèves de faire des choses rapidement.
Il en va de la compréhension conceptuelle et de la profondeur des connaissances ou est-il de faire des choses.
Évidemment, dans un monde idéal, nous voudrions les deux.
Nous voulons que chacun comprenne les tenants et aboutissants de tout ce que nous enseignons et nous voulons que les étudiants aient des tonnes de connaissances pratiques et puissent faire des choses rapidement.
Dans le passé, j'ai essayé les deux approches de l'enseignement où j'ai commencé en essayant de donner aux étudiants une compréhension profonde de chaque concept et comment tout fonctionnait et s'emboîter avant même de mettre en œuvre quelque chose.
Et puis j'ai aussi fait le contraire où nous essayons juste de faire quelque chose de travail d'abord et puis revenir et parler de comment cela fonctionne.
Et j'ai passé encore plus de temps à réfléchir à la façon dont nous voulons l'aborder dans ce cours vidéo que j'ai enregistré cette manière de la conférence trop de fois j'ai remanié réécrit tout le code.
C'est une question que je veux obtenir parce que c'est vraiment important et que beaucoup d'étudiants attendent avec impatience.
Donc ce que j'ai décidé de faire est d'avoir deux unités dans cette première unité sur l'authentification que vous regardez actuellement.
Je vais commencer par vous donner un aperçu très rapide.
Pas du tout en profondeur, mais juste un aperçu rapide de la façon dont fonctionne l'authentification.
Et puis nous allons utiliser ces outils dont j'ai parlé qui facilitent notre vie et rendre le code plus court.
Nous allons les utiliser tout de suite.
Et l'accent est mis sur juste faire quelque chose qui a à la fois une occasion et puis une des unités facultatives.
À la fin de ce cours va être une véritable plongée profonde dans l'authentification où nous allons effectivement mettre en œuvre notre propre authentification utilisateur à partir de zéro où nous n'utiliserons aucun des outils et je vais vous montrer maintenant l'objectif Est d'avoir le meilleur des deux mondes va commencer par faire quelque chose.
Et je ne vais pas breeze sur tous les concepts, mais je ne vais pas vous passer une heure plus parler de la façon dont les choses fonctionnent.
D'accord, maintenant que nous avons sorti de la façon dont cette grande discussion idéologique ici je veux maintenant présenter les outils que nous allons utiliser afin que nous allons utiliser quelque chose appelé passeport.
Oui.
Et nous ne l'utilisons pas seulement parce que c'est quelque chose qui rendra notre vie plus facile rendre notre code plus court rendre cette mise en œuvre plus rapide.
Mais c'est aussi quelque chose qui est utilisé beaucoup dans le monde réel.
Beaucoup d'applications utilisent le passeport J.S. Pour mettre en œuvre leur authentification.
Alors laissez-moi vous montrer la page d'accueil ici.
Il s'agit de Passport Chaiya bégayé et voir le petit slogan dit simple authentification discret pour pas de passeport J US est l'authentification middleware pour nœud extrêmement flexible et modulaire passeport peut être discret tombé dans n'importe quelle application web express.
Un ensemble complet de stratégies de soutien à l'authentification en utilisant un nom d'utilisateur et un mot de passe Facebook Twitter et plus encore.
Et puis vous pouvez voir ici il ya effectivement plus de 300 stratégies différentes.
Ainsi, la stratégie se réfère à différents types d'authentification différentes façons d'authentifier les gens que ce soit par le biais de l'utilisateur ayant un type d'e-mail et un mot de passe authentification traditionnelle ou si c'est grâce à un service comme Facebook ou Twitter que vous avez probablement déjà vu sur un site ou un Application où il vous demande de vous connecter via Google ou Twitter ou Facebook.
Et il ya des tonnes de plus que nous pouvons effectivement voir tous et nous pouvons rechercher à travers eux, il ya des choses comme Fitbit, vous pouvez vous connecter par Fitbit.
Nous avons Spotify Reddit tumblr Google plus.
Mais de loin les plus populaires vont être Facebook Twitter et Google.
Et puis aussi ce qui est connu comme l'authentification locale qui est ce que nous allons commencer par ici qui est juste nom d'utilisateur ou e-mail et mot de passe.
D'ACCORD.
C'est donc l'outil de base que nous allons utiliser le passeport.
Oui, il sera une aide énorme dans notre mise en œuvre de l'utilisateur.
Mais nous allons également utiliser un autre paquet appelé Passport local que j'ai ici.
Et c'est l'un de ces schémas ou stratégies d'authentification.
Donc, il ya un passeport Facebook un passeport Twitter passeport Google et passeport local et 300 plus différentes stratégies passeport local est pour le nom d'utilisateur et mot de passe qui est ce que nous allons faire pour commencer.
Mais ce qui est vraiment super sur le passeport, c'est que plus tard dans ce cours, nous pouvons aller ajouter Facebook ou Twitter et nous pouvons garder locaux ainsi et nous pouvons avoir trois 5 10 façons différentes de se connecter à notre application.
Habituellement, vous voulez le garder assez limité, mais nous pouvons avoir autant que nous voulons en utilisant Passeport et nom de passeport.
Il s'agit de fournir ce point d'entrée dans toutes sortes de destinations.
OK et il ya un autre paquet que nous allons utiliser qui est appelé passeport mongoose locale.
Donc, j'ai le hub get ouvert pour cela et le passeport Mongoose locale est un autre paquet qui va juste nous aider à mettre en œuvre l'authentification avec passeport et il est spécialement fait pour fonctionner avec la mangouste.
Nous n'avons donc pas à l'utiliser.
Nous pourrions s'en tirer avec juste en utilisant Passport local le passeport local Mongoose va nous aider à le rendre encore plus rapide et le rendre plus simple pour nous.
Et puis, bien sûr, dans la section optionnelle off from scratch, nous allons créer de l'art à partir de zéro sans aucun de ces outils.
D'ACCORD.
Ce sont donc les trois principaux outils.
Maintenant, je vais vous donner une démo rapide de ce que nous allons faire à l'avance que je vais vous prévenir que ce n'est pas très excitant visuellement.
Je n'ai pas le style du tout.
Mais nous allons vous ajouter Seraph au camp yo et nous allons être de style que.
Mais pour l'instant, c'est une mise en œuvre barebone que je veux vous montrer.
Nous avons donc commencé sur cette page d'accueil et nous avons trois boutons.
Connectez-vous enregistrer et se déconnecter et il ya un secret secret de page slash que vous pouvez uniquement voir si vous êtes connecté.
Donc, si j'essaie d'y aller en ce moment, je ne suis pas connecté et cela me ramène à la barre oblique d'un journal et il me montre le formulaire de connexion donc je vais m'inscrire et je vais vous montrer que nous pouvons ensuite aller à La page secrète.
Donc nom d'utilisateur je vais faire rouillé quatre ou cinq six et mot de passe sera juste mot de passe et puis je vais m'inscrire.
Et il me faut couper le secret que je peux maintenant visiter.
Et sur la page secrète j'ai une photo horriblement embarrassante de ma cellule de ma septième ou huitième année quand j'ai eu mon premier ordinateur portable.
Tout simplement terrible.
Donc, c'est slash secret secret pour une raison évidente.
Et maintenant, si je vais me déconnecter je ne peux plus aller à slash secret, il me redirige vers la barre oblique de connexion et je peux aussi me connecter ici.
Donc, je vais utiliser Rusti quatre cinq six avec le mot de passe correct qui est juste mot de passe et je m'inscris ou se connecter et il me ramène à un tel secret et je peux aller à la page d'accueil et de retour à slash secret parce que je reste connecté.
Donc, la façon dont cela fonctionne le concept-clé que tout dépend de quelque chose est appelé sessions.
Je vais vous donner un résumé rapide des séances.
Fondamentalement, c'est GTP est censé être un protocole sans état qui signifie que lorsque vous envoyez des demandes de ces demandes sont des choses un temps et ils ne contiennent pas d'informations sur votre historique ou les demandes précédentes que vous avez fait.
Ils ne sont pas liés ensemble.
Une demande n'a pas un état, il est juste une transaction unique qui rendrait vraiment difficile de mettre en œuvre l'utilisateur hors parce que je veux être en mesure de rester connecté.
Je veux que le serveur sache que Rustie 4 ou 5 6 est toujours connecté et la façon dont nous le faisons est en utilisant des sessions et ce que les sessions feront.
Ils sont juste un moyen de rendre HTP pas apatride.
Il ya un moyen de fournir l'état de sorte que quand chaque demande que je fais sur cette application lorsque je suis connecté lorsque quelqu'un est connecté, il ya un peu d'informations sur cet utilisateur qui est enregistré dans cette demande qui est envoyée au serveur et c'est Pas réellement le mot de passe utilisateur de l'ensemble du nom d'utilisateur.
Mais c'est un peu d'information et il est encodé et il est essentiellement fait pour être un secret.
Et puis il obtient à mon serveur et puis le passeport va voir cela et il sera traduit en quelque chose qu'il comprend essentiellement crack le code ou non chiffré et il utilisera ces informations pour dire si quelqu'un est connecté ou non.
Donc, cela aura plus de sens une fois que nous ajouterons la mise en œuvre.
Mais le concept clé est que les sessions nous permettent d'avoir l'état dans nos demandes HTP.
Je peux donc envoyer des données.
Je peux retourner à la page d'accueil, il sait toujours que je suis connecté en tant que Rustie 4 5 6 et je peux retourner au secret sans aucun problème.
Et c'est parce que chaque fois que je fais une demande, j'envoie un petit morceau d'information qui dit que c'est Rustie quatre cinq six qui est connecté.
Et puis, dès que je me déconnecte, cette information est partie.
Alors maintenant, quand je vais à slash secret, j'ai une logique qui dit si il n'y a pas d'utilisateur dans la session, alors ne laissez pas cette personne aller à un tel secret.
Rediriger les pour slash logon.
D'ACCORD.
Nous allons donc examiner plus en détail cette question dans la prochaine vidéo lorsque nous créerons cette application simple et que nous mettrons en place des sessions pour obtenir de l'aide sur nos sessions.
Nous allons utiliser un paquet appelé session Express qui apparaîtra dans la prochaine vidéo aussi.
OK, c'est tout ce que je veux présenter pour l'instant.
Donc, nous allons utiliser Passport J comme le schéma local avec le module ou le paquet de mangouste local de passeport qui nous aidera à implémenter l'authentification des utilisateurs assez rapidement et relativement sans douleur et nous allons l'obtenir dans la prochaine vidéo dans un Simple application.
Et puis une fois que nous avons ce travail, nous allons retourner au camp et mettre en œuvre l'authentification des utilisateurs.