1
00:00:00,570 --> 00:00:14,610
Bienvenue à la dernière tranche de ce code d'authentification tout ce que nous avons à faire est d'ajouter dans la fonctionnalité de déconnexion et ensuite nous allons ajouter dans un middleware appelé est connecté pour vérifier si l'utilisateur est verrouillé Dans ou non.

2
00:00:14,610 --> 00:00:16,080
Nous allons donc en arriver à temps.

3
00:00:16,080 --> 00:00:22,170
Commençons par vous déconnecter afin de vous déconnecter est beaucoup plus simple que de vous connecter ou de vous inscrire.

4
00:00:22,170 --> 00:00:23,490
Nous n'avons pas besoin d'avoir deux routes.

5
00:00:23,520 --> 00:00:24,600
Nous n'avons pas besoin d'un formulaire.

6
00:00:24,750 --> 00:00:31,240
Tout ce que nous voulons est un simple lien et lorsque nous cliquons sur ce lien, il doit se déconnecter ou se déconnecter de l'utilisateur actuel.

7
00:00:31,710 --> 00:00:32,930
Commençons par le lien.

8
00:00:33,000 --> 00:00:42,930
Je vais aller à la page d'accueil pour commencer une annonce dans un lien à la coupure déconnexion qui n'existe pas et nous allons simplement dire se déconnecter.

9
00:00:42,950 --> 00:00:49,350
Et ajoutons également dans un lien pour ouvrir une session puisque nous n'avons pas encore fait cela.

10
00:00:49,830 --> 00:00:58,630
Et maintenant, copions ceci et mettons-le sur tous les modèles juste pour que nous ayons ces trois liens sur chaque page.

11
00:00:58,960 --> 00:01:00,000
D'ACCORD.

12
00:01:00,390 --> 00:01:05,040
Maintenant, revenons à notre adresse et nous devons gérer l'itinéraire de déconnexion.

13
00:01:05,280 --> 00:01:16,190
Donc, nous avons besoin d'ajouter dans et après que l'obtenir slash se déconnecter et nous pouvons commencer agréable et simple en envoyant quelque chose en arrière.

14
00:01:16,300 --> 00:01:17,930
RAZ Et.

15
00:01:18,250 --> 00:01:19,260
D'ACCORD.

16
00:01:19,650 --> 00:01:23,010
Je vais vous déconnecter.

17
00:01:23,010 --> 00:01:26,380
Pas encore et économisez.

18
00:01:26,490 --> 00:01:29,210
Et nous devrions voir ceci quand nous cliquons sur ce lien.

19
00:01:29,520 --> 00:01:31,820
Commençons notre serveur.

20
00:01:32,820 --> 00:01:40,260
Essayons de nous déconnecter maintenant et rafraîchir la page et il n'a pas d'importance si depuis longtemps ou non, nous cliquons sur déconnexion.

21
00:01:40,260 --> 00:01:42,860
Nous obtenons cette réponse qui est ce que nous voulons.

22
00:01:43,650 --> 00:01:49,340
Maintenant, ce que nous devons faire est effectivement de connecter l'utilisateur qui est vraiment simple à l'aide de Passeport.

23
00:01:49,740 --> 00:01:55,290
C'est une simple demande de ligne qui se déconnecte c'est tout ce que nous devons faire.

24
00:01:55,410 --> 00:01:59,640
Et rappelez-vous quand on verrouille quelqu'un, on ne change rien dans la base de données.

25
00:01:59,640 --> 00:02:01,640
Il n'y a pas de transaction.

26
00:02:01,650 --> 00:02:05,890
Ce qui se passe, c'est que le passeport détruit toutes les données utilisateur dans la session.

27
00:02:05,910 --> 00:02:11,270
Il n'est plus de suivi des données de cet utilisateur dans la session de demande à la demande.

28
00:02:11,280 --> 00:02:16,930
Donc, si nous économisons et puis nous voulons aussi quelque chose à arriver à la fin comme une redirection.

29
00:02:17,100 --> 00:02:19,090
Alors redirigeons-nous vers la page d'accueil.

30
00:02:19,180 --> 00:02:20,640
Cette redirection vers slash.

31
00:02:20,730 --> 00:02:27,430
Une fois que vous avez été déconnecté OK redémarrez le serveur et donnez-lui un coup de feu.

32
00:02:27,690 --> 00:02:36,950
Donc, je vais rafraîchir je vais commencer par vous connecter et je vais me connecter en tant que Colt avec le compte que j'ai créé avec mon mot de passe comme mot de passe.

33
00:02:36,950 --> 00:02:39,400
Je me connecte à la page secrète.

34
00:02:39,420 --> 00:02:45,390
Maintenant, nous allons cliquer sur se déconnecter et il le ramène à la page d'accueil et c'est tout.

35
00:02:45,390 --> 00:02:46,940
Alors log, c'est assez simple.

36
00:02:46,980 --> 00:02:48,270
Nous n'avons besoin d'aucun des formulaires.

37
00:02:48,270 --> 00:02:54,030
Il s'agit d'un seul tronçon de tronçonnage de déconnexion et tout ce que nous faisons à chaque fois est la demande de déconnexion.

