﻿1
00:00:00,910 --> 00:00:02,380
‫Narrateur : Bon retour.

2
00:00:02,380 --> 00:00:05,510
‫Donc, dans cette vidéo, vous allez apprendre un moyen super sécurisé

3
00:00:05,510 --> 00:00:06,983
‫de déconnecter les utilisateurs.

4
00:00:08,580 --> 00:00:12,110
‫Ainsi, jusqu'à présent, lorsque nous voulions supprimer un utilisateur, nous

5
00:00:12,110 --> 00:00:15,233
‫supprimions simplement le cookie de notre navigateur.

6
00:00:16,640 --> 00:00:17,570
‫À droite?

7
00:00:17,570 --> 00:00:19,600
‫Donc quelque chose comme

8
00:00:19,600 --> 00:00:21,190
‫ça, puis supprimez-le.

9
00:00:21,190 --> 00:00:24,020
‫Cependant, le fait est que nous avons créé ce

10
00:00:24,020 --> 00:00:26,490
‫cookie en tant que cookie http uniquement.

11
00:00:26,490 --> 00:00:27,580
‫N'oubliez pas cela,

12
00:00:27,580 --> 00:00:30,420
‫et cela signifie que nous ne pouvons en aucun

13
00:00:30,420 --> 00:00:32,730
‫cas manipuler ce cookie dans notre navigateur.

14
00:00:32,730 --> 00:00:33,930
‫Nous ne pouvons donc pas le

15
00:00:33,930 --> 00:00:35,903
‫modifier, et nous ne pouvons pas non plus le supprimer.

16
00:00:36,820 --> 00:00:40,580
‫Jetons donc un coup d'œil rapide à cet endroit dans le code où nous

17
00:00:40,580 --> 00:00:41,643
‫avons fait cela.

18
00:00:42,730 --> 00:00:44,170
‫Donc, dans

19
00:00:45,316 --> 00:00:48,830
‫le contrôleur d'authentification là-haut, nous créons en fait

20
00:00:49,930 --> 00:00:52,103
‫ce cookie, c'est donc ici.

21
00:00:53,810 --> 00:00:56,910
‫Et encore une fois, rappelez-vous que cela signifie que

22
00:00:56,910 --> 00:01:00,350
‫nous ne pouvons en aucun cas manipuler le cookie dans le navigateur.

23
00:01:00,350 --> 00:01:01,760
‫Même pas le détruire.

24
00:01:01,760 --> 00:01:03,220
‫Supprimez-le donc.

25
00:01:03,220 --> 00:01:07,510
‫Donc, si nous voulons continuer à utiliser ce moyen super sécurisé

26
00:01:07,510 --> 00:01:09,290
‫de stocker les cookies, alors

27
00:01:09,290 --> 00:01:12,730
‫comment allons-nous pouvoir réellement déconnecter les utilisateurs de notre

28
00:01:12,730 --> 00:01:14,260
‫site Web ?

29
00:01:14,260 --> 00:01:17,300
‫Parce que généralement, avec l'authentification JWT, nous supprimons

30
00:01:17,300 --> 00:01:18,820
‫simplement le cookie

31
00:01:18,820 --> 00:01:21,000
‫ou le jeton du stockage local.

32
00:01:21,000 --> 00:01:25,400
‫Mais bon, encore une fois, ce n'est pas possible en l'utilisant de cette façon.

33
00:01:25,400 --> 00:01:28,240
‫Et donc ce que nous allons faire à la

34
00:01:28,240 --> 00:01:31,940
‫place est de créer une route de déconnexion très simple qui renverra

35
00:01:31,940 --> 00:01:34,340
‫simplement un nouveau cookie avec exactement le même

36
00:01:34,340 --> 00:01:36,170
‫nom mais sans le jeton.

37
00:01:36,170 --> 00:01:38,810
‫Et cela remplacera alors le cookie actuel que nous

38
00:01:38,810 --> 00:01:41,970
‫avons dans le navigateur par un autre qui porte le même

