1
00:00:00,000 --> 00:00:05,021
[MUSIC]

2
00:00:05,021 --> 00:00:09,395
Maintenant que nous avons compris la nécessité d'une authentification de base dans notre

3
00:00:09,395 --> 00:00:14,383
application Express, passons à l'exercice où nous allons ajouter l'

4
00:00:14,383 --> 00:00:19,372
authentification de base au serveur Confusion que nous avons développé jusqu'à présent,

5
00:00:19,372 --> 00:00:21,311
le serveur API REST Express. En cours de

6
00:00:22,470 --> 00:00:24,050
route, nous

7
00:00:24,050 --> 00:00:29,170
apprendrons comment nous pouvons utiliser l'authentification de base au sein de notre serveur.

8
00:00:29,170 --> 00:00:34,811
Et puis dans les exercices suivants, nous allons approfondir cette idée

9
00:00:34,811 --> 00:00:41,107
pour ajouter un service d'authentification à part entière pour notre serveur d'API REST Express.

10
00:00:42,965 --> 00:00:46,576
Dans cet exercice, nous irons au serveur Confusion,

11
00:00:46,576 --> 00:00:49,290
sur lequel nous avons travaillé jusqu'à présent.

12
00:00:49,290 --> 00:00:54,333
Donc, vous devez avoir terminé la mise en œuvre de la deuxième affectation

13
00:00:54,333 --> 00:00:59,553
maintenant, où vous auriez développé les promotions et le modèle des leaders.

14
00:00:59,553 --> 00:01:04,289
Et également mis à jour les routes pour le routeur leader et

15
00:01:04,289 --> 00:01:09,470
le routeur promo dans votre application serveur Confusion.

16
00:01:09,470 --> 00:01:12,960
Donc, dans ce code, passons à app.js,

17
00:01:12,960 --> 00:01:17,392
puis ajoutons dans l'authentification de base dans app.js.

18
00:01:17,392 --> 00:01:22,290
Donc, dans app.js comme nous l'avons compris sur

19
00:01:22,290 --> 00:01:26,970
la façon dont le milieu fonctionne dans l'application Express.

20
00:01:26,970 --> 00:01:31,010
Donc, nous commençons ici dans le app.js

21
00:01:31,010 --> 00:01:36,640
en important tous les différents modules de noeud ici.

22
00:01:36,640 --> 00:01:42,650
Et puis après cela, nous commençons ici en disant d'abord app.use logger dev.

23
00:01:42,650 --> 00:01:46,410
Donc, tous ces éléments vont être appliqués à notre demande.

24
00:01:46,410 --> 00:01:51,978
Et puis, cet appel ici app.use (express.static)

25
00:01:51,978 --> 00:01:58,128
est ce qui nous permet de servir des données statiques à partir du dossier public.

26
00:01:58,128 --> 00:02:03,068
Maintenant, ils veulent faire l'authentification juste avant de

27
00:02:03,068 --> 00:02:08,870
permettre au client d'être en mesure de récupérer des données de notre serveur.

28
00:02:08,870 --> 00:02:14,570
Donc, juste là, nous allons entrer et ajouter un badge d'authentification.

29
00:02:14,570 --> 00:02:18,090
Donc, vous remarquez que tout ce qui vient après cela,

30
00:02:18,090 --> 00:02:22,970
tout le middleware qui est monté et vient après ce point particulier.

31
00:02:22,970 --> 00:02:27,070
Nous devrons passer par la phase d'autorisation avant

32
00:02:27,070 --> 00:02:29,550
que ce middleware puisse y accéder.

33
00:02:29,550 --> 00:02:34,709
Donc, juste là, je vais ajouter dans app.use,

34
00:02:34,709 --> 00:02:41,600
puis ajouter une fonction appelée auth, que je vais implémenter en ce moment.

35
00:02:41,600 --> 00:02:46,180
Donc, en faisant cela, ce que nous spécifions est la valeur par défaut,

36
00:02:46,180 --> 00:02:50,200
le client peut accéder à n'importe lequel de ceux-ci,

37
00:02:50,200 --> 00:02:56,070
soit à leurs ressources statiques dans le dossier public, soit à l'une des ressources

38
00:02:56,070 --> 00:03:00,140
, plats, promotions, ou leaders, ou même aux utilisateurs comme nous le verrons plus tard.

