Bienvenido de nuevo a esto, sabes que nos estamos enfocando en la autentificación de usuarios, donde comienzas para abreviar.
En mi experiencia, los autores escriben algo que los estudiantes realmente están emocionados de aprender porque sienten
que hace que sus aplicaciones sean legítimas y las hace sentir reales y utilizables.
Si puedes registrarte, puedes iniciar sesión y puedes desconectarte.
Entonces eso hace que sea divertido y emocionante enseñar.
Pero la verdad es que también es algo muy difícil de enseñar porque la autenticación es bastante complicada.
Hay muchas piezas móviles que tienen que encajar juntas de la manera correcta para que funcione.
Una gran cantidad de grandes conceptos.
Y, sinceramente, es un montón de código para que funcione.
Afortunadamente para nosotros, existen muchas herramientas geniales que nos ayudan a implementar la autenticación de forma
rápida y segura.
Ahora explica lo que quiero decir con seguridad más adelante en este video.
Antes de sumergirme en la explicación de las herramientas y el flujo de trabajo de la autenticación, quiero dedicar algo de
tiempo a darte una idea de mi proceso de pensamiento detrás de la enseñanza del arte.
Es uno de esos temas en los que he pasado mucho tiempo enseñándolo, pero también
enseñándolo de múltiples maneras.
Cuando enseñas autenticación de usuario, tienes que elegir una opción.
Y para mí, esa elección iba a enseñar la autenticación desde cero, sin utilizar ninguna herramienta en absoluto y
asegurándome de que los estudiantes se enfocaran en los pormenores de cada concepto importante y podría tomar cinco
o seis horas.
Puede ser que haya muchas lecciones, muchos videos.
Podríamos terminar perdiendo algunos estudiantes, pero nos aseguraremos de que todos entiendan cómo
funciona la autenticación.
todo se reduce a esta cuestión de si es más importante que los estudiantes comprendan cómo funcionan las cosas. trabajo.
O utilizamos algunas de las herramientas existentes, herramientas que nos ayudan a agregar la autenticación de usuario de forma
más simple y con menos líneas de código y
¿Es esa la prioridad o es una prioridad hacer que los estudiantes hagan las cosas rápido?
Entonces, se trata de comprensión conceptual y profundidad de conocimiento o se trata de hacer cosas.
Obviamente, en un mundo ideal, nos gustaría ambos.
Queremos que todos comprendan los pormenores de todo lo que enseñamos y queremos que los
estudiantes tengan toneladas de conocimiento práctico y puedan hacer las cosas rápidamente.
comprensión profunda de cada concepto y cómo funcionaba todo y encajaba antes incluso de implementar algo.
En el pasado, probé ambos enfoques de la enseñanza, comencé tratando de darles a los
estudiantes una
Y luego también hice lo opuesto, donde solo intentamos hacer que algo funcione primero y
luego volvemos y hablamos sobre cómo funciona.
Y he pasado aún más tiempo pensando en cómo queremos abordarlo en este curso de video.
He grabado esta conferencia muchas veces, he reelaborado y reescrito todo el código.
Es uno que quiero corregir porque es muy importante y muchos
estudiantes lo esperan.
Entonces, lo que he decidido hacer es tener dos unidades en esta primera unidad de autenticación que
está viendo actualmente.
Comenzaré por darle una visión general muy rápida.
No del todo en profundidad, sino solo una descripción general rápida de cómo funciona la autenticación.
Y luego vamos a utilizar estas herramientas de las que hablé, que hacen nuestras vidas más fáciles y hacen que el
código sea más corto.
Vamos a usarlos de inmediato.
Y el foco está en hacer algo que tenga una ocasión y luego una de las unidades opcionales.
Al final de este curso va a haber una profunda inmersión en la autenticación, donde implementaremos nuestra propia autenticación
de usuario desde cero, donde no usaremos ninguna de las herramientas y le
mostraré ahora el objetivo. es tener lo mejor de ambos mundos comenzando solo por hacer algo.
Y no voy a pasar por alto todos los conceptos, pero no voy a pasar una hora más que
hablar sobre cómo funcionan las cosas.
Muy bien, ahora que hemos sacado eso del camino de esta gran discusión ideológica aquí, ahora quiero
presentar las herramientas que vamos a utilizar, así que vamos a usar algo llamado pasaporte.
Sí.
Y no solo lo estamos usando porque es algo que hará que nuestra vida sea más fácil para que nuestro código sea más
corto hace que esta implementación sea más rápida.
Pero también es algo que se usa mucho en el mundo real.
Montones y montones de aplicaciones usan el pasaporte J. S. para implementar su autenticación.
Déjame mostrarte la página de inicio aquí.
Esto es tartamudear a Passport Chaiya y ver el pequeño eslogan dice que la autenticación simple y no
intrusiva para ningún pasaporte estadounidense es un middleware de autenticación para un nodo extremadamente flexible y que el pasaporte
modular se puede colocar discretamente en cualquier aplicación web basada en expresiones.
Un completo conjunto de estrategias respalda la autenticación usando un nombre de usuario y contraseña Facebook
Twitter y más.
Y luego puedes ver aquí en realidad hay más de 300 estrategias diferentes.
Entonces, la estrategia se refiere a diferentes tipos de autenticación, diferentes formas de autenticación de personas, ya sea
haciendo que el usuario escriba un correo electrónico y una contraseña de autenticación tradicional o si es a través
de un servicio como Facebook o Twitter que probablemente haya visto antes en un sitio o aplicación donde le
pide que inicie sesión a través de Google o Twitter o Facebook.
buscar a través de ellos para que haya cosas como Fitbit que puede iniciar sesión a través de Fitbit.
Y hay muchas más cosas que podemos ver en realidad y podemos
Tenemos Spotify Reddit tumblr Google plus.
Pero, con mucho, los más populares serán Facebook, Twitter y Google.
Y luego también lo que se conoce como autenticación local, que es con lo que comenzaremos aquí que es
solo nombre de usuario o correo electrónico y contraseña.
DE ACUERDO.
Entonces, esa es la herramienta básica con la que vamos a usar el pasaporte.
Sí, será una gran ayuda en nuestra implementación de usuario.
Pero también vamos a usar otro paquete llamado Passport local que tengo aquí.
Y este es uno de esos esquemas o estrategias para la autenticación.
Entonces, hay un pasaporte Facebook, un pasaporte, un pasaporte de Twitter, un pasaporte local de Google y más de 300 estrategias diferentes, el pasaporte
local es para el nombre de usuario y la contraseña, que es lo que haremos para comenzar.
Pero lo realmente bueno del pasaporte es que más adelante en este curso podemos agregar Facebook o Twitter y
también podemos mantenerlo localmente y podemos tener tres 5 10 formas diferentes de iniciar sesión en nuestra aplicación.
Por lo general, desea mantenerlo bastante limitado, pero podemos tener todos los que queramos utilizando Passport
y el pasaporte.
Se trata de proporcionar este punto de entrada en todo tipo de destinos.
Está bien y hay un paquete más que vamos a usar que se llama pasaporte mangosta local.
Así que tengo el centro de obtención abierto para eso y el pasaporte local de Mongoose es otro paquete que
solo nos ayudará a implementar la autenticación con el pasaporte y está especialmente diseñado para trabajar con mangostas.
Entonces no tenemos que usarlo
Podríamos salirnos con solo usar Passport local, el pasaporte local. Mongoose nos ayudará a
hacerlo aún más rápido y nos resultará más sencillo.
en la sección opcional de cero desde cero crearemos arte desde cero sin ninguna de estas herramientas.
Y luego, por supuesto,
DE ACUERDO.
Entonces esas son las tres herramientas principales.
Ahora les voy a dar una demostración rápida de lo que vamos a hacer por adelantado, lo cual les
advertiré que no es muy emocionante visualmente.
No lo puse en absoluto.
Pero le agregaremos el campamento de Seraph to yo y lo estaremos estilizando.
Pero por ahora esta es una implementación barebones que quiero mostrarte.
Así que comenzamos en esta página de inicio y tenemos tres botones.
Inicie sesión regístrese y cierre sesión, y hay un secreto de página secreta que solo puede ver si ha iniciado
sesión.
Entonces, si trato de ir allí ahora, no estoy conectado y me lleva a recortar un registro y me muestra el formulario
de inicio de sesión, así que me registraré y les mostraré que podemos ir a la página secreta
Así que el nombre de usuario voy a hacer oxidado cuatro o cinco seis y la contraseña será solo una contraseña y luego me registraré.
Y me lleva a cortar el secreto que ahora puedo visitar.
una foto horriblemente vergonzosa de mi celda de séptimo u octavo grado cuando obtuve mi primera computadora portátil.
Y en la página secreta tengo
Simplemente terrible.
Así que eso es un secreto secreto por una razón obviamente.
Y ahora, si voy a cerrar la sesión, ya no puedo ir a la barra secreta, me redirige para cortar el inicio de sesión y también
puedo iniciar sesión aquí.
Así que usaré Rusti cuatro cinco seis con la contraseña correcta, que es solo contraseña, y me inscribo o
inicio sesión, y me lleva de vuelta a ese secreto y puedo ir a la página de inicio y volver a cortar
el secreto porque me quedo conectado.
Entonces, la forma en que esto funciona el concepto clave que todo gira alrededor es algo llamado sesiones.
Daré un resumen rápido de las sesiones.
Básicamente, se supone que GTP es un protocolo sin estado, lo que significa que cuando envía solicitudes esas
solicitudes son una vez y no contienen información sobre su historial o las solicitudes anteriores que
ha realizado.
No están vinculados entre sí.
Una solicitud no tiene un estado, es solo una transacción única que dificultaría la
implementación del usuario porque quiero poder seguir conectado.
Quiero que el servidor sepa que Rustie 4 o 5 6 todavía está conectado y la forma en que lo hacemos
es mediante el uso de sesiones y qué sesiones harán.
Son solo una forma de hacer que HTP no sea apátrida.
Hay una manera de proporcionar estado, por lo que cuando cada solicitud que hago en esta aplicación cuando estoy conectado
cuando alguien inicia sesión, hay un poco de información sobre ese usuario que se guarda en esa solicitud que se envía
al servidor y es en realidad no es la contraseña de usuario de todo el nombre de usuario.
Pero es un poco de información y está codificada y básicamente está hecha para ser un secreto.
código o no cifrado, y usará esa información para decir si alguien está conectado o no.
Y luego llega a mi servidor y luego el pasaporte lo verá y se traducirá en algo que
entiende básicamente descifrar el
Entonces, esto tendrá más sentido una vez que agreguemos la implementación.
Pero el concepto clave es que las sesiones nos permiten tener estado en nuestras solicitudes HTP.
Entonces puedo enviar datos.
Puedo volver a la página de inicio, todavía sé que estoy conectado como Rustie 4 5 6
y puedo volver a secreto sin ningún problema.
estoy enviando una pequeña porción de información que dice que esta es Rustie cuatro cinco seis que ha iniciado sesión.
Y eso es porque cada vez que hago una solicitud
Y luego, tan pronto como cierro la sesión, esa información se ha ido.
Entonces, cuando voy a recortar el secreto, tengo una lógica que dice que si no hay ningún usuario en la sesión, entonces no
dejes que esa persona vaya a ese secreto.
Redirigirlos para reducir el inicio de sesión.
DE ACUERDO.
Así que repasaremos todo eso con más detalle en el siguiente video cuando
realmente creamos esta sencilla aplicación e implementemos sesiones para obtener ayuda con nuestras sesiones.
Vamos a usar un paquete llamado sesión Express que también se verá en el siguiente video.
OK, eso es todo lo que quiero presentar por ahora.
Así que vamos a utilizar Passport J como el esquema local junto con el módulo o paquete de mongoose local de pasaporte que
nos ayudará a implementar la autenticación de usuario de forma bastante rápida y relativamente fácil y lo pondremos en
marcha en el próximo video de una aplicación simple
Y una vez que tengamos esto funcionando, volveremos al campamento e implementaremos la autenticación del usuario allí.
Está bien, lo veré en el siguiente video