39
00:01:41,970 --> 00:01:43,740
‫nom mais pas de jeton.

40
00:01:43,740 --> 00:01:46,440
‫Et donc, lorsque ce cookie est ensuite envoyé

41
00:01:46,440 --> 00:01:49,560
‫avec la demande suivante, nous ne serons pas en

42
00:01:49,560 --> 00:01:51,960
‫mesure d'identifier l'utilisateur comme étant connecté.

43
00:01:51,960 --> 00:01:55,430
‫Et donc cela déconnectera efficacement l'utilisateur.

44
00:01:55,430 --> 00:01:57,140
‫Et nous allions également donner

45
00:01:57,140 --> 00:01:59,580
‫à ce cookie un délai d'expiration très court.

46
00:01:59,580 --> 00:02:02,300
‫Et donc ce sera effectivement un peu

47
00:02:02,300 --> 00:02:03,500
‫comme supprimer le

48
00:02:03,500 --> 00:02:07,920
‫cookie, mais avec une solution de contournement très intelligente comme celle-ci, d'accord ?

49
00:02:07,920 --> 00:02:11,203
‫Faisons-le ici, juste après la connexion.

50
00:02:16,740 --> 00:02:20,480
‫Donc, encore une fois, lorsque nous procédons à une authentification basée sur des

51
00:02:20,480 --> 00:02:22,770
‫jetons, nous n'avons généralement jamais besoin d'un point

52
00:02:25,050 --> 00:02:30,020
‫de terminaison comme celui-ci, mais lorsque nous voulons envoyer un cookie super sécurisé comme nous le faisons bien,

53
00:02:30,020 --> 00:02:31,920
‫nous devons le faire comme ceci.

54
00:02:32,770 --> 00:02:36,900
‫Donc, encore une fois, sur la réponse, nous définissons le cookie, et le

55
00:02:36,900 --> 00:02:40,220
‫secret est de lui donner exactement le même nom.

56
00:02:40,220 --> 00:02:41,930
‫Donc, comme je

57
00:02:41,930 --> 00:02:44,450
‫l'ai mentionné précédemment, et c'est jwt.

58
00:02:44,450 --> 00:02:47,800
‫Alors comme ici, d'accord ?

59
00:02:47,800 --> 00:02:50,700
‫Mais ici, nous envoyons ensuite le

60
00:02:50,700 --> 00:02:54,460
‫jeton, mais maintenant nous enverrons simplement un texte factice.

61
00:02:54,460 --> 00:02:56,113
‫Alors disons déconnecté, puis les

62
00:02:58,130 --> 00:02:59,530
‫options de cookie.

63
00:03:02,320 --> 00:03:04,280
‫Donc une date d'expiration, comme dans 10

64
00:03:04,280 --> 00:03:05,893
‫secondes à partir de maintenant.

65
00:03:07,550 --> 00:03:09,970
‫Créons donc une nouvelle date

66
00:03:09,970 --> 00:03:10,900
‫basée

67
00:03:11,940 --> 00:03:14,210
‫sur la date. maintenant

68
00:03:15,610 --> 00:03:17,290
‫plus 10 secondes.

69
00:03:17,290 --> 00:03:20,173
‫C'est donc 10 fois 1000.

70
00:03:21,660 --> 00:03:26,060
‫Et aussi, je vais le définir, encore une fois, sur http uniquement.

71
00:03:26,060 --> 00:03:27,600
‫Définissez sur true, mais

72
00:03:27,600 --> 00:03:30,330
‫nous n'avons pas besoin de le définir comme sécurisé,

73
00:03:30,330 --> 00:03:32,900
‫car dans ce cas, il n'y a aucune

74
00:03:32,900 --> 00:03:34,833
‫donnée sensible que quiconque puisse obtenir.

75
00:03:36,560 --> 00:03:38,083
‫Ici, il nous manque la

76
00:03:39,560 --> 00:03:42,803
‫virgule et il ne nous reste plus qu'à renvoyer cette réponse.

