1
00:00:00,000 --> 00:00:04,514
[MUSIQUE]

2
00:00:04,514 --> 00:00:09,803
Dans cet exercice, nous examinerons l'utilisation des sessions Express.

3
00:00:09,803 --> 00:00:13,115
Nous allons configurer le middleware express-sessions,

4
00:00:13,115 --> 00:00:16,356
puis le middleware de stockage de fichiers express-sessions.

5
00:00:16,356 --> 00:00:21,315
Ensuite, configurez notre application pour utiliser des sessions express plutôt que d'

6
00:00:21,315 --> 00:00:25,885
utiliser leurs cookies assignés comme nous l'avons fait dans l'exercice précédent.

7
00:00:25,885 --> 00:00:30,870
Nous verrons également comment les informations de session elle-même suivaient sous le

8
00:00:30,870 --> 00:00:32,145
côté serveur.

9
00:00:33,750 --> 00:00:36,556
Pour commencer cet exercice,

10
00:00:36,556 --> 00:00:40,672
accédez au dossier ConfusionServer de votre terminal ou de

11
00:00:40,672 --> 00:00:45,643
la fenêtre de commande, puis installons express-session.

12
00:00:45,643 --> 00:00:52,672
Donc, pour ce faire, tapez npm install express session,

13
00:00:52,672 --> 00:00:56,678
puis magasin de fichiers de session.

14
00:00:58,792 --> 00:01:03,320
Parce que nous allons utiliser le magasin de fichiers pour conserver les informations de session.

15
00:01:03,320 --> 00:01:08,623
Donc va installer le magasin de session dans le module ici pour le but.

16
00:01:08,623 --> 00:01:13,399
Une fois que les deux sont installés, et comme vous pouvez le voir en ce moment,

17
00:01:13,399 --> 00:01:17,008
j'utilise express-session 1.15.6 et

18
00:01:17,008 --> 00:01:21,430
session-file-storage 1.2.0 dans ce cours.

19
00:01:21,430 --> 00:01:26,397
Une fois les deux installés, passons à notre application ConfusionServer.

20
00:01:27,510 --> 00:01:31,868
Aller à l'application ConfusionServer,

21
00:01:31,868 --> 00:01:36,921
ici, nous allons maintenant importer la session express-.

22
00:01:36,921 --> 00:01:44,414
Donc, nous allons dire, session var nécessite, session express.

23
00:01:46,639 --> 00:01:53,560
Et var FileStore = requièrent

24
00:01:53,560 --> 00:01:59,908
la session -file-store.

25
00:02:02,812 --> 00:02:07,064
Et cela prend la session comme paramètres,

26
00:02:07,064 --> 00:02:13,830
cette session se référant à ceci que nous venons d'importer ici.

27
00:02:13,830 --> 00:02:18,970
Maintenant, une fois que nous faisons cela, puis nous descendons dans notre code ici,

28
00:02:18,970 --> 00:02:22,490
et puis nous verrons à la place du CookieParser.

29
00:02:22,490 --> 00:02:26,598
Donc, je vais commenter le CookieParser à partir de là, et

30
00:02:26,598 --> 00:02:33,401
puis je vais maintenant utiliser, Session ici.

31
00:02:36,481 --> 00:02:41,823
Et puis, nous allons configurer la session avec

32
00:02:41,823 --> 00:02:47,175
les différentes options, nous allons dire nom,

33
00:02:50,402 --> 00:02:56,909
j'utilise juste un identifiant de session aléatoire ici, puis, Secret.

34
00:02:58,871 --> 00:03:02,880
J' utiliserai le secret que j'ai utilisé plus tôt.

35
00:03:02,880 --> 00:03:06,493
Laisse-moi juste copier cette chaîne là.

36
00:03:06,493 --> 00:03:11,981
Puis, Enregistrer,

37
00:03:13,422 --> 00:03:21,119
Sur, Non initialisé enregistrer false.

38
00:03:27,180 --> 00:03:28,390
Resave, faux.

39
00:03:28,390 --> 00:03:32,198
Les thèses ne seront pas très différentes de l'application simple que nous écrivons en