39
00:03:02,150 --> 00:03:05,700
Le client doit d'abord être autorisé.

40
00:03:05,700 --> 00:03:08,220
Donc, juste là, nous allons ajouter l'authentification.

41
00:03:08,220 --> 00:03:15,960
Alors laissez-moi ajouter la fonction ici appelée auth juste là.

42
00:03:15,960 --> 00:03:19,849
Et puis l'utiliser immédiatement dans notre

43
00:03:19,849 --> 00:03:23,147
application Express comme middleware là-bas.

44
00:03:23,147 --> 00:03:27,826
Donc, cette fonction, auth prendra trois paramètres,

45
00:03:27,826 --> 00:03:33,914
l'objet requête, l'objet ressource, et l'objet suivant, oui.

46
00:03:37,015 --> 00:03:41,830
Donc, au sein de cette fonction, laissez-moi d'abord,

47
00:03:41,830 --> 00:03:48,605
juste pour savoir ce qui est contenu dans l'en-tête de la requête.

48
00:03:50,265 --> 00:03:56,175
Laissez-moi simplement enregistrer les en-têtes de requête juste là pour vous démontrer,

49
00:03:56,175 --> 00:03:59,970
car une fois que vous ajoutez l'en-tête d'autorisation,

50
00:03:59,970 --> 00:04:03,390
alors nous voulons être en mesure de le voir juste là.

51
00:04:03,390 --> 00:04:07,390
Donc, nous allons d'abord faire un journal de console,

52
00:04:07,390 --> 00:04:10,142
juste pour voir ce qui arrive du côté client.

53
00:04:10,142 --> 00:04:14,379
Ensuite, laissez-moi obtenir leur

54
00:04:14,379 --> 00:04:20,401
en-tête d'autorisation en disant

55
00:04:20,401 --> 00:04:26,900
req.headers .authorization.

56
00:04:26,900 --> 00:04:31,120
C' est donc là que nous obtiendrons l'en-tête d'autorisation qui est ajouté

57
00:04:31,120 --> 00:04:33,320
par notre côté client.

58
00:04:33,320 --> 00:04:37,830
Si ce n'est pas là, évidemment, nous devons agir en conséquence.

59
00:04:37,830 --> 00:04:44,493
Donc, si, The AuthHeader est null,

60
00:04:44,493 --> 00:04:48,992
ce qui signifie qu'il n'y a pas d'en-tête d'authentification dans notre

61
00:04:48,992 --> 00:04:53,653
demande entrante alors évidemment, notre client n'a pas inclus le nom d'utilisateur et le mot de

62
00:04:53,653 --> 00:04:56,650
passe dans l'en-tête d'authentification.

63
00:04:56,650 --> 00:05:01,230
Nous devons donc défier notre client de fournir cette information.

64
00:05:01,230 --> 00:05:06,338
Donc, si l'en-tête d'autorisation est nul, alors nous verrons,

65
00:05:06,338 --> 00:05:12,130
var err nouvelle erreur,

66
00:05:12,130 --> 00:05:19,140
donc nous ne permettrons pas à notre demande de client d'aller plus loin au-delà de ce point.

67
00:05:19,140 --> 00:05:23,803
Donc, nous allons dire, vous n'êtes pas authentifié,

68
00:05:23,803 --> 00:05:28,222
et ensuite nous allons défier le client là-bas.

69
00:05:28,222 --> 00:05:33,196
Donc, nous allons dire Res.setHeader, donc

70
00:05:33,196 --> 00:05:38,684
nous allons définir l'en-tête dans

71
00:05:38,684 --> 00:05:46,061
le message de réponse disant WWW-Authenticate,

72
00:05:46,061 --> 00:05:50,520
et à partir de la conférence plus tôt,

73
00:05:50,520 --> 00:05:55,493
vous verrez pourquoi nous mettons cela

74
00:05:55,493 --> 00:06:00,120
dans l'en-tête de réponse.

75
00:06:00,120 --> 00:06:04,480
Et puis nous dirons le statut d'erreur .401.

76
00:06:04,480 --> 00:06:07,710
401 est un accès non autorisé.

77
00:06:07,710 --> 00:06:12,740
Et puis nous allons simplement générer notre appel suivant avec l'en-tête.