77
00:03:43,660 --> 00:03:46,100
‫Donc, statut 200 et marquons-le simplement

78
00:03:50,730 --> 00:03:53,143
‫comme un succès ici.

79
00:03:57,000 --> 00:04:00,930
‫Ensuite, dans notre route, nous devons l'ajouter, bien sûr, aussi pour

80
00:04:00,930 --> 00:04:02,740
‫que ce soit sur la

81
00:04:04,470 --> 00:04:06,853
‫route de l'utilisateur, alors faisons-le ici après

82
00:04:07,900 --> 00:04:11,220
‫la connexion, mais celui-ci sera en fait une demande d'obtention

83
00:04:11,220 --> 00:04:13,130
‫car nous n'allons pas envoyer

84
00:04:13,130 --> 00:04:14,660
‫de données avec

85
00:04:14,660 --> 00:04:16,410
‫la demande que nous

86
00:04:16,410 --> 00:04:19,190
‫ne changeons rien, nous obtenons simplement un cookie.

87
00:04:19,190 --> 00:04:21,730
‫Et donc ce nom a vraiment du sens.

88
00:04:21,730 --> 00:04:23,853
‫Ou ce verbe a vraiment du sens.

89
00:04:24,860 --> 00:04:26,580
‫Alors déconnectez-vous, et

90
00:04:26,580 --> 00:04:31,580
‫maintenant nous sommes prêts à emprunter cette route comme nous l'avons

91
00:04:31,610 --> 00:04:34,463
‫fait ici avec notre bibliothèque Axios.

92
00:04:37,420 --> 00:04:39,110
‫Donc exportez, déconnectez-vous ou const

93
00:04:39,110 --> 00:04:40,590
‫en premier et comme

94
00:04:40,590 --> 00:04:41,950
‫avant, nous utilisons

95
00:04:47,320 --> 00:04:48,980
‫un bloc try catch

96
00:04:48,980 --> 00:04:50,790
‫qui dans ce cas n'est

97
00:04:53,260 --> 00:04:56,140
‫pas vraiment important car il ne peut pas

98
00:04:56,140 --> 00:04:59,270
‫vraiment y avoir d'erreur lors de la déconnexion, n'est-ce

99
00:04:59,270 --> 00:05:00,270
‫pas ?

100
00:05:00,270 --> 00:05:02,420
‫Mais de toute façon, juste au cas où, par

101
00:05:02,420 --> 00:05:04,140
‫exemple, nous n'avons pas de connexion Internet.

102
00:05:04,140 --> 00:05:07,800
‫Donc, dans ce cas, nous obtiendrons alors une belle erreur et

103
00:05:07,800 --> 00:05:09,910
‫commençons par le faire ici.

104
00:05:09,910 --> 00:05:11,060
‫Alors, affichez l'erreur

105
00:05:16,570 --> 00:05:17,570
‫de

106
00:05:20,010 --> 00:05:21,520
‫déconnexion, essayez à nouveau.

107
00:05:21,520 --> 00:05:23,730
‫D'accord, mais cela ici, comme je l'ai dit,

108
00:05:23,730 --> 00:05:25,393
‫ne devrait pas arriver si souvent.

109
00:05:26,330 --> 00:05:27,170
‫Faisons donc

110
00:05:28,370 --> 00:05:29,203
‫plutôt

111
00:05:30,060 --> 00:05:31,973
‫notre requête avec Axios.

112
00:05:33,810 --> 00:05:34,643
‫Très bien.

113
00:05:37,760 --> 00:05:39,610
‫Et donc la méthode cette fois est

114
00:05:41,980 --> 00:05:43,120
‫get et l'URL est

115
00:05:44,030 --> 00:05:45,523
‫similaire à ce que nous

116
00:05:46,950 --> 00:05:48,030
‫avons ici, mais c'est

117
00:05:49,480 --> 00:05:50,313
‫se déconnecter.

