1
00:00:00,420 --> 00:00:06,810
Bienvenido de nuevo a esta lección, retomaremos donde lo dejamos con el código de autenticación junto con

2
00:00:06,810 --> 00:00:07,740
el código solo.

3
00:00:07,960 --> 00:00:09,000
Nunca codificas solo.

4
00:00:09,060 --> 00:00:10,000
Me tienes aquí.

5
00:00:10,230 --> 00:00:12,520
Así que codifique a lo largo de la parte 3.

6
00:00:12,690 --> 00:00:15,040
Ahora llegamos a la carne de la autenticación.

7
00:00:15,090 --> 00:00:20,430
Comenzaremos agregando estas rutas de registro de rutas de registro y el formulario de registro y asegurándonos

8
00:00:20,430 --> 00:00:24,440
de que al final de este video podamos inscribirnos en nuestra aplicación.

9
00:00:24,480 --> 00:00:25,740
No podremos cerrar la sesión.

10
00:00:25,890 --> 00:00:28,400
No podremos iniciar sesión, pero podremos registrarnos.

11
00:00:28,740 --> 00:00:29,490
DE ACUERDO.

12
00:00:30,000 --> 00:00:31,160
Entonces empecemos.

13
00:00:31,170 --> 00:00:34,480
Lo primero que tenemos que discutir son las rutas que debemos agregar.

14
00:00:34,530 --> 00:00:39,060
Y antes de hacerlo voy a agregar un pequeño separador aquí porque tenemos

15
00:00:39,060 --> 00:00:46,250
un montón de contenido en la parte superior que solo dice rutas, lo haré con un poco de signos iguales.

16
00:00:46,500 --> 00:00:49,790
Solo para dejar en claro que todas las rutas van por debajo de esta línea.

17
00:00:49,800 --> 00:00:50,560
DE ACUERDO.

18
00:00:50,910 --> 00:00:54,620
Entonces tenemos nuestra barra oblicua y tenemos la ruta secreta.

19
00:00:55,050 --> 00:01:00,630
Ahora abajo agreguemos nuestra Auth. rutas para revisar las rutas que necesitamos.

20
00:01:00,780 --> 00:01:05,940
De hecho, voy a ir a la versión de trabajo de esta impresionante página de inicio y

21
00:01:05,940 --> 00:01:11,700
luego, cuando haces clic en el aviso de registro, la URL es un registro de barra y vemos un formulario.

22
00:01:11,820 --> 00:01:17,640
Así que tenemos un registro de barra de ruta de obtención que nos mostrará el formulario para realmente

23
00:01:17,640 --> 00:01:25,360
registrarse y luego, si inspeccionamos este formulario, verá que está enviando una solicitud de publicación para reducir el registro de registro de barra de registro.

24
00:01:25,980 --> 00:01:28,100
No tenemos que llamarlo registro oblicuo.

25
00:01:28,110 --> 00:01:31,330
Verá cosas como registrarse o registrarse.

26
00:01:31,380 --> 00:01:35,530
Puede ser lo que quieras, pero el registro es bueno para nosotros.

27
00:01:35,670 --> 00:01:36,830
Así que volveremos a nuestro apt.

28
00:01:36,850 --> 00:01:37,390
Sí.

29
00:01:37,500 --> 00:01:43,570
Y tenemos que agregar esas dos rutas y comenzaré con una aplicación, no obtengo un registro de barra.

30
00:01:43,650 --> 00:01:47,550
Y una vez más, el objetivo de esto es solo mostrar la forma.

31
00:01:47,550 --> 00:01:50,530
Entonces muestra el formulario de registro.

32
00:01:51,040 --> 00:01:51,590
DE ACUERDO.

33
00:01:51,720 --> 00:01:59,700
Así que es conveniente obtener un registro barra y luego nuestra devolución de llamada aquí solicitud y respuesta así y