38
00:02:54,150 --> 00:02:55,860
Et qui prend soin de tout pour nous.

39
00:02:55,860 --> 00:03:00,830
Cela vient du passeport dans l'unité où nous créons notre journal à partir de zéro.

40
00:03:00,930 --> 00:03:02,930
Nous allons réellement écrire la méthode se déconnecter.

41
00:03:03,030 --> 00:03:04,460
Nous allons écrire authentifier.

42
00:03:04,590 --> 00:03:06,020
Nous allons écrire le registre.

43
00:03:06,180 --> 00:03:10,430
Mais pour le moment passeport rend super facile pour nous.

44
00:03:10,590 --> 00:03:15,940
Nous avons un problème qui est que même si je suis déconnecté je viens de quitter pour fermer la session.

45
00:03:16,020 --> 00:03:19,470
Je peux encore aller à slash secret.

46
00:03:19,470 --> 00:03:21,380
Rien ne m'empêche d'y arriver.

47
00:03:21,720 --> 00:03:25,870
Donc, notre code nous envoie maintenant à slash secret lorsque nous nous inscrivons.

48
00:03:25,890 --> 00:03:30,870
Et quand nous voudrions encore mais je peux encore y aller même si je ne suis pas signé dedans.

49
00:03:30,960 --> 00:03:35,480
Déconnectez-vous et je peux toujours aller à slash secret pour corriger cela.

50
00:03:35,580 --> 00:03:42,030
Nous devons ajouter dans un middleware dans ce que nous voulons faire est sur cette voie secrète avant que nous fassions quoi que ce soit.

51
00:03:42,030 --> 00:03:46,770
Nous allons vérifier si l'utilisateur est connecté ou non si l'utilisateur est connecté.

52
00:03:46,920 --> 00:03:53,250
Puis rendra ce modèle si l'utilisateur n'est pas connecté, puis les rediriger vers l'ouverture de session slash.

53
00:03:53,960 --> 00:03:56,640
Et la façon dont nous faisons cela est en écrivant un middleware.

54
00:03:57,180 --> 00:04:05,490
Donc, nous allons définir une fonction en bas ici et cette fonction va être appelée est connecté.

55
00:04:05,490 --> 00:04:10,890
Et il faut trois paramètres demande de réponse et la prochaine.

56
00:04:11,220 --> 00:04:15,740
Et ceci est standard pour la demande middleware se réfère à l'objet de demande.

57
00:04:15,900 --> 00:04:17,760
La réponse est l'objet de réponse.

58
00:04:17,910 --> 00:04:21,270
Et ensuite est en fait la prochaine chose qui doit être appelé.

59
00:04:21,570 --> 00:04:26,580
Et nous n'avons pas à mettre tout cela en place juste en l'ajoutant comme un middleware que nous allons faire dans un instant.

60
00:04:26,670 --> 00:04:30,270
Express prend soin de lui et il sait quelle fonction appeler ensuite.

61
00:04:30,270 --> 00:04:32,540
Mais nous allons commencer par définir la fonctionnalité ici.

62
00:04:32,670 --> 00:04:43,200
Donc, est connecté, nous allons vérifier si une demande est authentifié qui est quelque chose qui vient avec le passeport ainsi assurez-vous que nous orthographié ce droit.

63
00:04:43,240 --> 00:04:45,440
Est authentifié.

64
00:04:46,260 --> 00:04:50,660
Ensuite, nous allons revenir ensuite ce qui est un peu bizarre.

65
00:04:51,330 --> 00:04:52,740
Et puis je reviendrai là-dessus.

66
00:04:52,770 --> 00:04:56,970
Sinon ce que nous allons faire et nous n'avons pas besoin d'un autre parce que nous revenons ici.

67
00:04:56,970 --> 00:05:11,500
Donc, ce que nous allons faire est de redstart redirection vers le journal en forme de barre oblique de connexion et ensuite nous allons ajouter cela comme un middleware est connecté à notre itinéraire secret slash qui est ici.

68
00:05:11,730 --> 00:05:17,190
Et c'est vraiment simple, il suffit d'ajouter est connecté ici.

69
00:05:17,700 --> 00:05:19,500
Et puis une virgule.

70
00:05:19,500 --> 00:05:27,720
Donc, ce que cela va faire, c'est quand une demande vient dans une requête GET pour slash secret, il va exécuter ce avant qu'il ne fait autre chose.

71
00:05:27,740 --> 00:05:31,800
Il va exécuter est connecté dans lequel elle va faire cela.

72
00:05:31,800 --> 00:05:39,090
Il va vérifier est la demande authentifiée si elle est le retour suivant et exécuter ensuite.

73
00:05:39,150 --> 00:05:40,630
C'est ce que les parenthèses ici sont.

74
00:05:40,980 --> 00:05:44,540
Et ensuite, il va juste se référer à ce droit ici.

75
00:05:44,760 --> 00:05:48,780
Donc, avant de rendre secret, nous voulons vérifier si les utilisateurs se sont connectés.

76
00:05:48,780 --> 00:05:50,520
Encore une fois, c'est ce que nous faisons.

