1
00:00:00,000 --> 00:00:04,649
[MÚSICA]

2
00:00:04,649 --> 00:00:08,820
Na lição anterior, aprendemos sobre autenticação básica.

3
00:00:08,820 --> 00:00:14,398
Vimos que na autenticação básica o cliente terá que manter explicitamente

4
00:00:14,398 --> 00:00:19,720
adicionando no campo de autorização que contém o nome de usuário e

5
00:00:19,720 --> 00:00:24,100
senha para cada solicitação que o cliente envia para o lado do servidor.

6
00:00:24,100 --> 00:00:27,750
Agora isso é perfeitamente bom para autenticação simples.

7
00:00:27,750 --> 00:00:33,520
Os cookies são mais um mecanismo que é fornecido que permite que o seu servidor

8
00:00:33,520 --> 00:00:38,700
seja capaz de esperar que o cliente armazene algumas informações no lado do cliente e

9
00:00:38,700 --> 00:00:43,370
inclua essas informações explicitamente em cada solicitação de saída.

10
00:00:43,370 --> 00:00:47,360
Assim, em vez de incluir seu nome de usuário codificado com base 64 e

11
00:00:47,360 --> 00:00:53,710
senha, como fizemos na autenticação básica, usando cookies,

12
00:00:53,710 --> 00:00:58,130
seu servidor pode configurar uma informação explícita no lado do cliente

13
00:00:58,130 --> 00:01:02,520
, que será incluída em cada solicitação de saída do lado do cliente.

14
00:01:03,750 --> 00:01:08,740
Agora, expandindo isso ainda mais, se o servidor quiser rastrear informações sobre seu

15
00:01:08,740 --> 00:01:15,180
cliente, então o servidor pode configurar explicitamente um mecanismo de rastreamento de sessão.

16
00:01:15,180 --> 00:01:20,720
Agora, os cookies são pequenos e não podem armazenar muita informação lá,

17
00:01:20,720 --> 00:01:25,230
e isso, claro, não pode ser incluído na solicitação de saída.

18
00:01:25,230 --> 00:01:28,010
Os cookies podem incluir algumas informações básicas

19
00:01:28,010 --> 00:01:31,850
no cabeçalho da solicitação de saída do cliente.

20
00:01:31,850 --> 00:01:37,010
Agora, se queremos muito mais informações a serem rastreadas sobre um cliente

21
00:01:37,010 --> 00:01:42,420
no lado do servidor, então sessões expressas nos permitem fazer isso.

22
00:01:42,420 --> 00:01:45,140
Vamos estudar mais sobre cookies e

23
00:01:45,140 --> 00:01:49,260
sessões Express com um pouco mais de detalhes nesta lição e

24
00:01:49,260 --> 00:01:54,380
também explorá-los ainda mais nos exercícios que se seguem a esta palestra.

25
00:01:56,640 --> 00:01:59,340
Então, o que são cookies HTTP?

26
00:01:59,340 --> 00:02:04,070
Os cookies HTTP, como mencionei, são pequenos pedaços de dados que são enviados

27
00:02:04,070 --> 00:02:07,610
de um servidor web e são armazenados no lado do cliente.

28
00:02:07,610 --> 00:02:12,030
Agora, quase todos os navegadores têm a capacidade de suportar

29
00:02:12,030 --> 00:02:16,850
o armazenamento de cookies no lado do cliente e incluí-los automaticamente

30
00:02:16,850 --> 00:02:21,590
na solicitação quando a solicitação é enviada para um servidor específico.

31
00:02:21,590 --> 00:02:27,127
Assim, cada solicitação subsequente do

32
00:02:27,127 --> 00:02:32,047
lado do cliente incluirá um novo cabeçalho lá

33
00:02:32,047 --> 00:02:37,141
com o cookie no cabeçalho da solicitação.

34
00:02:37,141 --> 00:02:41,668
Agora, obviamente, se você viu que a imprensa popular tem uma má reputação