34
00:01:59,700 --> 00:02:07,200
haremos redstart render y llamaremos a su plantilla de registro y luego la siguiente cosa lógica que hacer sería

35
00:02:07,200 --> 00:02:09,400
crear el formulario de registro.

36
00:02:09,540 --> 00:02:13,480
Así que haremos un registro de barras de vistas táctiles.

37
00:02:13,620 --> 00:02:22,740
MI. J. Sí, y luego abriremos el mismo archivo y dentro de

38
00:02:22,740 --> 00:02:28,010
aquí comenzaremos con un simple formulario de inscripción y guardamos, y asegurémonos de que podamos ver eso.

39
00:02:28,260 --> 00:02:32,660
Entonces, inicie el servidor y luego iremos a nuestra aplicación aquí.

40
00:02:33,180 --> 00:02:35,330
Regrese a la ruta raíz para comenzar.

41
00:02:35,580 --> 00:02:40,800
Y ahora vamos a cortar el registro y obtener el registro para él.

42
00:02:40,800 --> 00:02:41,610
Estupendo.

43
00:02:41,610 --> 00:02:47,930
Ahora agreguemos en un foro y nuestro formulario necesita tener dos entradas una para el nombre de usuario uno para la contraseña.

44
00:02:48,090 --> 00:02:53,070
Comenzaremos por definir un formulario y volveremos y agregaremos el método en acción.

45
00:02:53,100 --> 00:02:54,760
Comenzaremos con una entrada.

46
00:02:55,140 --> 00:03:01,200
Ambos son texto escrito, aunque podemos hacer que el tipo de ingreso de contraseña sea igual a la contraseña, que en realidad

47
00:03:01,200 --> 00:03:02,310
es una mejor idea.

48
00:03:02,310 --> 00:03:12,510
y luego solo lo duplicaré y haré el tipo de entrada porque la contraseña y el marcador de posición serán contraseña y guardar.

49
00:03:13,200 --> 00:03:21,040
Entonces, el tipo de entrada va a marcador de posición de texto igual a nombre de usuario así

50
00:03:21,360 --> 00:03:28,380
Y luego agreguemos un envío y podemos hacer que el tipo de entrada sea igual a submit o.

51
00:03:28,840 --> 00:03:29,280
O.

52
00:03:29,340 --> 00:03:31,200
Prefiero una etiqueta de botón.

53
00:03:31,710 --> 00:03:34,820
Cualquiera de los dos funcionará mientras el botón esté al final del formulario.

54
00:03:34,860 --> 00:03:36,580
Automáticamente enviará el formulario.

55
00:03:36,870 --> 00:03:37,140
DE ACUERDO.

56
00:03:37,140 --> 00:03:42,990
contraseña y podemos comenzar con solo echar un vistazo a esto y vemos nuestro formulario, pero nos faltan dos cosas cruciales.

57
00:03:42,990 --> 00:03:48,300
Así que envíe y luego tenemos nuestro tipo de entrada porque el tipo de entrada de texto va con la

58
00:03:48,300 --> 00:03:53,940
En primer lugar, el formulario no va a ningún lado e incluso si lo envió a algún lugar, no

59
00:03:53,940 --> 00:03:57,360
enviaría ninguno de estos elementos porque no tenemos los atributos de nombre.

60
00:03:57,450 --> 00:04:09,000
Entonces, necesitamos agregar un nombre igual al nombre de usuario y el nombre es igual a la contraseña y guardaremos.

61
00:04:09,000 --> 00:04:14,590
Ahora, si echamos un vistazo a la forma, nada debería parecer diferente, pero ahora está casi configurado.

62
00:04:14,760 --> 00:04:17,410
Ahora necesitamos agregar la información para la etiqueta del formulario.

63
00:04:17,540 --> 00:04:20,380
O tenemos acción y método.

64
00:04:20,400 --> 00:04:24,720
Entonces la acción va a ser también una caja registradora.