78
00:06:12,740 --> 00:06:17,960
Donc, cela signifie qu'il va sauter tout cela et aller au gestionnaire d'erreurs,

79
00:06:17,960 --> 00:06:20,710
où le gestionnaire d'erreurs va construire le message de réponse et

80
00:06:20,710 --> 00:06:25,880
renvoyer à mon client là-bas.

81
00:06:25,880 --> 00:06:31,290
Donc, si le client n'a pas inclus l'en-tête d'authentification ou

82
00:06:31,290 --> 00:06:34,690
l'en-tête d'autorisation, alors je vais défier le client de

83
00:06:34,690 --> 00:06:38,980
lui demander de me fournir l'en-tête d'autorisation là-bas.

84
00:06:38,980 --> 00:06:45,570
Donc, si ce n'est pas le cas, alors je sais que l'en-tête d'autorisation existe.

85
00:06:45,570 --> 00:06:51,553
Donc, au-delà de ce point, nous allons dire var auth,

86
00:06:51,553 --> 00:06:55,760
et je vais extraire l'en-tête d'autorisation.

87
00:06:57,460 --> 00:07:02,880
Et puis puisque l'AuthHeader est une chaîne,

88
00:07:02,880 --> 00:07:07,650
je vais diviser cette valeur et

89
00:07:07,650 --> 00:07:12,690
cet en-tête d'autorisation, je vais diviser la valeur.

90
00:07:12,690 --> 00:07:17,350
Ainsi, comme vous pouvez le voir, le tampon vous permet de diviser la valeur et

91
00:07:17,350 --> 00:07:23,805
ensuite nous donnons également l'encodage du tampon qui est l'encodage Base64 ici.

92
00:07:23,805 --> 00:07:28,790
Donc, nous allons convertir cela en un tampon en divisant cela en deux parties, en

93
00:07:30,250 --> 00:07:32,390
utilisant l'espace comme partie de séparation.

94
00:07:32,390 --> 00:07:37,614
Donc, quand vous avez regardé l'en-tête d'autorisation, vous avez vu pourquoi l'espace

95
00:07:37,614 --> 00:07:42,656
sépare la valeur disant basic, puis il vous donne le reste de

96
00:07:42,656 --> 00:07:48,172
la chaîne codée Base64 qui contient le nom d'utilisateur et le mot de passe.

97
00:07:48,172 --> 00:07:53,510
Et à partir de cela, nous voulons extraire le nom d'utilisateur et le mot de passe.

98
00:07:53,510 --> 00:07:59,970
Donc, nous allons diviser cette valeur, et ensuite nous allons seulement considérer Donc,

99
00:07:59,970 --> 00:08:07,510
lorsque vous divisez la chaîne en utilisant ceci, il divisera cela en un tableau.

100
00:08:07,510 --> 00:08:11,780
Et le premier élément du tableau contient Basic.

101
00:08:11,780 --> 00:08:17,370
Le deuxième élément du tableau est l'endroit où cette chaîne codée base64 existe.

102
00:08:17,370 --> 00:08:21,280
C' est pourquoi nous ne regardons que le deuxième élément de ce tableau.

103
00:08:21,280 --> 00:08:27,800
Donc, ce fractionnement entraînera la scission de la chaîne en un tableau de deux éléments.

104
00:08:27,800 --> 00:08:32,944
Donc nous pourrions, nous ramassons la chaîne codée base64 à partir de cela.

105
00:08:32,944 --> 00:08:39,820
Et puis nous dans ce tampon, et puis nous allons le convertir en chaîne.

106
00:08:39,820 --> 00:08:45,830
Et encore une fois, divisez la chaîne une fois de plus car la chaîne

107
00:08:45,830 --> 00:08:51,200
elle-même contiendra le nom d'utilisateur et le mot de passe séparés par deux points.

108
00:08:51,200 --> 00:08:56,040
Donc, je vais le diviser en utilisant le deux-points comme

109
00:08:56,040 --> 00:09:01,350
point de séparation pour cette chaîne ici.

110
00:09:01,350 --> 00:09:05,727
Notez donc que je charge deux divisions ici, l'un sur l'espace et le

111
00:09:05,727 --> 00:09:11,110
second, en utilisant le deux-points qui sépare le nom d'utilisateur et le mot de passe.

112
00:09:11,110 --> 00:09:18,570
Donc, à la fin de cette variable auth devrait être un tableau contenant deux éléments,

