[MÚSICA]
En este ejercicio, analizaremos el uso de las sesiones Express.
Configuraremos el middleware de sesiones expresas, y
luego el middleware del almacén de archivos de sesiones expresas.
Y luego configura nuestra aplicación para usar sesiones exprés en lugar de
utilizar sus cookies de asignación como hicimos en el ejercicio anterior.
También veremos cómo se rastreó la información de la sesión en sí en el
lado del servidor.
Para empezar con este ejercicio,
vaya a la carpeta ConfusionServer en su terminal o
ventana de comandos y, a continuación, vamos a instalar Express-session.
Entonces, para hacer eso, escriba npm install express-session
y luego almacén de archivos de sesión.
Porque vamos a utilizar el almacén de archivos para mantener la información de la sesión.
Por lo tanto, instalará la sesión de la tienda aquí módulo para el propósito.
Una vez que ambos están instalados, y como puede ver en este momento,
estoy usando la sesión express-session 1.15.6 y la
sesión de almacenamiento de archivos 1.2.0 en este curso.
Una vez instalados ambos, vamos a nuestra aplicación ConfusionServer.
Ir a la aplicación ConfusionServer,
aquí arriba, vamos a importar ahora la sesión exprés.
Así que diremos, var sesión requiere, sesión express.
Y var FileStore = requiere
sesión -archivo-store.
Y esto toma la sesión como sus parámetros,
esta sesión se refiere a esto que acabamos de importar aquí.
Ahora, una vez que hagamos esto, bajamos a nuestro código aquí,
y luego veremos en lugar del CookieParser.
Así que voy a comentar el CookieParser desde allí, y
luego ahora voy a usar, Sesión aquí.
Y luego, configuraremos la sesión con
las diversas opciones, diremos nombre,
solo estoy usando un ID de sesión aleatorio aquí, y luego, Secret.
Usaré el secreto que usé antes.
Así que déjame copiar esa cadena de ahí.
Y luego, Guardar,
Activado, No inicializado guardar falso.
Resave, falso.
Las tesis no serán muy diferentes a la simple aplicación que estamos escribiendo en
este momento.
Y luego diremos que la tienda es nueva,
FileStore que declaramos antes.
Eso es todo.
Ahora mi middleware de sesión está todo configurado para hacer uso de nuestra aplicación.
Ahora, como mencioné, este middleware de sesión agregará este
req.session al mensaje de solicitud,
así que voy a hacer un registro de consola de req.session solo para ver lo que contiene.
Y luego, abajo aquí, en lugar de verificar el usuario de cookies de asignación de req,
voy a buscar req.session.user aquí.
Y luego, veremos el encabezado de autorización, y así sucesivamente.
Toda esta parte seguirá siendo exactamente la misma que antes.
Pero aquí, en lugar de configurar la cookie, lo que configuraré aquí es,
en lugar de configurar la cookie, así que en lugar de usar res.cookie aquí,
diremos, req.session.user = a 'admin'.
Así que vamos a configurar la propiedad del usuario en
la sesión de req-admin aquí, y luego proceder a partir de este punto.
Entonces, el resto del código aquí seguirá siendo exactamente el mismo que antes,
no habrá ningún cambio aquí.
Y acepte justo ahí, vamos a estar verificando req.session,
usuario, ¿es admin o no?
Así que ese es el cheque que vamos a hacer aquí.
Eso es todo.
Estos son los cambios que tenemos que hacer
en nuestra aplicación para utilizar las sesiones en lugar de las cookies firmadas.
Vamos a guardar los cambios y luego mirar esta versión de nuestro servidor express.
Volviendo a nuestra terminal o ventana de comandos, reiniciemos nuestro
servidor, si el servidor se ha estado ejecutando, basta con detenerlo y reiniciar el servidor.
Y luego, una vez que el servidor esté en funcionamiento,
iremos al cartero y lo haremos si lo solicita.
Voy al cartero, déjame limpiar todas estas cosas,
despejaremos las cabeceras, despejaremos la autorización.
Y luego iré a las cookies, y
voy a eliminar esta cookie de usuario, porque esa cookie ya no es válida.
Y luego, enviemos una solicitud a los platos locales.
Y luego, como esperamos, vuelve diciendo: No estás autenticado.
Ahora, así que vamos a autenticarnos usando la autenticación básica.
Así que diremos, administrador, Contraseña.
Y luego actualizaremos la solicitud y
luego enviaremos una solicitud GET al mismo punto.
Y luego, obtenemos la respuesta de nuestro lado del servidor.
Ahora, tenga en cuenta que en los encabezados, ahora verá de nuevo que dijo cookie aquí.
Ahora esto ha sido causado por la tienda de sesiones aquí.
Y, cuando miras las cookies, ves que ha habido otra cookie que
está configurada aquí y el nombre es session-id.
Así que este es el nombre que le damos a nuestra sesión allí, así
que ese es el ID de sesión que estamos usando aquí.
Y si hace clic en las cookies, notará que session-id está justo allí.
Y luego, estos son los detalles de lo que hay dentro de esa galleta allí.
Así que puede notar un montón de información y la fecha de caducidad de
la cookie, y así sucesivamente.
Esto puede no tener mucho sentido para usted en este momento, pero existe allí.
Ahora, déjame despejar la autorización.
Y también del encabezado, permítanme eliminar este encabezado de autorización.
Y luego volveré a enviar la solicitud, y
notará que esta solicitud se atenderá correctamente incluso ahora.
Debido al hecho de que esta cookie existe,
y esta cookie se incluirá en la solicitud saliente.
Y el lado del servidor asignará esto a la sesión apropiada.
Y así, el servidor se da cuenta de que se trata de un usuario autorizado y
enviará la respuesta.
Ahora yendo a nuestra consola del servidor en el terminal o la ventana de comandos,
usted nota que la, Información que se imprime en el lado del servidor.
Mira, recuerdas que estaba registrando la sesión de req.session aquí.
Así que aquí es donde el req.session contiene inicialmente.
Y luego dice, GET platos para uno no válido.
En este punto, está enviando el encabezado de autorización correspondiente allí.
Y así su solicitud de éxito correctamente.
Pero la nota, lo que se está poniendo en la sesión en la próxima solicitud.
Recuerde que eliminé el encabezado de autorizaciones y luego envié la solicitud.
Pero tenga en cuenta lo que contiene la rec.session aquí.
En particular, tenga en cuenta
que, ahora contiene este campo de usuario con el administrador en su lugar allí.
Así que esto es lo que el servidor recibe de nuestro lado cliente en la cookie.
Y la cookie en sí contiene toda esta información aquí.
Por lo tanto, el servidor reconoce que se trata de un usuario válido y,
a continuación, envía los resultados desde ese lado del servidor.
Ir al cartero,
volvamos a echar un vistazo a los detalles de lo que hay dentro de la galleta.
Así que cuando abre la cookie aquí,
vuelve a ver todos los detalles de la información dentro de la cookie aquí.
Si mira a su editor, ahora verá que en su editor,
hay una nueva carpeta aquí llamada sesiones que se ha creado aquí.
Esto se debe a que estábamos usando el almacén de archivos para
hacer un seguimiento de todas nuestras sesiones.
Esa es una de las razones por las que uso el almacén de archivos para poder mostrarle lo que
está almacenado en un archivo de sesión en mi lado del servidor.
Así que si abres este archivo aquí con el nombre largo allí,
verás dentro de allí, la información de la sesión se almacena aquí.
Por lo tanto, si examina esta información de sesión, tenga en cuenta en particular,
este campo inicial que está en el lado del servidor.
Así que aquí es donde su servidor está rastreando toda esta información en el lado del servidor.
Ahora esta cookie en sí es reconocida por el servidor,
ya que el cliente incluye esta cookie en la solicitud entrante.
Ahora puede entrar en el almacén de sesiones y luego recuperar la información,
y luego cargar esto en el req.sessions.
Y por lo tanto, el req.session contiene esta información particular allí
que mi servidor está usando para verificar cruzada para asegurarse de que
mi cliente es un cliente autorizado.
Eso es todo acerca de las sesiones.
Con esto, completamos este ejercicio.
En este ejercicio,
hemos visto cómo podemos configurar nuestra aplicación expresa para usar sesiones.
Y también vimos cómo estamos usando el almacén de archivos para hacer un seguimiento de nuestras sesiones.
Este es un buen momento para que usted haga un comentario GET con
las sesiones express de mensajes primera parte.
[ MÚSICA]