65
00:04:24,900 --> 00:04:29,430
Pero vamos a enviarlo como una solicitud posterior y todavía no tenemos esa ruta.

66
00:04:29,640 --> 00:04:34,830
Así que si llegué y llené el formulario ahora mismo si actualizo y llené el formulario, simplemente

67
00:04:34,950 --> 00:04:40,380
se cuelga y luego eventualmente se termina el tiempo porque no tenemos un registro de barras post-road y

68
00:04:40,440 --> 00:04:46,710
esto se puede llamar cualquier cosa por supuesto pero es convencional para nombrarlo lo mismo que el registro get slash ruta.

69
00:04:46,770 --> 00:04:54,750
Así que hagamos lo mismo y esta ruta sería realmente responsable de gestionar el registro de los

70
00:04:54,750 --> 00:05:02,820
usuarios y haremos una solicitud de respuesta de solicitud de función de registro de barra de aplicación.

71
00:05:02,820 --> 00:05:06,000
Y aquí agregaremos toda la lógica para comenzar.

72
00:05:06,000 --> 00:05:07,980
para asegurarnos de que esté bien conectado.

73
00:05:11,000 --> 00:05:14,930
Simplemente haremos un buen descanso y nos registraremos después de la tribulación solo

74
00:05:15,120 --> 00:05:23,000
Y si reiniciamos el servidor y volvemos a actualizar la página, completa algunos datos aleatorios y presiona enviar.

75
00:05:23,060 --> 00:05:25,500
Deberíamos ver post-draft registrado.

76
00:05:25,660 --> 00:05:26,380
Aquí vamos.

77
00:05:26,510 --> 00:05:29,120
Entonces eso significa que nuestro formulario se está enviando al lugar correcto.

78
00:05:29,120 --> 00:05:35,300
Estamos llegando a esto ahora que llegamos a la parte divertida, que es donde realmente manejamos el registro del

79
00:05:35,310 --> 00:05:38,320
usuario sobre 10 nuevas líneas que no has visto.

80
00:05:38,880 --> 00:05:43,550
Así que comenzaré escribiendo la sintaxis y luego haré una pausa y repasare cada línea y lo que hace.

81
00:05:43,620 --> 00:05:48,590
Y lo primero que tenemos que hacer, que es una revisión, es agregar el analizador en el cuerpo

82
00:05:48,590 --> 00:05:51,210
y configurarlo porque estamos tomando datos de un formulario.

83
00:05:51,200 --> 00:05:55,990
Este formulario está enviando datos en el cuerpo y queremos poder solicitar el pedido del cuerpo.

84
00:05:56,020 --> 00:05:59,090
Use su nombre para la contraseña de Quest up Vadi.

85
00:05:59,250 --> 00:06:01,170
En este momento, esos estarán vacíos.

86
00:06:01,520 --> 00:06:12,830
Así que, arriba, solo tenemos que hacer una aplicación que use el cuerpo del tesoro, la URL codificada y luego

87
00:06:12,890 --> 00:06:15,240
agreguemos esa extensión extendida.

88
00:06:15,770 --> 00:06:18,970
Y esa es otra de esas líneas a las que te acostumbras a escribir.

89
00:06:19,190 --> 00:06:23,660
Necesitamos en cualquier momento que vayamos a usar un formulario y publicar datos en una solicitud.

90
00:06:24,020 --> 00:06:25,890
OK, eso está hecho ahora.

91
00:06:26,250 --> 00:06:31,800
Por lo tanto, deberíamos poder obtener el cuerpo de solicitud de ese nombre de usuario y contraseña que contendrá el nombre

92
00:06:31,790 --> 00:06:35,750
de usuario y la contraseña del formulario con el que el usuario está intentando registrarse.

93
00:06:35,750 --> 00:06:39,770
Ahora volvemos a la lógica y voy a escribir algunas líneas que mencioné y luego

94
00:06:39,770 --> 00:06:40,630
las explicaré después.