113
00:09:18,570 --> 00:09:24,460
le nom d'utilisateur et le mot de passe qui est extrait de la chaîne base64.

114
00:09:24,460 --> 00:09:31,744
Donc, à ce stade, ce que je vais faire est,

115
00:09:31,744 --> 00:09:35,908
juste pour votre clarté,

116
00:09:35,908 --> 00:09:40,695
je vais simplement dire var

117
00:09:40,695 --> 00:09:46,733
username = auth [0] et ensuite,

118
00:09:46,733 --> 00:09:51,970
var password = auth [1].

119
00:09:51,970 --> 00:09:57,760
Donc maintenant, j'ai extrait le nom d'utilisateur et le mot de passe de mon en-tête d'autorisation.

120
00:09:57,760 --> 00:10:02,210
Maintenant, je vais utiliser une valeur par défaut pour le nom d'utilisateur et le

121
00:10:02,210 --> 00:10:06,030
mot de passe dans cette implémentation.

122
00:10:06,030 --> 00:10:10,950
Plus tard, nous verrons que nous pouvons permettre aux utilisateurs de créer leur propre nom d'utilisateur et

123
00:10:10,950 --> 00:10:11,530
mot de passe.

124
00:10:11,530 --> 00:10:14,304
Mais pour le moment, je vais juste utiliser,

125
00:10:17,358 --> 00:10:20,925
Le nom d'utilisateur encodé et mot de passe en tant qu'administrateur.

126
00:10:23,615 --> 00:10:30,705
Et le mot de passe sera juste mot de passe.

127
00:10:30,705 --> 00:10:32,778
Pour cet exercice de base,

128
00:10:32,778 --> 00:10:37,970
nous allons l'utiliser comme nom d'utilisateur et mot de passe par défaut.

129
00:10:39,468 --> 00:10:47,520
Si le nom d'utilisateur que j'obtiens est admin et que le mot de passe est le mot de passe de chaîne.

130
00:10:47,520 --> 00:10:52,490
Ensuite, je suis tout à fait bien pour permettre que la

131
00:10:52,490 --> 00:10:56,950
demande du client sera transmise au middleware suivant donc, je dirai ensuite.

132
00:10:56,950 --> 00:11:01,130
Donc, quand je dis ensuite, cela signifie que de l'authentification

133
00:11:01,130 --> 00:11:05,840
leur demande sera transmise sur le prochain ensemble de middleware ici et

134
00:11:05,840 --> 00:11:10,660
ensuite Express essaiera de faire correspondre la requête spécifique à était

135
00:11:11,830 --> 00:11:15,420
middleware spécifique qui traitera cette requête.

136
00:11:15,420 --> 00:11:19,440
C' est donc là que nous allons le laisser passer.

137
00:11:19,440 --> 00:11:24,000
Sinon, cela signifie que le nom d'utilisateur et le mot de

138
00:11:24,000 --> 00:11:29,260
passe ne correspondent pas à la demande, le

139
00:11:29,260 --> 00:11:33,010
nom d'utilisateur et le mot de passe par défaut que je suis en train de configurer.

140
00:11:33,010 --> 00:11:34,930
Donc, cela signifie qu'il y a une erreur.

141
00:11:34,930 --> 00:11:39,310
Donc, dans ce cas, je vais à nouveau provoquer une erreur ici,

142
00:11:39,310 --> 00:11:43,280
donc nous allons dire autre, Erreur.

143
00:11:43,280 --> 00:11:49,540
Donc, nous allons à nouveau générer une erreur et ensuite défier le client d'envoyer

144
00:11:49,540 --> 00:11:55,430
les informations d'autorisation correctes, le nom d'utilisateur et le mot de passe ici.

145
00:11:55,430 --> 00:11:56,730
Alors c'est tout.

146
00:11:56,730 --> 00:12:01,100
Ce petit peu de middleware que nous venons d'implémenter ici,

147
00:12:01,100 --> 00:12:04,010
middleware d'autorisation que nous venons d'implémenter ici.

148
00:12:04,010 --> 00:12:08,840
Est suffisant pour implémenter l'authentification de base dans l'application.

149
00:12:08,840 --> 00:12:10,300
Donc, après avoir fait ces changements,