35
00:02:41,668 --> 00:02:45,450
lá, isso, é claro, não é completamente imerecido.

36
00:02:45,450 --> 00:02:52,880
Mas é explodido muito fora de proporção do que o que é realmente a verdade.

37
00:02:52,880 --> 00:02:57,760
Então pegue qualquer coisa que você lê na imprensa popular sobre biscoitos e

38
00:02:57,760 --> 00:03:00,570
sua má reputação com um grão de sal.

39
00:03:00,570 --> 00:03:05,040
Os cookies são muito úteis para fazer muitas coisas interessantes.

40
00:03:05,040 --> 00:03:09,880
E podemos garantir que os cookies possam ter integridade suficiente

41
00:03:09,880 --> 00:03:15,070
incorporada neles para que eles não possam ser manipulados por ninguém no meio.

42
00:03:15,070 --> 00:03:21,640
Agora, como essa inclusão de configuração de cookie na solicitação de saída funciona?

43
00:03:21,640 --> 00:03:25,060
Quando um cliente envia uma solicitação para o site do servidor,

44
00:03:25,060 --> 00:03:27,870
se o cliente é autenticado no site do servidor.

45
00:03:27,870 --> 00:03:31,040
Por exemplo, usando a autenticação básica,

46
00:03:31,040 --> 00:03:34,950
então o servidor pode, em troca, configurar um cookie.

47
00:03:34,950 --> 00:03:39,120
Agora, para configurar um cookie no site do cliente, o servidor incluirá

48
00:03:39,120 --> 00:03:44,090
na mensagem de resposta um cabeçalho com o cabeçalho do cookie enviado e

49
00:03:44,090 --> 00:03:46,300
o cookie real no cabeçalho.

50
00:03:46,300 --> 00:03:50,460
Agora, quando o cliente recebe a mensagem de resposta do servidor que contém

51
00:03:50,460 --> 00:03:54,500
o cabeçalho Set-Cookie, ele irá configurar o cookie no lado do cliente.

52
00:03:54,500 --> 00:03:59,455
De modo que cada solicitação subsequente indo do lado do cliente

53
00:03:59,455 --> 00:04:03,602
incluirá explicitamente um campo de cabeçalho chamado como cookie e

54
00:04:03,602 --> 00:04:06,846
cabeçalho real que contém como

55
00:04:06,846 --> 00:04:13,200
o valor, as informações de cookie que foram enviadas pelo servidor na mensagem de resposta.

56
00:04:13,200 --> 00:04:17,880
Assim, cada mensagem de solicitação subseqüente levará este cookie no cabeçalho.

57
00:04:17,880 --> 00:04:22,470
Assim, quando o servidor recebe esta mensagem de solicitação, ele é capaz de examinar

58
00:04:22,470 --> 00:04:28,490
o cookie e supor de quem esta solicitação está vindo.

59
00:04:28,490 --> 00:04:33,612
Assim, ele é capaz de reconhecer o cliente olhando para as informações de cookie.

60
00:04:33,612 --> 00:04:38,543
Portanto, é aqui que os cookies são muito úteis

61
00:04:38,543 --> 00:04:44,019
para poder enviar informações de autorização.

62
00:04:44,019 --> 00:04:48,050
Assim, em servir incluindo nome de usuário e senha como parte do

63
00:04:48,050 --> 00:04:51,220
cabeçalho de autenticação básica em cada solicitação em andamento.

64
00:04:51,220 --> 00:04:55,120
Na primeira vez que você se autentica, você envia seu nome de usuário e senha e

65
00:04:55,120 --> 00:04:57,140
o servidor configura o cookie do seu lado.

66
00:04:57,140 --> 00:05:02,070
Posteriormente, você só precisa incluir o cookie na solicitação de saída.

67
00:05:02,070 --> 00:05:06,789
Agora, os cookies também podem ter uma data de validade associada a eles.

68
00:05:06,789 --> 00:05:11,641
Assim, nesse ponto, o cookie será considerado como expirado e

