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

2
00:00:04,514 --> 00:00:09,803
En este ejercicio, analizaremos el uso de las sesiones Express.

3
00:00:09,803 --> 00:00:13,115
Configuraremos el middleware de sesiones expresas, y

4
00:00:13,115 --> 00:00:16,356
luego el middleware del almacén de archivos de sesiones expresas.

5
00:00:16,356 --> 00:00:21,315
Y luego configura nuestra aplicación para usar sesiones exprés en lugar de

6
00:00:21,315 --> 00:00:25,885
utilizar sus cookies de asignación como hicimos en el ejercicio anterior.

7
00:00:25,885 --> 00:00:30,870
También veremos cómo se rastreó la información de la sesión en sí en el

8
00:00:30,870 --> 00:00:32,145
lado del servidor.

9
00:00:33,750 --> 00:00:36,556
Para empezar con este ejercicio,

10
00:00:36,556 --> 00:00:40,672
vaya a la carpeta ConfusionServer en su terminal o

11
00:00:40,672 --> 00:00:45,643
ventana de comandos y, a continuación, vamos a instalar Express-session.

12
00:00:45,643 --> 00:00:52,672
Entonces, para hacer eso, escriba npm install express-session

13
00:00:52,672 --> 00:00:56,678
y luego almacén de archivos de sesión.

14
00:00:58,792 --> 00:01:03,320
Porque vamos a utilizar el almacén de archivos para mantener la información de la sesión.

15
00:01:03,320 --> 00:01:08,623
Por lo tanto, instalará la sesión de la tienda aquí módulo para el propósito.

16
00:01:08,623 --> 00:01:13,399
Una vez que ambos están instalados, y como puede ver en este momento,

17
00:01:13,399 --> 00:01:17,008
estoy usando la sesión express-session 1.15.6 y la

18
00:01:17,008 --> 00:01:21,430
sesión de almacenamiento de archivos 1.2.0 en este curso.

19
00:01:21,430 --> 00:01:26,397
Una vez instalados ambos, vamos a nuestra aplicación ConfusionServer.

20
00:01:27,510 --> 00:01:31,868
Ir a la aplicación ConfusionServer,

21
00:01:31,868 --> 00:01:36,921
aquí arriba, vamos a importar ahora la sesión exprés.

22
00:01:36,921 --> 00:01:44,414
Así que diremos, var sesión requiere, sesión express.

23
00:01:46,639 --> 00:01:53,560
Y var FileStore = requiere

24
00:01:53,560 --> 00:01:59,908
sesión -archivo-store.

25
00:02:02,812 --> 00:02:07,064
Y esto toma la sesión como sus parámetros,

26
00:02:07,064 --> 00:02:13,830
esta sesión se refiere a esto que acabamos de importar aquí.

27
00:02:13,830 --> 00:02:18,970
Ahora, una vez que hagamos esto, bajamos a nuestro código aquí,

28
00:02:18,970 --> 00:02:22,490
y luego veremos en lugar del CookieParser.

29
00:02:22,490 --> 00:02:26,598
Así que voy a comentar el CookieParser desde allí, y

30
00:02:26,598 --> 00:02:33,401
luego ahora voy a usar, Sesión aquí.

31
00:02:36,481 --> 00:02:41,823
Y luego, configuraremos la sesión con

32
00:02:41,823 --> 00:02:47,175
las diversas opciones, diremos nombre,

33
00:02:50,402 --> 00:02:56,909
solo estoy usando un ID de sesión aleatorio aquí, y luego, Secret.

34
00:02:58,871 --> 00:03:02,880
Usaré el secreto que usé antes.

35
00:03:02,880 --> 00:03:06,493
Así que déjame copiar esa cadena de ahí.

36
00:03:06,493 --> 00:03:11,981
Y luego, Guardar,

37
00:03:13,422 --> 00:03:21,119
Activado, No inicializado guardar falso.

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

39
00:03:28,390 --> 00:03:32,198
Las tesis no serán muy diferentes a la simple aplicación que estamos escribiendo en