150
00:12:10,300 --> 00:12:15,210
sauvegardons les changements et puis nous verrons comment cela fonctionne réellement dans la pratique.

151
00:12:15,210 --> 00:12:16,770
Sauvegardons les modifications.

152
00:12:16,770 --> 00:12:20,600
Et puis on va démarrer notre serveur.

153
00:12:20,600 --> 00:12:22,980
Maintenant, aller au terminal, bien sûr,

154
00:12:22,980 --> 00:12:26,916
assurez-vous que vous êtes le serveur MongoDB est opérationnel.

155
00:12:26,916 --> 00:12:34,390
Sinon, votre serveur Express ne démarrera pas.

156
00:12:34,390 --> 00:12:38,350
J' ai donc le type d'invite npm start,

157
00:12:38,350 --> 00:12:41,810
puis votre serveur Express sera opérationnel.

158
00:12:41,810 --> 00:12:46,760
Maintenant, ouvrez dans la fenêtre de navigation privée dans votre navigateur.

159
00:12:46,760 --> 00:12:51,280
La raison pour laquelle je vous demande d'utiliser une fenêtre de navigation privée est que lorsque vous tapez

160
00:12:51,280 --> 00:12:55,820
le nom d'utilisateur et le mot de passe, il sera mis en cache par votre navigateur.

161
00:12:55,820 --> 00:12:59,490
Donc, si vous utilisez une fenêtre de navigation privée, si vous redémarrez le navigateur...

162
00:12:59,490 --> 00:13:01,710
Ensuite, le cache sera effacé automatiquement, de

163
00:13:01,710 --> 00:13:04,300
sorte que cette information ne sera pas mémorisée.

164
00:13:04,300 --> 00:13:07,500
Maintenant, que se passe-t-il si vous tapez le nom d'utilisateur et le mot de passe, il sera mis en cache,

165
00:13:07,500 --> 00:13:11,570
donc par la suite, lorsque vous essayez d'accéder au serveur, les informations mises en cache

166
00:13:11,570 --> 00:13:15,840
seront automatiquement envoyées dans la demande que vous générez.

167
00:13:15,840 --> 00:13:18,710
C' est pourquoi il est important

168
00:13:18,710 --> 00:13:23,400
d'utiliser une fenêtre de navigation privée juste pour vous montrer que l'authentification de base fonctionne.

169
00:13:23,400 --> 00:13:31,140
Donc, dans la barre d'adresse de votre navigateur, tapez localhost:3000, et voyons ce qui se passe.

170
00:13:31,140 --> 00:13:36,920
Donc, lorsque vous tapez localhost:3000, vous voyez immédiatement que votre navigateur ouvre

171
00:13:36,920 --> 00:13:43,290
cette boîte de dialogue en haut vous demandant de taper le nom d'utilisateur et le mot de passe.

172
00:13:43,290 --> 00:13:50,240
Si vous ne le tapez pas, laissez-moi taper un nom d'utilisateur aléatoire et puis voir ce qui se passe.

173
00:13:50,240 --> 00:13:54,000
Donc, si je tape un nom d'utilisateur et un mot de passe aléatoires,

174
00:13:54,000 --> 00:13:57,260
alors vous voyez que la demande est rejetée.

175
00:13:57,260 --> 00:14:00,890
Je ne suis pas autorisé à accéder au serveur,

176
00:14:00,890 --> 00:14:06,100
puis si le serveur dira à nouveau que le client n'est pas autorisé.

177
00:14:06,100 --> 00:14:10,330
Et donc il reviendra et nous défiera à nouveau pour l'authentification correcte.

178
00:14:10,330 --> 00:14:12,820
Laissez-moi donc taper l'authentification actuelle.

179
00:14:12,820 --> 00:14:17,670
Alors laissez-moi taper admin et le mot de passe comme mot de passe.

180
00:14:17,670 --> 00:14:23,650
Et puis connectez-vous, et vous verrez que maintenant l'

181
00:14:23,650 --> 00:14:28,530
application Express vous permettra d'entrer et d'accéder à la valeur par défaut,

182
00:14:28,530 --> 00:14:34,700
qui dans ce cas est le fichier Index.html de ce dossier public statique.

183
00:14:34,700 --> 00:14:39,590
Maintenant, la même chose si vous essayez d'accéder à localhost:plats