69
00:05:11,641 --> 00:05:13,440
não será mais válido.

70
00:05:13,440 --> 00:05:16,940
Portanto, essa é uma forma de controlar a duração para a

71
00:05:16,940 --> 00:05:20,340
qual uma autorização é válida.

72
00:05:20,340 --> 00:05:24,350
Chegando ao Express em si, como é que o Express suporta cookies?

73
00:05:24,350 --> 00:05:28,980
Agora, como entendemos, o Express usa um monte de middleware.

74
00:05:28,980 --> 00:05:34,100
Este é o lugar onde um dos middlewares que entra chamado o analisador de cookies

75
00:05:34,100 --> 00:05:37,092
chega ao nosso aplicativo às oito.

76
00:05:37,092 --> 00:05:42,580
O analisador de cookies permite que o servidor configure um cookie no cabeçalho de resposta.

77
00:05:42,580 --> 00:05:48,350
Então isso é feito usando res.cookie e o nome e

78
00:05:48,350 --> 00:05:54,160
certos valores e as opções como veremos no exercício mais tarde.

79
00:05:54,160 --> 00:06:00,160
Assim, os cookies, quando são enviados do lado do cliente, incluídos nessa

80
00:06:00,160 --> 00:06:05,980
mensagem de solicitação são analisados no lado do servidor Express, usando o analisador de cookies.

81
00:06:05,980 --> 00:06:08,383
O middleware do analisador de cookies,

82
00:06:08,383 --> 00:06:13,400
que, quando instalado, permitirá que você analise os cookies recebidos.

83
00:06:13,400 --> 00:06:17,280
E, em seguida, estes cookies de entrada serão adicionados

84
00:06:17,280 --> 00:06:22,260
à solicitação como um cabeçalho e podem ser examinados no lado do servidor.

85
00:06:23,340 --> 00:06:26,580
Agora, a fim de proteger a autenticidade do cookie,

86
00:06:26,580 --> 00:06:30,070
os próprios cookies podem ser assinados pelo servidor.

87
00:06:30,070 --> 00:06:35,120
Agora, quando o servidor assina um cookie, o servidor usa uma chave secreta,

88
00:06:35,120 --> 00:06:38,070
que só é conhecida pelo lado do servidor.

89
00:06:38,070 --> 00:06:42,510
Agora, se você sabe alguma coisa sobre segurança do computador, criptografia e

90
00:06:42,510 --> 00:06:47,210
criptografia, então você entende o que assinar e chaves secretas e

91
00:06:47,210 --> 00:06:49,290
chaves públicas e todas essas coisas significam.

92
00:06:49,290 --> 00:06:53,990
Se você não fizer isso, basta dizer que uma chave secreta é

93
00:06:53,990 --> 00:06:59,260
uma string específica que só o servidor conhece e ninguém mais sabe.

94
00:06:59,260 --> 00:07:05,505
Assim, quando um servidor criptografa um cookie, ele usará uma chave secreta como assinatura e

95
00:07:05,505 --> 00:07:11,081
criará o que é chamado de código de autenticação de mensagem de hash de chave.

96
00:07:11,081 --> 00:07:16,450
E inclui isso no cookie que é enviado do servidor para o lado do cliente.

97
00:07:16,450 --> 00:07:21,210
Este HMAC que é criado no lado do servidor só pode ser feito

98
00:07:21,210 --> 00:07:24,540
por esse servidor específico sabendo que a chave secreta.

99
00:07:24,540 --> 00:07:27,950
Agora, uma vez que o servidor é um recurso protegido, então

100
00:07:27,950 --> 00:07:33,670
apenas o servidor saberá a chave secreta e por isso é muito fácil verificar

101
00:07:33,670 --> 00:07:38,320
quando um cookie assinado é enviado do lado do cliente para o lado do servidor.

102
00:07:38,320 --> 00:07:42,040
Assim, quando o cookie assinado é enviado do lado do cliente para o lado do servidor,