95
00:06:40,940 --> 00:06:47,970
Entonces, el usuario no se registra y luego, en lugar del registro de puntos del usuario, pasaremos el Nuevo usuario al

96
00:06:47,960 --> 00:06:48,810
Nuevo usuario.

97
00:06:48,900 --> 00:06:56,190
Vamos a pasar el nombre de usuario para pedirle a Oddy ese nombre de usuario, pero no agregamos la contraseña

98
00:06:56,270 --> 00:06:57,560
a este nuevo usuario.

99
00:06:57,620 --> 00:07:05,340
De hecho, vamos a agregarlo después de que creamos la nueva coma de solicitud de contraseña del cuerpo del usuario y luego

100
00:07:05,330 --> 00:07:11,440
vamos a agregar una función de devolución de llamada y luego a un usuario y luego lo abriremos.

101
00:07:12,160 --> 00:07:12,850
DE ACUERDO.

102
00:07:13,230 --> 00:07:15,140
Entonces hablemos de lo que hemos hecho hasta ahora.

103
00:07:15,140 --> 00:07:20,820
Hacemos un nuevo objeto de usuario que no es realmente seguro para la base de datos pero es un usuario nuevo y solo pasamos

104
00:07:20,810 --> 00:07:21,860
el nombre de usuario.

105
00:07:22,310 --> 00:07:26,170
Y la razón por la que hacemos eso es porque en realidad no guardamos la contraseña en la base de datos.

106
00:07:26,190 --> 00:07:27,570
Esa no es realmente una buena idea.

107
00:07:27,920 --> 00:07:29,990
Y le mostraré lo que realmente ahorramos en su lugar.

108
00:07:30,000 --> 00:07:33,510
Una vez que tenemos algo en una base de datos pero no es la contraseña.

109
00:07:33,500 --> 00:07:39,890
Entonces, lo que hacemos es pasar la contraseña como segundo argumento al registro de puntos del usuario y usar su registro de puntos.

110
00:07:40,010 --> 00:07:45,770
Tomaremos este nuevo usuario que tiene un nombre de usuario y luego haremos esa contraseña, lo que básicamente significa que la

111
00:07:45,770 --> 00:07:50,290
convierte en esta enorme cadena de números y letras y la almacena en la base de datos.

112
00:07:50,510 --> 00:07:55,730
Entonces él pasa el objeto de usuario que queremos crear y luego pasamos la contraseña por separado.

113
00:07:56,220 --> 00:08:01,330
Y luego, si todo va bien, devolverá un nuevo usuario que tiene todo dentro de él.

114
00:08:01,400 --> 00:08:05,120
Tiene nombre de usuario y también tiene la contraseña hash.

115
00:08:05,120 --> 00:08:06,220
Entonces, veamos si eso funciona.

116
00:08:06,320 --> 00:08:14,120
Y en lugar de aquí agregaremos nuestro error simple si cometemos un error de registro en

117
00:08:14,120 --> 00:08:22,340
la consola y luego también haremos un punto rojo para volver a representar el formulario así.

118
00:08:22,560 --> 00:08:31,080
Y si no hay un error, entonces tenemos otra línea que hacer, que es Passport dot authenticate local.

119
00:08:31,470 --> 00:08:33,730
Y nuevamente lo explicaré después.

120
00:08:34,150 --> 00:08:42,360
Solicitar la función de respuesta y en lugar de aquí vamos a redirigir a la página secreta.

121
00:08:42,360 --> 00:08:47,720
Entonces, esto ocurrirá una vez que el usuario haya sido creado y no haya un error si hay un error.

122
00:08:47,730 --> 00:08:51,280
Vamos a presentar esa página de registro y aquí es donde tenemos un retorno.

123
00:08:51,290 --> 00:08:52,950
Solo cortocircuitará todo.

124
00:08:53,220 --> 00:08:57,780
Y si no hay un error, vamos a ejecutar la autenticación de pasaporte.