184
00:14:39,590 --> 00:14:43,260
sans l'autorisation, alors cela ne fonctionnera pas.

185
00:14:43,260 --> 00:14:49,320
Et je vous le montrerai en utilisant le facteur dans une minute.

186
00:14:50,630 --> 00:14:56,011
Maintenant, après avoir vu comment fonctionne l'authentification, allons

187
00:14:56,011 --> 00:15:00,985
regarder ce qui s'est passé sur la console sur notre site serveur. En

188
00:15:06,181 --> 00:15:11,141
allant à la console sur notre site serveur, vous voyez que tout un tas d'informations

189
00:15:11,141 --> 00:15:13,769
a été imprimé ici, donc comme vous l'avez vu,

190
00:15:13,769 --> 00:15:17,030
nous avons déconnecté les en-têtes de requête ici.

191
00:15:17,030 --> 00:15:21,040
C' est donc la première requête qui est arrivée avec l'en-tête de requête.

192
00:15:21,040 --> 00:15:26,860
Et ici, vous voyez qu'il n'y a pas d'en-tête d'autorisation dans la demande.

193
00:15:26,860 --> 00:15:34,620
Et donc votre serveur a rejeté cela avec un 401 demandant à notre client de s'autoriser lui-même.

194
00:15:34,620 --> 00:15:40,240
La deuxième fois aussi depuis que nous n'avons pas tapé l'autorisation correcte que le

195
00:15:40,240 --> 00:15:41,916
serveur a rejetée.

196
00:15:41,916 --> 00:15:48,390
Bien sûr, vous remarquez maintenant que dans l'en-tête, juste là, l'autorisation

197
00:15:48,390 --> 00:15:52,820
y est effectivement incluse, et vous voyez comment l'autorisation est incluse.

198
00:15:52,820 --> 00:15:56,650
Il est dit Basic séparé par un espace, et

199
00:15:56,650 --> 00:16:02,980
séparé par la chaîne encodée 64 bits qui contient le nom d'utilisateur et le mot de passe.

200
00:16:02,980 --> 00:16:06,080
Et puis, nous voyons que le serveur

201
00:16:06,080 --> 00:16:09,540
a rejeté cela parce que l'autorisation était erronée à ce moment-là.

202
00:16:09,540 --> 00:16:14,452
Maintenant, plus tard, nous avons tapé le nom d'utilisateur et le mot de passe corrects.

203
00:16:14,452 --> 00:16:18,938
Donc, juste là, dans la troisième requête qui est arrivée, nous avons tapé le nom d'utilisateur et le mot de

204
00:16:18,938 --> 00:16:19,597
passe corrects.

205
00:16:19,597 --> 00:16:27,323
Et donc, c'est pourquoi vous voyez que l'en-tête de requête contient l'autorisation,

206
00:16:27,323 --> 00:16:34,180
et cette chaîne utilise le codage correct du nom d'utilisateur et du mot de passe.

207
00:16:34,180 --> 00:16:35,720
Comment je le sais ?

208
00:16:35,720 --> 00:16:38,384
Eh bien, j'ai croisé et je sais

209
00:16:38,384 --> 00:16:42,337
que, c'est la version codée étrangère de base de la chaîne là-bas.

210
00:16:42,337 --> 00:16:47,470
Nous verrons aussi cela à partir de notre image de facteur ou quoi.

211
00:16:48,740 --> 00:16:53,740
Maintenant, vous voyez que la requête a été acceptée et

212
00:16:53,740 --> 00:16:55,740
qu'elle a renvoyé la valeur correctement.

213
00:16:57,210 --> 00:17:05,150
Et puis bien sûr, par la suite, le client a demandé un favicon, l'icône.

214
00:17:05,150 --> 00:17:11,590
Et comme nous n'avons pas le favicon côté serveur, il répond avec le 404 et

215
00:17:11,590 --> 00:17:15,560
bien sûr votre icône préférée n'est pas affichée dans la barre d'adresse.

216
00:17:15,560 --> 00:17:18,640
Donc, c'est bien, mais notez en particulier.

217
00:17:18,640 --> 00:17:21,430
Les particuliers demandés sont entrés,

218
00:17:21,430 --> 00:17:25,030
où l'en-tête d'autorisation correct a été inclus.

219
00:17:25,030 --> 00:17:28,490
Et ainsi, il a été couronné de succès à l'époque.