40
00:03:32,198 --> 00:03:33,330
este momento.

41
00:03:33,330 --> 00:03:37,604
Y luego diremos que la tienda es nueva,

42
00:03:39,643 --> 00:03:42,497
FileStore que declaramos antes.

43
00:03:45,441 --> 00:03:46,330
Eso es todo.

44
00:03:46,330 --> 00:03:53,330
Ahora mi middleware de sesión está todo configurado para hacer uso de nuestra aplicación.

45
00:03:53,330 --> 00:03:58,295
Ahora, como mencioné, este middleware de sesión agregará este

46
00:03:58,295 --> 00:04:03,560
req.session al mensaje de solicitud,

47
00:04:03,560 --> 00:04:08,630
así que voy a hacer un registro de consola de req.session solo para ver lo que contiene.

48
00:04:08,630 --> 00:04:13,910
Y luego, abajo aquí, en lugar de verificar el usuario de cookies de asignación de req,

49
00:04:13,910 --> 00:04:18,370
voy a buscar req.session.user aquí.

50
00:04:19,390 --> 00:04:23,620
Y luego, veremos el encabezado de autorización, y así sucesivamente.

51
00:04:23,620 --> 00:04:27,460
Toda esta parte seguirá siendo exactamente la misma que antes.

52
00:04:27,460 --> 00:04:32,760
Pero aquí, en lugar de configurar la cookie, lo que configuraré aquí es,

53
00:04:32,760 --> 00:04:38,052
en lugar de configurar la cookie, así que en lugar de usar res.cookie aquí,

54
00:04:38,052 --> 00:04:45,470
diremos, req.session.user = a 'admin'.

55
00:04:45,470 --> 00:04:50,030
Así que vamos a configurar la propiedad del usuario en

56
00:04:50,030 --> 00:04:55,510
la sesión de req-admin aquí, y luego proceder a partir de este punto.

57
00:04:55,510 --> 00:04:59,090
Entonces, el resto del código aquí seguirá siendo exactamente el mismo que antes,

58
00:04:59,090 --> 00:05:01,030
no habrá ningún cambio aquí.

59
00:05:01,030 --> 00:05:06,240
Y acepte justo ahí, vamos a estar verificando req.session,

60
00:05:09,462 --> 00:05:11,770
usuario, ¿es admin o no?

61
00:05:11,770 --> 00:05:14,340
Así que ese es el cheque que vamos a hacer aquí.

62
00:05:14,340 --> 00:05:15,360
Eso es todo.

63
00:05:15,360 --> 00:05:18,820
Estos son los cambios que tenemos que hacer

64
00:05:18,820 --> 00:05:23,850
en nuestra aplicación para utilizar las sesiones en lugar de las cookies firmadas.

65
00:05:23,850 --> 00:05:30,040
Vamos a guardar los cambios y luego mirar esta versión de nuestro servidor express.

66
00:05:30,040 --> 00:05:34,480
Volviendo a nuestra terminal o ventana de comandos, reiniciemos nuestro

67
00:05:35,600 --> 00:05:39,860
servidor, si el servidor se ha estado ejecutando, basta con detenerlo y reiniciar el servidor.

68
00:05:40,870 --> 00:05:42,730
Y luego, una vez que el servidor esté en funcionamiento,

69
00:05:42,730 --> 00:05:48,600
iremos al cartero y lo haremos si lo solicita.

70
00:05:48,600 --> 00:05:56,350
Voy al cartero, déjame limpiar todas estas cosas,

71
00:05:56,350 --> 00:06:01,970
despejaremos las cabeceras, despejaremos la autorización.

72
00:06:01,970 --> 00:06:03,630
Y luego iré a las cookies, y

73
00:06:03,630 --> 00:06:08,540
voy a eliminar esta cookie de usuario, porque esa cookie ya no es válida.

74
00:06:08,540 --> 00:06:16,030
Y luego, enviemos una solicitud a los platos locales.

75
00:06:16,030 --> 00:06:21,160
Y luego, como esperamos, vuelve diciendo: No estás autenticado.