125
00:08:57,890 --> 00:09:03,500
Entonces, esta línea aquí, autentificación de pasaporte, convertirá al usuario en quien se encargará de todo

126
00:09:03,500 --> 00:09:04,410
en la sesión.

127
00:09:04,470 --> 00:09:06,140
Almacenará la información correcta.

128
00:09:06,140 --> 00:09:10,510
Ejecutará el método de usuario serializado que especificamos aquí.

129
00:09:11,000 --> 00:09:14,600
Y luego estamos especificando que queremos usar la estrategia local.

130
00:09:15,090 --> 00:09:20,510
Y en el futuro, si quisiéramos utilizar otra estrategia y la tuviéramos instalada, podríamos cambiarla

131
00:09:20,510 --> 00:09:22,050
por Twitter o Facebook.

132
00:09:22,080 --> 00:09:23,570
Y hay otras cosas que debes hacer.

133
00:09:23,580 --> 00:09:27,860
Tenemos que registrarnos y obtener credenciales en Twitter y Facebook y tenemos que registrar nuestras aplicaciones.

134
00:09:27,950 --> 00:09:29,170
Entonces es más complicado.

135
00:09:29,370 --> 00:09:34,310
Pero en lo que respecta a la lógica y el pasaporte, podemos intercambiar cosas y hay

136
00:09:34,320 --> 00:09:36,120
algunos pequeños ajustes que debemos hacer.

137
00:09:36,200 --> 00:09:40,970
Pero, en general, el pasaporte nos facilita intercambiar diferentes estrategias.

138
00:09:41,150 --> 00:09:42,730
Entonces vamos a usar local.

139
00:09:43,160 --> 00:09:46,380
Y esto de nuevo solo va a registrar realmente al usuario.

140
00:09:46,830 --> 00:09:54,060
Y una vez que el usuario ha iniciado sesión, vamos a redirigir al secreto secreto secreto y eso es solo una

141
00:09:54,060 --> 00:09:54,920
opción personal.

142
00:09:54,920 --> 00:10:00,390
Podríamos regresar a la página de inicio de la ruta, pero el secreto de la barra es para lo que todos estamos aquí.

143
00:10:00,500 --> 00:10:06,800
Entonces, una vez que nos registremos una vez que nos registremos, se nos deberá tomar una decisión secreta a menos que

144
00:10:07,740 --> 00:10:10,950
haya un problema y luego volveremos al formulario de registro.

145
00:10:11,000 --> 00:10:15,110
Probémoslo, asegúrese de que no tengamos ningún error de sintaxis.

146
00:10:15,120 --> 00:10:16,380
Se ve bien.

147
00:10:16,400 --> 00:10:20,920
Ahora vamos a nuestra aplicación, actualizamos la página y nos registramos.

148
00:10:21,260 --> 00:10:30,720
Así que voy a crear una cuenta como Colt y mi contraseña será solo contraseña y no se enviará un hit. Llegaremos a la página secreta,

149
00:10:30,710 --> 00:10:35,220
lo cual es una buena noticia, pero realmente nos aseguraremos de que funcionó.

150
00:10:35,370 --> 00:10:41,770
Vamos a detener el servidor y vamos a abrir Mongo y me conectaré con mi base de datos, así que mostraré Digby's

151
00:10:41,780 --> 00:10:46,130
y la base de datos es Auth. aplicación de demostración.

152
00:10:46,430 --> 00:10:54,060
a ver las colecciones show colecciones y luego vamos a D.

153
00:10:54,060 --> 00:11:05,810
Así que voy a usar eso y luego voy B que los usuarios encuentren todos los usuarios de DB y puede ver que quiero decir que lo hacemos un poco más grande.

154
00:11:05,900 --> 00:11:11,580
Tenemos un solo usuario de cuando me registré y hay mucha información aquí.

155
00:11:11,630 --> 00:11:15,690
Bueno, no hay mucho, solo hay algunas piezas, pero parece mucho.