220
00:17:28,490 --> 00:17:33,680
Essayons de voir comment on pourrait faire la même chose avec Postmap.

221
00:17:33,680 --> 00:17:38,480
Donc ici, j'ai ma fenêtre de carte postale ouverte.

222
00:17:38,480 --> 00:17:42,250
Et donc dans ma fenêtre Postman, je vais taper

223
00:17:44,160 --> 00:17:50,670
un get to localhost : à mon serveur, puis envoyer la demande et

224
00:17:50,670 --> 00:17:57,260
vous remarquerez immédiatement qu'il conteste dire 401 non autorisé.

225
00:17:57,260 --> 00:18:01,890
Donc c'est le message de réponse du côté serveur,

226
00:18:01,890 --> 00:18:06,580
alors remarquez ce qu'il enregistre, 401 Non autorisé.

227
00:18:06,580 --> 00:18:12,550
Et il dit que la réponse doit inclure un champ d'en-tête WWW-Authenticate.

228
00:18:12,550 --> 00:18:18,153
Et cela défiera le client d'envoyer les informations d'autorisation, le nom d'

229
00:18:18,153 --> 00:18:20,083
utilisateur et le mot de passe.

230
00:18:20,083 --> 00:18:25,833
Donc, en prévisualisant cela, nous voyons que la phrase que vous n'êtes pas authentifié

231
00:18:25,833 --> 00:18:27,940
, puis le code 401 ici.

232
00:18:27,940 --> 00:18:31,341
Maintenant, en regardant les en-têtes du message de réponse.

233
00:18:31,341 --> 00:18:36,781
Lorsque vous regardez l'en-tête du message de réponse, vous pouvez voir en particulier

234
00:18:36,781 --> 00:18:41,718
cet en-tête qui y est inclus, qui est www.authenticatebasic.

235
00:18:41,718 --> 00:18:46,522
Maintenant, comment pouvons-nous faire l'authentification ou l'autorisation dans la poste ?

236
00:18:46,522 --> 00:18:51,090
Donc c'est là qu'ils allaient à ceci juste en dessous de cette case ici,

237
00:18:51,090 --> 00:18:53,952
vous verrez cette autorisation ici.

238
00:18:53,952 --> 00:18:58,050
Et quand vous cliquez sur l'autorisation, en ce moment, il est dit NON AUTH..

239
00:18:58,050 --> 00:19:01,240
Utilisons l'authentification de base.

240
00:19:01,240 --> 00:19:04,820
Donc, quand je dis l'authentification de base, cela

241
00:19:04,820 --> 00:19:08,530
me donnera ces deux champs ici où je peux taper le nom d'utilisateur et le mot de passe.

242
00:19:08,530 --> 00:19:11,160
Laissez-moi taper le nom d'utilisateur et le mot de passe corrects.

243
00:19:11,160 --> 00:19:19,170
Donc, je vais dire nom d'utilisateur admin, mot de passe est le mot de passe P-A-S-W-O-R-D.

244
00:19:19,170 --> 00:19:22,650
Donc, vous pouvez le voir, c'est exactement le mot de passe que nous avons ici.

245
00:19:22,650 --> 00:19:26,800
Donc, une fois que vous tapez le nom d'utilisateur et le mot de passe, ils diront Demande de mise à jour.

246
00:19:26,800 --> 00:19:30,980
Donc, quand je clique sur Demande de mise à jour, vous verrez que immédiatement dans l'en-tête,

247
00:19:32,130 --> 00:19:35,340
vous verrez qu'

248
00:19:35,340 --> 00:19:40,770
il y a ce champ ici qui a été ajouté ici disant autorisation.

249
00:19:40,770 --> 00:19:45,080
Et puis, vous verrez ce que cette deuxième partie, la valeur que vous pouvez prendre.

250
00:19:45,080 --> 00:19:49,480
Il dit basique et un espace, puis cette chaîne particulière.

251
00:19:49,480 --> 00:19:55,040
Donc, si vous vérifiez cette chaîne particulière ici, ce sera la

252
00:19:55,040 --> 00:20:01,219
chaîne exacte que vous verrez dans l'en-tête du message de demande réussie.

253
00:20:01,219 --> 00:20:03,544
Remarquez ce que cette chaîne dit.