40
00:03:32,198 --> 00:03:33,330
ce moment.

41
00:03:33,330 --> 00:03:37,604
Et puis nous dirons que le magasin est nouveau,

42
00:03:39,643 --> 00:03:42,497
FileStore que nous avons déclaré plus tôt.

43
00:03:45,441 --> 00:03:46,330
C' est ça.

44
00:03:46,330 --> 00:03:53,330
Maintenant, mon middleware de session est tout configuré pour utiliser notre application.

45
00:03:53,330 --> 00:03:58,295
Maintenant, comme je l'ai mentionné, ce middleware de session ajoutera ce

46
00:03:58,295 --> 00:04:03,560
req.session au message de demande,

47
00:04:03,560 --> 00:04:08,630
donc je vais faire un journal de la console de req.session juste pour voir ce qu'il contient.

48
00:04:08,630 --> 00:04:13,910
Et puis, en bas ici, au lieu de vérifier l'utilisateur req assigner des cookies,

49
00:04:13,910 --> 00:04:18,370
je vais vérifier req.session.user ici.

50
00:04:19,390 --> 00:04:23,620
Et puis, nous allons regarder l'en-tête d'autorisation, et ainsi de suite.

51
00:04:23,620 --> 00:04:27,460
Toute cette partie restera exactement la même qu'avant.

52
00:04:27,460 --> 00:04:32,760
Mais ici, au lieu de configurer le cookie, ce que je vais configurer ici est,

53
00:04:32,760 --> 00:04:38,052
au lieu de configurer le cookie, donc au lieu d'utiliser res.cookie ici,

54
00:04:38,052 --> 00:04:45,470
nous allons dire, req.session.user = à 'admin'.

55
00:04:45,470 --> 00:04:50,030
Nous allons donc configurer la propriété utilisateur sur

56
00:04:50,030 --> 00:04:55,510
la req-session à admin ici, puis procéder à partir de ce point.

57
00:04:55,510 --> 00:04:59,090
Donc, le reste du code ici restera exactement le même qu'avant,

58
00:04:59,090 --> 00:05:01,030
il n'y aura aucun changement ici.

59
00:05:01,030 --> 00:05:06,240
Et accepter juste là, nous allons vérifier req.session,

60
00:05:09,462 --> 00:05:11,770
utilisateur, est admin ou non ?

61
00:05:11,770 --> 00:05:14,340
Donc c'est le chèque que nous allons faire ici.

62
00:05:14,340 --> 00:05:15,360
C' est ça.

63
00:05:15,360 --> 00:05:18,820
Ce sont les changements que nous devons faire à notre

64
00:05:18,820 --> 00:05:23,850
application afin d'utiliser des sessions à la place des cookies signés.

65
00:05:23,850 --> 00:05:30,040
Sauvegardons les modifications, puis regardons cette version de notre serveur express.

66
00:05:30,040 --> 00:05:34,480
Pour revenir à notre terminal ou à la fenêtre de commande, redémarrez notre

67
00:05:35,600 --> 00:05:39,860
serveur, si vous êtes serveur a été en cours d'exécution, arrêtez-le et redémarrez le serveur.

68
00:05:40,870 --> 00:05:42,730
Et puis une fois que le serveur est opérationnel,

69
00:05:42,730 --> 00:05:48,600
nous irons voir le facteur et le faire si vous le demandez.

70
00:05:48,600 --> 00:05:56,350
Va voir le facteur, laisse-moi éclaircir toutes ces choses,

71
00:05:56,350 --> 00:06:01,970
on effacera les en-têtes, on effacera l'autorisation.

72
00:06:01,970 --> 00:06:03,630
Et puis j'irai aux cookies, et

73
00:06:03,630 --> 00:06:08,540
je vais supprimer ce cookie d'utilisateur, parce que ce cookie n'est plus valide.

74
00:06:08,540 --> 00:06:16,030
Et puis, nous allons envoyer une demande get à, Les plats locaux d'accueil.

75
00:06:16,030 --> 00:06:21,160
Et puis comme nous nous y attendons, il revient en disant : Vous n'êtes pas authentifié.