118
00:05:52,177 --> 00:05:56,140
‫Et puis, à l'étape suivante, rechargeons également la page.

119
00:05:56,140 --> 00:05:58,180
‫C'est donc toujours ce que nous faisons

120
00:05:58,180 --> 00:06:00,400
‫manuellement lorsque nous supprimons un cookie, n'est-ce pas ?

121
00:06:00,400 --> 00:06:03,500
‫Et donc ici, bien sûr, nous devons le faire par programme.

122
00:06:03,500 --> 00:06:04,333
‫À droite?

123
00:06:04,333 --> 00:06:05,550
‫Et nous devons le

124
00:06:05,550 --> 00:06:09,780
‫faire ici car, puisqu'il s'agit d'une requête Ajax, nous ne pouvons pas le

125
00:06:09,780 --> 00:06:10,990
‫faire en arrière-plan.

126
00:06:10,990 --> 00:06:13,100
‫Nous ne pouvons donc pas le faire avec express.

127
00:06:13,100 --> 00:06:16,420
‫Et donc nous devons, bien sûr, le faire manuellement ici.

128
00:06:16,420 --> 00:06:17,350
‫À droite?

129
00:06:17,350 --> 00:06:20,680
‫Sinon, nous serions techniquement déconnectés, mais notre menu

130
00:06:20,680 --> 00:06:23,320
‫utilisateur refléterait toujours, ce qui indiquerait

131
00:06:23,320 --> 00:06:25,950
‫toujours que nous sommes connectés.

132
00:06:25,950 --> 00:06:29,120
‫Et donc bien sûr, nous avons simplement besoin de recharger

133
00:06:29,120 --> 00:06:31,950
‫la page qui enverrait alors le cookie invalide

134
00:06:31,950 --> 00:06:33,150
‫essentiellement au

135
00:06:33,150 --> 00:06:36,140
‫serveur, de sorte que celui que nous venons de

136
00:06:36,140 --> 00:06:38,190
‫recevoir sans jeton et que nous

137
00:06:38,190 --> 00:06:42,303
‫ne soyons plus connectés, et donc notre menu utilisateur disparaître, d'accord ?

138
00:06:43,210 --> 00:06:46,150
‫Alors faisons-le s'il y a un succès.

139
00:06:46,150 --> 00:06:51,150
‫Alors comme avant, reposez-vous. Les données. statut.

140
00:06:52,720 --> 00:06:56,540
‫Et donc dans ce point final, nous renvoyons également le statut défini

141
00:06:57,430 --> 00:06:59,140
‫sur succès, et nous

142
00:06:59,140 --> 00:07:02,040
‫pouvons donc une fois de plus le tester ici.

143
00:07:02,040 --> 00:07:03,800
‫Et donc si c'est le

144
00:07:03,800 --> 00:07:06,290
‫cas, nous n'en avons même pas besoin, donc

145
00:07:06,290 --> 00:07:11,180
‫dans ce cas, l'emplacement de la veuve. recharger.

146
00:07:11,180 --> 00:07:13,520
‫Et puis quelque chose de vraiment important

147
00:07:13,520 --> 00:07:16,260
‫est que nous devons en fait le définir sur

148
00:07:16,260 --> 00:07:19,070
‫true ici, et cela forcera alors un rechargement à

149
00:07:19,070 --> 00:07:22,280
‫partir du serveur et non du cache du navigateur, d'accord ?

150
00:07:22,280 --> 00:07:24,830
‫Maintenant et bien sûr, nous devons le marquer

151
00:07:26,080 --> 00:07:27,710
‫ici comme asynchrone, et d'accord.

152
00:07:27,710 --> 00:07:30,350
‫Donc, cette partie ici est à nouveau vraiment importante

153
00:07:30,350 --> 00:07:32,930
‫car sinon elle pourrait simplement charger la même

154
00:07:32,930 --> 00:07:33,770
‫page à

155
00:07:33,770 --> 00:07:37,070
‫partir du cache qui aurait alors toujours notre menu utilisateur là-haut.