254
00:20:03,544 --> 00:20:09,309
Il dit quelque chose YWR, puis se termine par un Q égal à. En

255
00:20:09,309 --> 00:20:14,285
allant à notre terminal, vous voyez que la requête réussie

256
00:20:14,285 --> 00:20:18,276
contenait exactement cette chaîne ici.

257
00:20:18,276 --> 00:20:24,250
Il dit YWR et se termine par Q égal à là.

258
00:20:24,250 --> 00:20:28,400
Ainsi, en tapant les informations dans l'autorisation, puis en cliquant sur

259
00:20:28,400 --> 00:20:34,240
la demande de mise à jour, ces informations sont ajoutées dans les en-têtes d'autorisation.

260
00:20:34,240 --> 00:20:36,410
Donc maintenant c'est une requête get,

261
00:20:37,410 --> 00:20:42,020
je n'ai pas besoin du type de contenu là car il ne contient aucun corps.

262
00:20:42,020 --> 00:20:46,106
Donc maintenant que l'autorisation a été incluse,

263
00:20:46,106 --> 00:20:51,263
envoyons la requête maintenant correctement et vous verrez que

264
00:20:51,263 --> 00:20:57,990
la réponse venant du site du serveur contiendra le fichier d'index comme vous le souhaitez.

265
00:20:57,990 --> 00:21:02,524
Maintenant, laissez-moi supprimer l'autorisation.

266
00:21:02,524 --> 00:21:07,351
Maintenant, c'est la raison pour laquelle Postmap m'aide à vérifier ces choses beaucoup plus

267
00:21:07,351 --> 00:21:11,662
facilement, je peux supprimer l'autorisation et ensuite envoyer la demande.

268
00:21:11,662 --> 00:21:14,947
Et il contiendra toujours cette autorisation,

269
00:21:14,947 --> 00:21:18,570
parce que j'ai tapé ceci dans le champ d'autorisation.

270
00:21:18,570 --> 00:21:23,380
Donc, laissez-moi effacer l'autorisation à partir de là, et ensuite envoyer la demande ici.

271
00:21:23,380 --> 00:21:26,000
Et puis il dit que vous n'êtes pas authentifié.

272
00:21:26,000 --> 00:21:30,230
De même, si j'envoie la demande à la vaisselle.

273
00:21:30,230 --> 00:21:32,000
Auparavant, cela fonctionnait bien, mais

274
00:21:32,000 --> 00:21:37,750
maintenant vous voyez que nous sommes empêchés d'accéder au point de terminaison /plats également.

275
00:21:37,750 --> 00:21:41,400
Et la même chose avec tous les autres points de terminaison APR repos aussi.

276
00:21:41,400 --> 00:21:47,360
Vous ne serez pas autorisé à accéder, car le middleware d'autorisation vient avant d'

277
00:21:47,360 --> 00:21:50,600
avoir accès à l'un de ces points de terminaison

278
00:21:50,600 --> 00:21:56,070
dans la liste des middleware pour votre serveur express.

279
00:21:56,070 --> 00:21:59,945
Donc maintenant, si j'inclut maintenant l'autorisation,

280
00:22:04,774 --> 00:22:10,277
Et puis mettre à jour ma demande et ensuite envoyer la requête au serveur,

281
00:22:10,277 --> 00:22:12,845
alors le serveur répondra.

282
00:22:12,845 --> 00:22:17,412
Maintenant, évidemment, en ce moment, ma base de données

283
00:22:17,412 --> 00:22:20,752
est vide, donc elle répond avec un tableau vide là-bas.

284
00:22:20,752 --> 00:22:24,109
Mais maintenant, la requête est passée avec succès, et

285
00:22:24,109 --> 00:22:28,004
je suis capable de récupérer les informations de la chaussette du serveur.

286
00:22:28,004 --> 00:22:32,186
Il s'agit donc d'une démonstration rapide de l'

287
00:22:32,186 --> 00:22:37,724
autorisation de base dans notre application APR de repos express.

288
00:22:37,724 --> 00:22:40,730
Avec cela, nous complétons cet exercice.

289
00:22:40,730 --> 00:22:42,236
C' est un bon moment pour

290
00:22:42,236 --> 00:22:46,846
vous de faire un commentaire get avec le message de l'authentification de base.

291
00:22:46,846 --> 00:22:50,116
[ MUSIQUE]