76
00:06:21,160 --> 00:06:24,520
Maintenant, alors nous allons nous authentifier en utilisant l'authentification de base.

77
00:06:24,520 --> 00:06:29,483
Donc nous allons dire, administrateur, mot de passe.

78
00:06:29,483 --> 00:06:32,223
Et puis nous allons mettre à jour la demande et

79
00:06:32,223 --> 00:06:35,740
ensuite nous enverrons une requête GET au même point.

80
00:06:35,740 --> 00:06:39,400
Et puis, nous recevons la réponse de notre côté serveur.

81
00:06:39,400 --> 00:06:46,000
Maintenant, notez que dans les en-têtes, maintenant vous verrez à nouveau il dit cookie ici.

82
00:06:46,000 --> 00:06:52,500
Maintenant, cela a été causé par le magasin de session ici.

83
00:06:52,500 --> 00:06:57,492
Et, lorsque vous regardez les cookies, vous voyez qu'il y a eu un autre cookie qui

84
00:06:57,492 --> 00:07:02,570
est configuré ici et que le nom est session-id.

85
00:07:02,570 --> 00:07:06,398
Donc c'est le nom que nous donnons pour notre session là-bas, donc

86
00:07:06,398 --> 00:07:09,744
c'est le session-id que nous utilisons ici.

87
00:07:11,172 --> 00:07:16,880
Et si vous cliquez sur les cookies, vous remarquerez que session-id est juste là.

88
00:07:16,880 --> 00:07:22,102
Et puis, voici les détails de ce qu'il y a à l'intérieur de ce cookie.

89
00:07:22,102 --> 00:07:26,816
Ainsi, vous pouvez remarquer tout un tas d'informations et la date d'expiration

90
00:07:26,816 --> 00:07:28,940
du cookie, et ainsi de suite.

91
00:07:28,940 --> 00:07:33,703
Cela n'a peut-être pas beaucoup de sens pour vous en ce moment, mais il existe là.

92
00:07:33,703 --> 00:07:38,110
Maintenant, laissez-moi éclaircir l'autorisation.

93
00:07:38,110 --> 00:07:42,140
Et aussi à partir de l'en-tête, permettez-moi de supprimer cet en-tête d'autorisation.

94
00:07:42,140 --> 00:07:45,312
Et puis je vais renvoyer la demande, et

95
00:07:45,312 --> 00:07:51,094
vous remarquerez que cette demande sera correctement traitée même maintenant. En

96
00:07:51,094 --> 00:07:54,061
raison du fait que ce cookie existe,

97
00:07:54,061 --> 00:07:58,250
et ce cookie sera inclus dans la demande sortante.

98
00:07:58,250 --> 00:08:01,400
Et le côté serveur mappera ceci à la session appropriée.

99
00:08:02,922 --> 00:08:07,375
Ainsi, le serveur se rend compte qu'il s'agit d'un utilisateur autorisé et

100
00:08:07,375 --> 00:08:10,042
renvoie la réponse.

101
00:08:10,042 --> 00:08:17,004
Maintenant, allez à notre console de serveur dans le terminal ou la fenêtre de commande,

102
00:08:17,004 --> 00:08:23,080
vous remarquez que le, Informations étant imprimées sur le côté serveur.

103
00:08:23,080 --> 00:08:27,460
Alors voyez, vous vous souvenez que j'ai enregistré la req.session ici.

104
00:08:27,460 --> 00:08:30,780
C' est donc là que le req.session contient initialement.

105
00:08:30,780 --> 00:08:36,940
Et puis il est dit, GET plats pour un non valide.

106
00:08:36,940 --> 00:08:43,620
À ce stade, vous y envoyez l'en-tête d'autorisation approprié.

107
00:08:43,620 --> 00:08:48,365
Et donc votre demande de succès correctement.

108
00:08:48,365 --> 00:08:53,080
Mais la note, ce qui est mis dans la session dans la prochaine demande.

109
00:08:53,080 --> 00:08:58,080
Rappelons que j'ai supprimé l'en-tête des autorisations, puis envoyer la demande.

110
00:08:58,080 --> 00:09:00,960
Mais notez ce que contient la rec.session ici.