156
00:07:37,070 --> 00:07:38,970
‫Mais bien sûr, ce n'est pas

157
00:07:38,970 --> 00:07:42,243
‫ce que nous voulons, nous voulons vraiment une nouvelle page provenant du serveur.

158
00:07:43,540 --> 00:07:44,720
‫Très bien?

159
00:07:44,720 --> 00:07:47,020
‫Nous avons donc notre fonction de déconnexion

160
00:07:47,020 --> 00:07:51,560
‫et maintenant dans l'index, nous devons maintenant la déclencher une fois que nous

161
00:07:51,560 --> 00:07:53,700
‫avons appuyé sur ce bouton.

162
00:07:53,700 --> 00:07:56,463
‫Créons donc d'abord un élément ici.

163
00:07:59,470 --> 00:08:00,830
‫Donc, le document

164
00:08:02,080 --> 00:08:04,830
‫du bouton de déconnexion. querySelector et

165
00:08:10,786 --> 00:08:14,203
‫rappelez-vous comment nous avons créé cet élément.

166
00:08:15,660 --> 00:08:17,783
‫C'est donc ici.

167
00:08:19,350 --> 00:08:20,976
‫Alors celui-ci.

168
00:08:20,976 --> 00:08:23,110
‫Nous sélectionnons donc maintenant par cette classe.

169
00:08:23,110 --> 00:08:26,910
‫D'accord, et nous pourrions bien sûr aussi utiliser un identifiant ici,

170
00:08:26,910 --> 00:08:30,240
‫mais ce n'est pas vraiment important, d'accord ?

171
00:08:30,240 --> 00:08:33,760
‫Ce qui compte ici, c'est de dire maintenant

172
00:08:33,760 --> 00:08:35,713
‫s'il y a

173
00:08:39,980 --> 00:08:44,980
‫un bouton de déconnexion, puis logOutButton. addEventListener.

174
00:08:45,720 --> 00:08:48,650
‫Nous voulons donc qu'il écoute tous les événements qui

175
00:08:48,650 --> 00:08:52,330
‫se produisent sur ce bouton chaque fois qu'il y a un clic.

176
00:08:52,330 --> 00:08:54,370
‫Nous attendons donc l'événement click et

177
00:08:54,370 --> 00:08:57,460
‫lorsque cela se produit, nous appelons la fonction de

178
00:08:58,740 --> 00:09:00,800
‫déconnexion que nous n'avons pas encore

179
00:09:00,800 --> 00:09:02,650
‫importée, ajoutons donc cela ici.

180
00:09:02,650 --> 00:09:06,023
‫Alors connectez-vous et déconnectez-vous.

181
00:09:07,680 --> 00:09:10,223
‫Très bien, et ça devrait être ça.

182
00:09:11,290 --> 00:09:14,570
‫Alors, testons-le maintenant.

183
00:09:14,570 --> 00:09:17,240
‫Rechargez-le juste pour être sûr, et

184
00:09:17,240 --> 00:09:18,740
‫maintenant Oh, nous

185
00:09:18,740 --> 00:09:20,870
‫obtenons une erreur de déconnexion.

186
00:09:20,870 --> 00:09:22,253
‫Essayez à nouveau, pourquoi est-ce.

187
00:09:26,650 --> 00:09:30,710
‫Eh bien, essayons de mieux voir l'erreur.

188
00:09:30,710 --> 00:09:33,130
‫Mais ce qui est important, c'est qu'en fait tout

189
00:09:33,130 --> 00:09:34,283
‫cela fonctionne déjà.

190
00:09:35,480 --> 00:09:36,970
‫Donc, cet écouteur d'événement ici

191
00:09:39,207 --> 00:09:42,407
‫et cette fonction de déconnexion font en quelque sorte son travail.

192
00:09:44,360 --> 00:09:45,500
‫Alors

193
00:09:46,880 --> 00:09:51,383
‫faisons juste console. erreur de journal. réponse.