156
00:11:15,710 --> 00:11:18,300
Lo más importante es que tenemos un nombre de usuario aquí.

157
00:11:18,360 --> 00:11:19,480
Su nombre Colts.

158
00:11:19,640 --> 00:11:23,410
Esa es la única pieza que especificamos que nos parece normal.

159
00:11:23,750 --> 00:11:30,780
Y luego están estas cosas sal y hash y hablo mucho más sobre esto en la unidad de

160
00:11:30,770 --> 00:11:32,040
autenticación desde cero.

161
00:11:32,250 --> 00:11:37,260
Así que no vamos a entrar en muchos detalles, todo lo que mencionaré al respecto es que, por el momento,

162
00:11:37,250 --> 00:11:42,250
notamos que nuestra contraseña sin procesar la palabra contraseña en mi caso no está almacenada en la base de datos.

163
00:11:42,360 --> 00:11:44,790
Lo que estamos almacenando es esta loca versión hash.

164
00:11:44,960 --> 00:11:49,150
Y luego, esta otra cosa llamada sal que nos ayudará a resolver esto.

165
00:11:49,320 --> 00:11:54,980
Y al ayudarnos, me refiero a que todo está solucionado por el paquete de falsificadores locales

166
00:11:54,990 --> 00:11:59,610
de pasaportes que instalamos y reconfiguramos como un complemento, lo que hicimos aquí.

167
00:11:59,660 --> 00:12:05,010
De modo que se encarga de todo, desde el hashing hasta el salazón, hasta el almacenamiento de cosas en la base de datos.

168
00:12:05,100 --> 00:12:12,170
simple línea o cambiar el tamaño de este registro de puntos de nuevo usuario y le pasamos un nuevo usuario con un nombre de usuario.

169
00:12:12,170 --> 00:12:14,570
Todo lo que tuvimos que hacer fue esta

170
00:12:14,580 --> 00:12:16,030
Y luego se ocupa de todo lo demás.

171
00:12:16,050 --> 00:12:20,250
Le damos la contraseña del formulario, pero nunca lo guardamos para el usuario.

172
00:12:20,370 --> 00:12:24,540
En cambio, maneja todo y nunca guarda una contraseña.

173
00:12:24,600 --> 00:12:26,790
En realidad está guardando la versión hash.

174
00:12:27,240 --> 00:12:27,890
DE ACUERDO.

175
00:12:28,520 --> 00:12:30,590
Así que vamos a salir de Mongo ahora.

176
00:12:31,320 --> 00:12:37,500
hacer es abrir la página de índice o la página de inicio, es decir, el recitado que devuelve a casa.

177
00:12:37,670 --> 00:12:40,840
Y ahora tenemos el registro funcionando. Lo último que podemos

178
00:12:40,860 --> 00:12:49,050
Así que hagamos C9 visualice sosh en casa y simplemente agregaremos un enlace así que agregaremos un aliado aquí y este enlace debería

179
00:12:49,050 --> 00:12:51,060
ir a la página de registro.

180
00:12:51,060 --> 00:12:59,640
Por lo tanto, será una etiqueta anclada con un viaje igual a una caja registradora y simplemente agregaremos Inscripción

181
00:12:59,630 --> 00:13:01,060
en el texto.

182
00:13:01,080 --> 00:13:06,160
Entonces, si iniciamos el servidor, borremos todo este nodo de distancia.

183
00:13:06,250 --> 00:13:11,880
Sí y la aplicación para visitantes y vaya a la página de inicio.

184
00:13:11,880 --> 00:13:15,970
Ahora tenemos un enlace de registro donde podemos registrarnos.

185
00:13:16,110 --> 00:13:16,590
Estupendo.

186
00:13:16,670 --> 00:13:19,920
Así que cubrimos todo lo que quiero cubrir en este video en el siguiente video.

187
00:13:19,940 --> 00:13:21,700
Trabajaremos en la funcionalidad de inicio de sesión.