103
00:07:42,040 --> 00:07:44,540
o cookie será configurado no lado do cliente e, em

104
00:07:44,540 --> 00:07:50,310
seguida, todas as solicitações subsequentes incluirão este cookie assinado no lado do cliente.

105
00:07:50,310 --> 00:07:54,290
Agora, o middleware do analisador de cookies que configuramos com o nosso servidor Express

106
00:07:54,290 --> 00:07:56,630
já suporta cookies assinados.

107
00:07:56,630 --> 00:08:02,480
Agora, para isso, no analisador de cookies, você também fornecerá a chave secreta como

108
00:08:02,480 --> 00:08:07,120
o parâmetro para o analisador de cookies quando você configurar o middleware do analisador de cookies.

109
00:08:07,120 --> 00:08:11,970
Assim, todos os cookies serão assinados de forma adequada e depois enviados.

110
00:08:11,970 --> 00:08:17,240
E quando o cookie é analisado no lado do servidor na

111
00:08:17,240 --> 00:08:22,660
mensagem de solicitação de entrada, isso será adicionado à mensagem de solicitação como Req.signedCookies.

112
00:08:22,660 --> 00:08:27,980
E então você pode ter um campo específico que você pode verificar no cookie assinado.

113
00:08:27,980 --> 00:08:30,890
Cookies são uma forma muito útil de

114
00:08:30,890 --> 00:08:36,380
seu cliente ser capaz de enviar informações através das quais seu servidor reconhece o cliente.

115
00:08:36,380 --> 00:08:38,490
Mas, é claro, os cookies têm limitações.

116
00:08:38,490 --> 00:08:42,370
Eles são um tamanho fixo, então eles não podem codificar muitas informações

117
00:08:42,370 --> 00:08:47,090
sobre o cliente que seu servidor pode recuperar do cookie.

118
00:08:47,090 --> 00:08:50,710
O cookie é usado apenas para lembrar o servidor sobre

119
00:08:50,710 --> 00:08:53,750
qual cliente está enviando a solicitação.

120
00:08:53,750 --> 00:08:58,311
Agora, se você quiser ter um mecanismo mais elaborado para rastrear informações sobre

121
00:08:58,311 --> 00:09:02,889
um cliente, então, no lado do servidor, você pode configurar o que são chamados como sessões.

122
00:09:02,889 --> 00:09:09,180
Agora, sessões é um mecanismo genérico que está disponível com qualquer servidor.

123
00:09:09,180 --> 00:09:11,850
Em particular, analisaremos o próprio Express e

124
00:09:11,850 --> 00:09:17,140
como o Express oferece suporte ao gerenciamento de sessões no lado do servidor.

125
00:09:17,140 --> 00:09:22,930
A maneira como funciona é que a sessão do usuário está configurada no lado do servidor.

126
00:09:22,930 --> 00:09:27,430
Portanto, esta sessão em si é uma combinação de um cookie e

127
00:09:27,430 --> 00:09:32,270
um ID de sessão, e o lado do servidor rastreia informações

128
00:09:32,270 --> 00:09:37,250
associadas a esse ID de sessão, ou indexadas por esse ID de sessão.

129
00:09:37,250 --> 00:09:40,500
As informações da sessão em si podem ter qualquer

130
00:09:40,500 --> 00:09:45,380
quantidade de informações sendo rastreadas no lado do servidor e indexadas por esse cookie.

131
00:09:45,380 --> 00:09:50,910
Assim, quando um cliente envia uma solicitação sobre o servidor, em seguida, de dentro do cookie

132
00:09:50,910 --> 00:09:56,130
o ID da sessão é recuperado e que é usado como um índice para o lado do servidor.

133
00:09:56,130 --> 00:09:56,964
Por exemplo,

134
00:09:56,964 --> 00:10:01,548
se você estiver usando um banco de dados do lado do servidor, esse índice será o índice primário