76
00:06:21,160 --> 00:06:24,520
Ahora, así que vamos a autenticarnos usando la autenticación básica.

77
00:06:24,520 --> 00:06:29,483
Así que diremos, administrador, Contraseña.

78
00:06:29,483 --> 00:06:32,223
Y luego actualizaremos la solicitud y

79
00:06:32,223 --> 00:06:35,740
luego enviaremos una solicitud GET al mismo punto.

80
00:06:35,740 --> 00:06:39,400
Y luego, obtenemos la respuesta de nuestro lado del servidor.

81
00:06:39,400 --> 00:06:46,000
Ahora, tenga en cuenta que en los encabezados, ahora verá de nuevo que dijo cookie aquí.

82
00:06:46,000 --> 00:06:52,500
Ahora esto ha sido causado por la tienda de sesiones aquí.

83
00:06:52,500 --> 00:06:57,492
Y, cuando miras las cookies, ves que ha habido otra cookie que

84
00:06:57,492 --> 00:07:02,570
está configurada aquí y el nombre es session-id.

85
00:07:02,570 --> 00:07:06,398
Así que este es el nombre que le damos a nuestra sesión allí, así

86
00:07:06,398 --> 00:07:09,744
que ese es el ID de sesión que estamos usando aquí.

87
00:07:11,172 --> 00:07:16,880
Y si hace clic en las cookies, notará que session-id está justo allí.

88
00:07:16,880 --> 00:07:22,102
Y luego, estos son los detalles de lo que hay dentro de esa galleta allí.

89
00:07:22,102 --> 00:07:26,816
Así que puede notar un montón de información y la fecha de caducidad de

90
00:07:26,816 --> 00:07:28,940
la cookie, y así sucesivamente.

91
00:07:28,940 --> 00:07:33,703
Esto puede no tener mucho sentido para usted en este momento, pero existe allí.

92
00:07:33,703 --> 00:07:38,110
Ahora, déjame despejar la autorización.

93
00:07:38,110 --> 00:07:42,140
Y también del encabezado, permítanme eliminar este encabezado de autorización.

94
00:07:42,140 --> 00:07:45,312
Y luego volveré a enviar la solicitud, y

95
00:07:45,312 --> 00:07:51,094
notará que esta solicitud se atenderá correctamente incluso ahora.

96
00:07:51,094 --> 00:07:54,061
Debido al hecho de que esta cookie existe,

97
00:07:54,061 --> 00:07:58,250
y esta cookie se incluirá en la solicitud saliente.

98
00:07:58,250 --> 00:08:01,400
Y el lado del servidor asignará esto a la sesión apropiada.

99
00:08:02,922 --> 00:08:07,375
Y así, el servidor se da cuenta de que se trata de un usuario autorizado y

100
00:08:07,375 --> 00:08:10,042
enviará la respuesta.

101
00:08:10,042 --> 00:08:17,004
Ahora yendo a nuestra consola del servidor en el terminal o la ventana de comandos,

102
00:08:17,004 --> 00:08:23,080
usted nota que la, Información que se imprime en el lado del servidor.

103
00:08:23,080 --> 00:08:27,460
Mira, recuerdas que estaba registrando la sesión de req.session aquí.

104
00:08:27,460 --> 00:08:30,780
Así que aquí es donde el req.session contiene inicialmente.

105
00:08:30,780 --> 00:08:36,940
Y luego dice, GET platos para uno no válido.

106
00:08:36,940 --> 00:08:43,620
En este punto, está enviando el encabezado de autorización correspondiente allí.

107
00:08:43,620 --> 00:08:48,365
Y así su solicitud de éxito correctamente.

108
00:08:48,365 --> 00:08:53,080
Pero la nota, lo que se está poniendo en la sesión en la próxima solicitud.

109
00:08:53,080 --> 00:08:58,080
Recuerde que eliminé el encabezado de autorizaciones y luego envié la solicitud.

110
00:08:58,080 --> 00:09:00,960
Pero tenga en cuenta lo que contiene la rec.session aquí.