111
00:09:00,960 --> 00:09:03,088
En particulier, notez que,

112
00:09:03,088 --> 00:09:08,129
il contient maintenant ce champ utilisateur avec l'administrateur en place là.

113
00:09:09,280 --> 00:09:15,120
C' est donc ce que le serveur reçoit de notre côté client dans le cookie.

114
00:09:15,120 --> 00:09:18,690
Et le cookie lui-même contient toutes ces informations ici.

115
00:09:18,690 --> 00:09:22,987
Ainsi, le serveur reconnaît qu'il s'agit d'un utilisateur valide,

116
00:09:22,987 --> 00:09:27,249
puis renvoie les résultats de ce côté serveur.

117
00:09:27,249 --> 00:09:28,337
Aller au facteur,

118
00:09:28,337 --> 00:09:32,220
regardons à nouveau les détails de ce qui est à l'intérieur du cookie.

119
00:09:32,220 --> 00:09:34,137
Donc, lorsque vous ouvrez le cookie ici,

120
00:09:34,137 --> 00:09:39,103
vous voyez à nouveau tous les détails de l'information à l'intérieur du cookie ici.

121
00:09:39,103 --> 00:09:43,026
Si vous regardez votre éditeur, vous voyez maintenant que dans votre éditeur,

122
00:09:43,026 --> 00:09:48,140
il y a un nouveau dossier ici appelé sessions qui a été créé ici.

123
00:09:48,140 --> 00:09:52,320
Maintenant, c'est parce que nous utilisions le magasin de fichiers pour

124
00:09:52,320 --> 00:09:54,130
garder une trace de toutes nos sessions.

125
00:09:54,130 --> 00:09:58,180
Maintenant, c'est l'une des raisons pour lesquelles j'utilise le magasin de fichiers afin que je puisse vous montrer ce qui

126
00:09:58,180 --> 00:10:03,320
est stocké dans un fichier de session sur mon serveur.

127
00:10:03,320 --> 00:10:08,430
Donc, si vous ouvrez ce fichier ici avec le nom long là,

128
00:10:08,430 --> 00:10:13,890
vous verrez à l'intérieur, les informations de session étant stockées ici.

129
00:10:13,890 --> 00:10:19,460
Donc, si vous parcourez ces informations de session, notez en particulier,

130
00:10:19,460 --> 00:10:22,880
ce champ initial qui est dans le côté serveur.

131
00:10:22,880 --> 00:10:27,930
C' est donc là que votre serveur suit toutes ces informations sur le côté serveur.

132
00:10:27,930 --> 00:10:32,650
Maintenant, ce cookie lui-même est reconnu par le serveur,

133
00:10:32,650 --> 00:10:36,630
puisque le client inclut ce cookie dans la requête entrante.

134
00:10:36,630 --> 00:10:41,330
Maintenant, il est capable d'aller dans le magasin de sessions, puis récupérer les informations,

135
00:10:41,330 --> 00:10:44,870
puis charger cela sur le req.sessions.

136
00:10:44,870 --> 00:10:49,800
Et par conséquent, le req.session contient cette information particulière

137
00:10:49,800 --> 00:10:54,810
que mon serveur utilise pour vérifier que

138
00:10:54,810 --> 00:10:57,710
mon client est un client autorisé.

139
00:10:57,710 --> 00:11:00,010
C' est tout au sujet des sessions.

140
00:11:00,010 --> 00:11:03,230
Avec cela, nous terminons cet exercice.

141
00:11:03,230 --> 00:11:04,100
Dans cet exercice,

142
00:11:04,100 --> 00:11:08,630
nous avons vu comment nous pouvons configurer notre application express pour utiliser des sessions.

143
00:11:08,630 --> 00:11:13,751
Et nous avons également vu comment nous utilisons le magasin de fichiers pour suivre nos sessions.

144
00:11:13,751 --> 00:11:18,360
C' est un bon moment pour vous de faire un commentaire GET avec

145
00:11:18,360 --> 00:11:22,291
le message express sessions première partie.

146
00:11:22,291 --> 00:11:25,521
[ MUSIQUE]