135
00:10:01,548 --> 00:10:05,456
nesse banco de dados do lado do servidor específico que rastreia as sessões.

136
00:10:05,456 --> 00:10:10,486
E assim, informações adicionais sobre essa sessão podem ser recuperadas e

137
00:10:10,486 --> 00:10:13,761
usadas pelo servidor para tomar decisões sobre como

138
00:10:13,761 --> 00:10:17,380
ele atende a solicitação do cliente de entrada.

139
00:10:17,380 --> 00:10:23,900
Agora, por padrão, as sessões são armazenadas na memória no site do servidor.

140
00:10:23,900 --> 00:10:28,870
Agora, obviamente, o que isso significa é que se seu servidor for reiniciado, sua memória

141
00:10:28,870 --> 00:10:33,260
será apagada e assim todas as informações da sessão desaparecerão completamente.

142
00:10:33,260 --> 00:10:37,350
Então, em vez disso, muitos servidores recorrerão ao

143
00:10:37,350 --> 00:10:42,010
uso de alguma forma de armazenamento permanente onde as informações da sessão são rastreadas.

144
00:10:42,010 --> 00:10:45,360
O armazenamento permanente no lado do servidor pode ser feito

145
00:10:45,360 --> 00:10:47,500
através de algum tipo de armazenamento de arquivos.

146
00:10:47,500 --> 00:10:53,460
Ou mesmo aproveitar o fato de que você já tem um banco de dados no lado

147
00:10:53,460 --> 00:10:56,170
do servidor e armazenar as informações da sessão no lado do servidor.

148
00:10:56,170 --> 00:10:59,590
Por exemplo, em seu próprio MongoDB.

149
00:10:59,590 --> 00:11:05,620
Agora, no exercício que se segue, vamos olhar para o uso de um armazenamento de arquivos para

150
00:11:05,620 --> 00:11:10,000
rastrear informações de sessão no lado do servidor.

151
00:11:10,000 --> 00:11:14,450
Outro aspecto que você precisa prestar atenção é o fato de que, se você

152
00:11:14,450 --> 00:11:19,540
estiver tendo uma implementação de servidor distribuído em que vários

153
00:11:19,540 --> 00:11:24,530
servidores estão atuando como o servidor para atender a solicitação.

154
00:11:24,530 --> 00:11:28,310
Em seguida, o servidor distribuidor deve ser capaz de acessar as informações da sessão.

155
00:11:29,460 --> 00:11:32,470
Qualquer um desses servidores deve ser capaz de acessar as informações da sessão.

156
00:11:32,470 --> 00:11:36,480
Portanto, você precisará de uma ferramenta de sessões de distribuidor no lado do servidor,

157
00:11:36,480 --> 00:11:40,780
para permitir que você ofereça suporte a vários servidores replicados.

158
00:11:40,780 --> 00:11:45,450
Especialmente isso é útil quando estamos tentando garantir a confiabilidade

159
00:11:45,450 --> 00:11:46,870
da operação do servidor.

160
00:11:47,960 --> 00:11:52,630
Agora, novamente, não vamos entrar em muitos detalhes sobre aqueles neste

161
00:11:52,630 --> 00:11:58,190
curso em particular, vamos depender de entender basicamente como as sessões Express funcionam.

162
00:11:59,710 --> 00:12:02,080
Vindo especificamente para o Express e

163
00:12:02,080 --> 00:12:06,080
como o gerenciamento de sessões é suportado no Express. O

164
00:12:06,080 --> 00:12:10,240
Express usa o middleware de sessão expressa que oferece suporte

165
00:12:10,240 --> 00:12:14,760
ao uso de sessões em um servidor Express.

166
00:12:14,760 --> 00:12:18,110
Agora você instala o middleware de sessões expressas.

167
00:12:18,110 --> 00:12:21,140
E no exercício, vou usar o FileStore

168
00:12:21,140 --> 00:12:24,470
como uma forma de armazenar permanentemente as informações da sessão.