111
00:09:00,960 --> 00:09:03,088
En particular, tenga en cuenta

112
00:09:03,088 --> 00:09:08,129
que, ahora contiene este campo de usuario con el administrador en su lugar allí.

113
00:09:09,280 --> 00:09:15,120
Así que esto es lo que el servidor recibe de nuestro lado cliente en la cookie.

114
00:09:15,120 --> 00:09:18,690
Y la cookie en sí contiene toda esta información aquí.

115
00:09:18,690 --> 00:09:22,987
Por lo tanto, el servidor reconoce que se trata de un usuario válido y,

116
00:09:22,987 --> 00:09:27,249
a continuación, envía los resultados desde ese lado del servidor.

117
00:09:27,249 --> 00:09:28,337
Ir al cartero,

118
00:09:28,337 --> 00:09:32,220
volvamos a echar un vistazo a los detalles de lo que hay dentro de la galleta.

119
00:09:32,220 --> 00:09:34,137
Así que cuando abre la cookie aquí,

120
00:09:34,137 --> 00:09:39,103
vuelve a ver todos los detalles de la información dentro de la cookie aquí.

121
00:09:39,103 --> 00:09:43,026
Si mira a su editor, ahora verá que en su editor,

122
00:09:43,026 --> 00:09:48,140
hay una nueva carpeta aquí llamada sesiones que se ha creado aquí.

123
00:09:48,140 --> 00:09:52,320
Esto se debe a que estábamos usando el almacén de archivos para

124
00:09:52,320 --> 00:09:54,130
hacer un seguimiento de todas nuestras sesiones.

125
00:09:54,130 --> 00:09:58,180
Esa es una de las razones por las que uso el almacén de archivos para poder mostrarle lo que

126
00:09:58,180 --> 00:10:03,320
está almacenado en un archivo de sesión en mi lado del servidor.

127
00:10:03,320 --> 00:10:08,430
Así que si abres este archivo aquí con el nombre largo allí,

128
00:10:08,430 --> 00:10:13,890
verás dentro de allí, la información de la sesión se almacena aquí.

129
00:10:13,890 --> 00:10:19,460
Por lo tanto, si examina esta información de sesión, tenga en cuenta en particular,

130
00:10:19,460 --> 00:10:22,880
este campo inicial que está en el lado del servidor.

131
00:10:22,880 --> 00:10:27,930
Así que aquí es donde su servidor está rastreando toda esta información en el lado del servidor.

132
00:10:27,930 --> 00:10:32,650
Ahora esta cookie en sí es reconocida por el servidor,

133
00:10:32,650 --> 00:10:36,630
ya que el cliente incluye esta cookie en la solicitud entrante.

134
00:10:36,630 --> 00:10:41,330
Ahora puede entrar en el almacén de sesiones y luego recuperar la información,

135
00:10:41,330 --> 00:10:44,870
y luego cargar esto en el req.sessions.

136
00:10:44,870 --> 00:10:49,800
Y por lo tanto, el req.session contiene esta información particular allí

137
00:10:49,800 --> 00:10:54,810
que mi servidor está usando para verificar cruzada para asegurarse de que

138
00:10:54,810 --> 00:10:57,710
mi cliente es un cliente autorizado.

139
00:10:57,710 --> 00:11:00,010
Eso es todo acerca de las sesiones.

140
00:11:00,010 --> 00:11:03,230
Con esto, completamos este ejercicio.

141
00:11:03,230 --> 00:11:04,100
En este ejercicio,

142
00:11:04,100 --> 00:11:08,630
hemos visto cómo podemos configurar nuestra aplicación expresa para usar sesiones.

143
00:11:08,630 --> 00:11:13,751
Y también vimos cómo estamos usando el almacén de archivos para hacer un seguimiento de nuestras sesiones.

144
00:11:13,751 --> 00:11:18,360
Este es un buen momento para que usted haga un comentario GET con

145
00:11:18,360 --> 00:11:22,291
las sesiones express de mensajes primera parte.

146
00:11:22,291 --> 00:11:25,521
[ MÚSICA]