194
00:09:55,370 --> 00:09:58,310
‫Rechargeons donc ceci ici.

195
00:09:58,310 --> 00:10:00,223
‫Cela devrait en quelque sorte se produire automatiquement.

196
00:10:01,330 --> 00:10:02,343
‫Très bien.

197
00:10:03,350 --> 00:10:04,703
‫Alors réessayez.

198
00:10:06,820 --> 00:10:08,480
‫Alors, que se passe-t-il ici,

199
00:10:12,500 --> 00:10:16,493
‫donc la conversion vers l'ID d'objet a échoué pour la déconnexion de la valeur.

200
00:10:17,880 --> 00:10:20,180
‫Donc c'est très bizarre.

201
00:10:20,180 --> 00:10:21,523
‫Jetez un œil à cet itinéraire.

202
00:10:23,360 --> 00:10:24,523
‫Oh, bien

203
00:10:25,910 --> 00:10:27,750
‫sûr, c'est une grave erreur.

204
00:10:27,750 --> 00:10:29,223
‫Devrait être connecté bien sûr.

205
00:10:31,110 --> 00:10:34,933
‫D'accord, mais ce genre de cours, encore une fois, arrive tout le temps.

206
00:10:36,490 --> 00:10:38,423
‫Rechargeons donc ceci ici.

207
00:10:42,240 --> 00:10:43,733
‫Et réessayez.

208
00:10:44,680 --> 00:10:46,700
‫Et maintenant, nous obtenons quelque chose ici.

209
00:10:46,700 --> 00:10:48,200
‫Maintenant, c'est toujours une erreur,

210
00:10:48,200 --> 00:10:50,160
‫mais ce n'est pas du tout un problème.

211
00:10:50,160 --> 00:10:52,750
‫Nous avons donc une erreur de jeton

212
00:10:52,750 --> 00:10:55,810
‫Web JSON car notre jeton Web JSON est mal formé.

213
00:10:55,810 --> 00:10:57,890
‫Et donc cela vient, comme

214
00:10:57,890 --> 00:11:00,610
‫vous pouvez le voir, du middleware connecté.

215
00:11:00,610 --> 00:11:04,323
‫Et donc nous pouvons en quelque sorte deviner pourquoi, n'est-ce pas ?

216
00:11:05,530 --> 00:11:09,290
‫Revenons donc en arrière pour ajouter notre contrôleur d'authentification.

217
00:11:09,290 --> 00:11:11,410
‫Et donc le jeton Web JSON

218
00:11:11,410 --> 00:11:14,430
‫que nous envoyons essentiellement maintenant est-il ici, n'est-ce pas ?

219
00:11:14,430 --> 00:11:15,960
‫Donc, cela s'est déconnecté.

220
00:11:15,960 --> 00:11:17,520
‫Et donc

221
00:11:18,370 --> 00:11:23,040
‫ici, dans isLoggedIn, cela déclenchera alors essentiellement une erreur.

222
00:11:23,040 --> 00:11:27,170
‫Donc, ici, dans le jeton Web JSON, vérifiez, n'est-ce pas ?

223
00:11:27,170 --> 00:11:29,420
‫Et puisque toute cette fonction ici est

224
00:11:29,420 --> 00:11:33,070
‫encapsulée dans ce catchASync, elle enverra cette erreur à tous les middleware

225
00:11:33,070 --> 00:11:35,100
‫de gestion des erreurs globales.

226
00:11:35,100 --> 00:11:38,290
‫Et cela va alors créer cette erreur dont dans ce cas on

227
00:11:38,290 --> 00:11:40,240
‫ne veut pas, tu te souviens ?

228
00:11:40,240 --> 00:11:41,368
‫Donc, dans

229
00:11:41,368 --> 00:11:45,220
‫ce middleware isLoggedIn, nous ne voulons pas provoquer d'erreurs.

230
00:11:45,220 --> 00:11:47,480
‫Et donc, résolvons cela en