77
00:05:50,520 --> 00:05:51,860
Si l'utilisateur s'est connecté.

78
00:05:52,110 --> 00:05:53,670
Fondamentalement continuer.

79
00:05:53,670 --> 00:05:55,450
Déplacez-vous bien.

80
00:05:55,610 --> 00:06:02,420
Sinon, si l'utilisateur n'est pas authentifié alors nous avons un problème et nous allons vous rediriger vers le slash log in.

81
00:06:02,830 --> 00:06:05,040
Et cet autre code ne fonctionnera jamais.

82
00:06:05,670 --> 00:06:09,260
Donc, si nous redirigons à l'intérieur de est connecté, nous avons terminé.

83
00:06:09,570 --> 00:06:10,890
Et cela ne se produit pas.

84
00:06:11,340 --> 00:06:14,850
OK, nous allons sauvegarder redémarrer le serveur.

85
00:06:15,300 --> 00:06:17,320
Assurez-vous que nous n'avons aucune erreur de syntaxe.

86
00:06:17,700 --> 00:06:22,010
Revenons en arrière et commençons sur la page racine.

87
00:06:22,020 --> 00:06:30,410
Assurez-vous que je ne suis pas connecté et maintenant je vais essayer d'aller à slash secret et cela me prend pour slash se connecter automatiquement.

88
00:06:30,420 --> 00:06:31,530
Regarde ça.

89
00:06:31,530 --> 00:06:35,030
Maintenant, c'est loggin colt avec mon mot de passe.

90
00:06:35,030 --> 00:06:38,370
Vous avez appelé le mot de passe.

91
00:06:38,370 --> 00:06:40,920
Maintenant je peux aller à la page secrète.

92
00:06:40,980 --> 00:06:49,390
Maintenant, nous allons revenir à la racine et essayer d'aller au secret de nouveau et cela fonctionne parce que je suis connecté afin que je puisse aller et venir.

93
00:06:49,470 --> 00:06:54,490
Je peux aller sur les routes que je veux signer et puis revenir au secret.

94
00:06:54,870 --> 00:07:01,850
Mais alors, dès que je me déconnecte et que j'essaie de revenir au secret, ça ne fonctionne plus.

95
00:07:02,730 --> 00:07:04,750
Nous allons simplement vérifier que ou signer fonctionne.

96
00:07:04,860 --> 00:07:14,460
Faisons un nouveau compte appelé Tator et le mot de passe sera également mot de passe et nous allons soumettre qui nous fait un nouveau compte.

97
00:07:14,460 --> 00:07:17,850
Je peux maintenant visiter le secret et puis je peux me déconnecter.

98
00:07:18,540 --> 00:07:23,240
Et cela détruit la session et je ne peux plus aller au secret.

99
00:07:23,250 --> 00:07:23,750
D'accord.

100
00:07:24,060 --> 00:07:28,230
Nous avons donc couvert beaucoup dans cette série de cinq parties différentes pour créer cette authentification utilisateur.

101
00:07:28,470 --> 00:07:32,100
Et c'est même en utilisant ces outils que j'ai dit nous aiderait.

102
00:07:32,130 --> 00:07:36,090
C'est certainement un peu une entreprise, mais il est évidemment la peine.

103
00:07:36,090 --> 00:07:43,020
La plupart des applications web bénéficient vraiment d'avoir en parce que comme nous allons voir et Yelp camp de notre prochaine vidéo, nous serons en mesure d'ajouter le login.

104
00:07:43,020 --> 00:07:49,280
Et ce n'est pas seulement pour mettre des choses derrière un mur loggin, mais nous pouvons effectivement associer des données avec un utilisateur.

105
00:07:49,290 --> 00:07:53,210
En ce moment, nous avons seulement la page des secrets cachée, sauf si vous êtes connecté.

106
00:07:53,580 --> 00:08:00,500
Mais aucun camp n'associe effectivement des commentaires spécifiques à un utilisateur afin que nous puissions voir qui a exactement fait un commentaire.

107
00:08:01,230 --> 00:08:10,470
Donc, avant de signer ici, nous allons revenir en arrière et juste faire un rapide récapitulatif de la partie la plus importante qui est notre middleware est donc connecté est une fonction que nous avons définie.

108
00:08:10,860 --> 00:08:18,310
Et nous pouvons définir autant de middleware que nous voulons et ils prennent tous ces trois paramètres de la demande de la réponse et la fonction suivante.

109
00:08:18,570 --> 00:08:24,280
Et puis, si les choses vont bien si nous voulons passer au prochain middleware, il suffit d'appeler ensuite.

110
00:08:24,480 --> 00:08:25,620
Juste comme ça.

111
00:08:25,800 --> 00:08:35,050
Et dans notre cas, si les choses ne sont pas bien si la demande n'est pas authentifié qui retourne faux alors nous court-circuitons et rediriger à la barre oblique comme elle.

112
00:08:35,440 --> 00:08:36,050
D'accord.

113
00:08:36,120 --> 00:08:38,640
J'espère que vous apprécierez l'apprentissage de l'authentification des utilisateurs.