169
00:12:24,470 --> 00:12:30,440
E assim, também incluiremos o módulo de nó de sessão file-store que

170
00:12:30,440 --> 00:12:37,305
nos permite usar os arquivos no lado do servidor para rastrear as informações da sessão.

171
00:12:37,305 --> 00:12:41,120
Veremos os detalhes no exercício que se segue.

172
00:12:41,120 --> 00:12:46,247
E então uma vez que fazemos isso sua sessão em si será configurado com o novo

173
00:12:46,247 --> 00:12:51,690
servidor express declarando o middleware aqui como sessão que leva

174
00:12:51,690 --> 00:12:57,390
um certo conjunto de opções como um parâmetro aqui.

175
00:12:57,390 --> 00:13:02,200
As opções incluem o nome da sessão, então daremos o id da sessão para

176
00:13:02,200 --> 00:13:03,500
a sessão específica.

177
00:13:03,500 --> 00:13:07,500
E então você também fornecerá o segredo, uma chave secreta que é usada para

178
00:13:07,500 --> 00:13:12,460
codificar o cookie assinado que será enviado para o lado do cliente.

179
00:13:12,460 --> 00:13:17,960
E, em seguida, também informações adicionais incluindo SaveUnInitialized, que

180
00:13:19,190 --> 00:13:24,625
será um sinalizador que é usado e também um sinalizador de resave que é usado.

181
00:13:24,625 --> 00:13:28,760
Analisaremos alguns dos detalhes dessas opções no próximo slide.

182
00:13:28,760 --> 00:13:31,390
Então, todas essas opções são especificadas aqui.

183
00:13:31,390 --> 00:13:36,945
E se você é FileStore como o armazenamento permanente para suas sessões,

184
00:13:36,945 --> 00:13:42,130
então vamos declarar que também nas opções de sessão lá.

185
00:13:42,130 --> 00:13:47,450
Então é assim que nós iria configurar uma sessão no lado do servidor expresso

186
00:13:47,450 --> 00:13:49,510
usando o Middleware de sessão expressa.

187
00:13:49,510 --> 00:13:55,540
E o middleware de sessão expressa, quando o cliente envia essas informações,

188
00:13:55,540 --> 00:13:58,980
isso será analisado no lado do servidor e

189
00:13:58,980 --> 00:14:04,640
isso resultará em uma propriedade chamada sessão sendo adicionada ao objeto request.

190
00:14:04,640 --> 00:14:09,460
Portanto, esta informação de sessão será acessível no

191
00:14:09,460 --> 00:14:11,505
objeto de solicitação como req.session.

192
00:14:11,505 --> 00:14:16,221
Assim, o req.session irá transportar informações adicionais sobre essa sessão específica

193
00:14:16,221 --> 00:14:18,325
para esse cliente específico.

194
00:14:18,325 --> 00:14:22,979
Agora, uma vez que esta sessão, solicitação de entrada é analisada pelo middleware de sessão,

195
00:14:22,979 --> 00:14:28,957
a propriedade req.session será adicionada ao

196
00:14:28,957 --> 00:14:33,447
objeto de mensagem de solicitação de entrada que expressa usa.

197
00:14:33,447 --> 00:14:40,097
Assim, após a sessão é analisada, propriedade de sessão direta estará disponível e

198
00:14:40,097 --> 00:14:46,165
podemos examinar isso também para verificar qual cliente enviou esta solicitação.

199
00:14:46,165 --> 00:14:50,900
Quando eles configuram seu objeto de sessão no site do servidor,

200
00:14:50,900 --> 00:14:54,760
como vimos, podemos configurar várias opções para esse site do servidor.

201
00:14:54,760 --> 00:14:59,790
O cookie, as opções do cookie ID de sessão e o valor padrão para

202
00:14:59,790 --> 00:15:04,275
o cookie serão como mostrado aqui, que é o caminho: '/',

203
00:15:04,275 --> 00:15:07,700
HttpOnly: true, secure: false, maxAge: null.