231
00:11:47,480 --> 00:11:50,520
‫fait et nous allons donc supprimer ce catchASync

232
00:11:51,490 --> 00:11:55,090
‫d'ici parce que nous ne voulons pas attraper d'erreurs Async.

233
00:11:55,090 --> 00:11:57,640
‫Au lieu de cela, ce que nous voulons faire,

234
00:11:57,640 --> 00:11:59,200
‫c'est essentiellement les capturer

235
00:11:59,200 --> 00:12:02,083
‫localement, puis s'il y a une erreur, dites simplement suivant.

236
00:12:03,300 --> 00:12:05,240
‫Comme ça, d'accord ?

237
00:12:05,240 --> 00:12:06,363
‫Alors faisons-le.

238
00:12:08,350 --> 00:12:10,813
‫Alors enveloppez tout cela dans un essai.

239
00:12:14,170 --> 00:12:15,133
‫Fermez-le ici.

240
00:12:18,750 --> 00:12:19,890
‫Eh bien, autre chose ne va pas.

241
00:12:19,890 --> 00:12:23,303
‫Ah ! Il nous manque probablement le bloc catch.

242
00:12:27,520 --> 00:12:32,010
‫Et donc dans ce cas, nous voulons passer au middleware suivant.

243
00:12:32,010 --> 00:12:35,463
‫Donc, en gros, dire qu'il n'y a pas d'utilisateur connecté.

244
00:12:36,910 --> 00:12:37,743
‫À droite?

245
00:12:38,970 --> 00:12:41,543
‫Alors, testons-le à nouveau.

246
00:12:42,510 --> 00:12:45,283
‫Revenez en arrière, oh , et maintenant nous ne sommes plus connectés.

247
00:12:47,900 --> 00:12:49,590
‫Alors connectez-vous.

248
00:12:49,590 --> 00:12:51,103
‫C'était réussi.

249
00:12:52,160 --> 00:12:54,093
‫Et maintenant, déconnectons-nous tout de suite.

250
00:12:55,210 --> 00:12:59,110
‫Ah ! Beau! Maintenant, cela fonctionne correctement.

251
00:12:59,110 --> 00:13:02,160
‫Et donc cette fois, ce qui s'est passé ici,

252
00:13:02,160 --> 00:13:04,160
‫c'est bien sûr que cette vérification

253
00:13:04,160 --> 00:13:07,730
‫a échoué car ce jeton Web JSON n'était pas dans un

254
00:13:07,730 --> 00:13:09,560
‫format que cet algorithme attendait.

255
00:13:09,560 --> 00:13:12,380
‫Mais ce qui s'est passé dans ce cas, c'est

256
00:13:12,380 --> 00:13:15,020
‫que l'erreur n'a pas été détectée à l'aide

257
00:13:15,020 --> 00:13:18,470
‫de notre fonction catchASync, mais à la place, elle est allée directement

258
00:13:18,470 --> 00:13:21,480
‫à err, qui est ensuite allée directement au middleware suivant.

259
00:13:21,480 --> 00:13:23,790
‫D'accord, super !

260
00:13:23,790 --> 00:13:26,800
‫Donc, si nous examinons maintenant nos cookies, nous

261
00:13:26,800 --> 00:13:30,743
‫en avons un en cours d'utilisation qui a probablement déjà expiré.

262
00:13:31,840 --> 00:13:35,810
‫Donc, vous voyez qu'il n'a que cette durée de vie de 10 secondes et

263
00:13:35,810 --> 00:13:38,050
‫donc si je recharge cette page maintenant, elle

264
00:13:40,130 --> 00:13:41,680
‫devrait déjà avoir disparu.

265
00:13:43,700 --> 00:13:46,350
‫Vous ne voyez donc aucun cookie en cours d'utilisation.

266
00:13:46,350 --> 00:13:48,800
‫D'accord, et c'est en fait tout ce que

267
00:13:48,800 --> 00:13:51,583
‫nous avons à faire pour déconnecter l'utilisateur de notre site Web.