204
00:15:07,700 --> 00:15:13,450
Portanto, este será o valor padrão do cookie que será armazenado no pacote

205
00:15:13,450 --> 00:15:17,680
e enviado para o lado do cliente como um cookie assinado.

206
00:15:17,680 --> 00:15:23,306
E isso seria incluído em cada solicitação recebida do site do cliente.

207
00:15:23,306 --> 00:15:28,080
Em seguida, o genid é a função que gera o ID da sessão.

208
00:15:28,080 --> 00:15:33,830
O padrão é usar o UUID do próprio servidor como o ID geral.

209
00:15:33,830 --> 00:15:38,720
Em seguida, o sinalizador de resave, se for verdadeiro, força uma sessão a ser salva novamente

210
00:15:38,720 --> 00:15:41,470
na loja, mesmo que não seja modificada pela solicitação.

211
00:15:41,470 --> 00:15:44,230
Às vezes, a solicitação de entrada pode

212
00:15:45,580 --> 00:15:50,200
conter uma necessidade de modificar as informações da sessão no lado do servidor.

213
00:15:50,200 --> 00:15:54,300
Assim, se a informação da sessão for modificada, terá que ser persistente.

214
00:15:54,300 --> 00:15:56,290
Se não, então você não precisa persistir.

215
00:15:56,290 --> 00:16:00,454
Mas se você definir o sinalizador de resave como true, mesmo que as informações

216
00:16:00,454 --> 00:16:06,030
da sessão no servidor não sejam modificadas pela solicitação do cliente de entrada, ele ainda será resalvo.

217
00:16:06,030 --> 00:16:09,980
A próxima bandeira que olhamos foi SaveUnInitialized.

218
00:16:09,980 --> 00:16:14,620
Se isso for verdade, ele criará uma sessão recém-criada sem quaisquer modificações

219
00:16:14,620 --> 00:16:16,540
a serem salvas do armazenamento de sessão.

220
00:16:16,540 --> 00:16:21,164
Agora vamos definir isso como false por padrão, o que significa que só vamos

221
00:16:21,164 --> 00:16:25,008
rastrear as sessões que estão autorizadas no servidor.

222
00:16:25,008 --> 00:16:30,955
Agora, o segredo, como vemos, é a chave secreta que é usada para assinar o cookie,

223
00:16:30,955 --> 00:16:36,310
e a própria loja especifica a instância de armazenamento de sessão que é usada.

224
00:16:36,310 --> 00:16:39,810
O padrão é usar o armazenamento na memória.

225
00:16:39,810 --> 00:16:42,950
Você pode especificar o armazenamento de arquivos ou o armazenamento Mongo para

226
00:16:42,950 --> 00:16:46,000
armazenar essas informações de sessão e assim por diante.

227
00:16:46,000 --> 00:16:51,590
Assim, uma vez que você especificar esta informação para o seu middleware de

228
00:16:51,590 --> 00:16:57,350
sessão expressa, em seguida, a sessão será adequadamente configurada e assim será rastreada no lado do servidor.

229
00:16:57,350 --> 00:17:02,430
Cada solicitação de cliente será então mapeada para as informações da sessão no

230
00:17:02,430 --> 00:17:08,260
lado do servidor quando a solicitação do cliente é analisada pelo middleware de sessão expressa.

231
00:17:08,260 --> 00:17:12,960
E o req.session será adicionado ao objeto de solicitação.

232
00:17:14,150 --> 00:17:19,010
Com esta compreensão de cookies e sessões expressas,

233
00:17:19,010 --> 00:17:24,050
vamos passar para o exercício onde vai olhar para como vamos fazer uso de cookies primeiro.

234
00:17:24,050 --> 00:17:29,360
E então vamos ver como vamos fazer uso de sessões Express Express

235
00:17:29,360 --> 00:17:35,121
dentro do nosso aplicativo Express REST API que temos trabalhado até agora.

236
00:17:35,121 --> 00:17:40,109
[ MUSIC]