1 00:00:02,190 --> 00:00:08,710 Ahora asegurémonos de que también podemos iniciar sesión y para eso en el creador de acciones de autenticación, por lo que en la 2 00:00:08,710 --> 00:00:12,720 carpeta de acciones de la tienda en el archivo de autenticación, podemos duplicar 3 00:00:12,930 --> 00:00:18,210 el creador de acciones de registro, copiarlo y cambiar el nombre de esa copia para iniciar sesión y esto 4 00:00:18,220 --> 00:00:22,870 también necesitará un correo electrónico y una contraseña, pero enviará la solicitud a una URL ligeramente diferente. 5 00:00:22,870 --> 00:00:26,620 Si echas un vistazo a los documentos oficiales para iniciar 6 00:00:26,620 --> 00:00:30,370 sesión, esta es tu URL. Ahora puede parecer casi igual, 7 00:00:30,490 --> 00:00:37,170 pero aquí, la diferencia es esta palabra, inicie sesión con contraseña, en lugar de registrarse después de las dos puntos. 8 00:00:37,170 --> 00:00:40,380 Esto es lo que necesitamos cambiar para tener una URL válida 9 00:00:40,400 --> 00:00:46,110 nuevamente y, por supuesto, también podría pensar en formas de fusionar esto en una función y reutilizar el código. 10 00:00:46,110 --> 00:00:51,750 Dejaré explícitamente que se divida aquí para que quede realmente claro que tenemos dos funciones separadas aquí y ahora 11 00:00:51,750 --> 00:00:57,940 con eso, estamos enviando una solicitud a esta URL. Todavía necesitamos adjuntar correo electrónico, contraseña y este 12 00:00:57,970 --> 00:01:03,250 campo de token seguro de devolución, que siempre debe ser verdadero y recuperaremos casi 13 00:01:03,250 --> 00:01:08,630 los mismos datos que cuando nos registramos, solo un campo adicional que básicamente nos dice 14 00:01:08,650 --> 00:01:16,100 si este correo electrónico es parte de una cuenta existente. Aparte de eso, enviamos los mismos datos aquí, podemos dejarlos como 15 00:01:16,150 --> 00:01:17,160 están, queremos 16 00:01:17,160 --> 00:01:22,300 tener esta verificación aquí y, por lo tanto, aquí, también puedo registrar mis datos de respuesta. 17 00:01:22,300 --> 00:01:30,320 Por supuesto, no quiero enviar una acción de registro aquí, sino enviar una nueva acción de inicio de sesión a partir de entonces, aunque tampoco 18 00:01:30,340 --> 00:01:31,890 estamos haciendo nada allí 19 00:01:31,900 --> 00:01:34,120 por ahora, pronto lo haremos, ya puedo 20 00:01:34,120 --> 00:01:37,500 cambiar lo que enviamos . Con eso, veamos si eso 21 00:01:37,510 --> 00:01:38,490 funciona, pero 22 00:01:38,500 --> 00:01:44,290 para esto, por supuesto, se requieren algunos cambios en la pantalla de autenticación porque en este momento, 23 00:01:44,290 --> 00:01:51,190 siempre cuando presionamos este botón, siempre nos registramos ahora y eso no es lo que quiero, en lugar de siempre que 24 00:01:51,190 --> 00:01:58,210 me registre, quiero registrarme o iniciar sesión dependiendo del modo en el que nos encontremos y este modo debería poder cambiarse con 25 00:01:58,210 --> 00:02:01,730 la ayuda de este botón que nos permite cambiar entre modos. 26 00:02:02,110 --> 00:02:07,990 Entonces, para poder cambiar entre modos, necesitamos administrar un estado adicional en la pantalla de autenticación, básicamente un estado que 27 00:02:07,990 --> 00:02:12,940 nos permite saber si estamos en modo de inicio de sesión o en modo de registro. 28 00:02:12,940 --> 00:02:22,560 Así que aquí uso mi estado y empiezo con falso porque esto debería decir es registrarse y configurar es registrarse y, por lo tanto, nos dice si estamos actualmente en 29 00:02:22,560 --> 00:02:28,300 modo de registro o si eso es falso si básicamente estamos en el modo de inicio de 30 00:02:28,300 --> 00:02:29,040 sesión porque 31 00:02:29,040 --> 00:02:31,680 estos son los dos modos que tenemos, ¿verdad? 32 00:02:31,710 --> 00:02:37,190 Entonces, el registro es falso inicialmente porque inicialmente quiero estar en modo de inicio de sesión y 33 00:02:37,190 --> 00:02:42,450 ahora podemos usarlo para determinar qué sucede cuando presionamos el botón de inicio de sesión, pero también 34 00:02:42,480 --> 00:02:45,740 qué texto enviamos allí. Comencemos con el texto, 35 00:02:45,790 --> 00:02:48,090 aquí no siempre quiero decir iniciar sesión, 36 00:02:48,140 --> 00:02:51,320 en cambio quiero verificar si el registro es verdadero, luego 37 00:02:51,380 --> 00:02:57,020 aquí quiero decir registrarse y solo quiero decir iniciar sesión si esto no es cierto y aquí, por 38 00:02:57,020 --> 00:03:00,350 supuesto, no siempre quiero decir cambiar para registrarme, lo que digo 39 00:03:00,350 --> 00:03:03,020 aquí depende del modo en que nos encontremos. 40 00:03:03,020 --> 00:03:13,050 Entonces, aquí, usaré los ticks de retroceso con el interruptor a, de modo que aquí puedo inyectar un valor dinámico que ahora depende de la inscripción y 41 00:03:13,050 --> 00:03:20,190 luego el valor dinámico es una cadena donde digo iniciar sesión porque si la inscripción es verdadera, cambiamos al 42 00:03:20,280 --> 00:03:25,340 modo de inicio de sesión o si el registro es falso, cambiamos 43 00:03:25,470 --> 00:03:32,360 al modo de registro porque estamos en modo de inicio de sesión, de modo que cambia el texto. 44 00:03:32,360 --> 00:03:39,890 Ahora, aquí en esta función, quiero llamar a set es inscribirse y básicamente invertirlo, para esto podemos usar esa 45 00:03:39,890 --> 00:03:47,000 forma de función de actualizar esto donde obtenemos nuestro estado anterior, entonces donde paso una función a 46 00:03:47,000 --> 00:03:52,740 la función setter aquí y Devuelvo lo que el estado anterior no es. 47 00:03:52,880 --> 00:03:58,430 Entonces, el estado anterior, por supuesto, es un valor booleano porque con el registro, estamos administrando un estado 48 00:03:58,460 --> 00:04:00,390 booleano que inicialmente es falso 49 00:04:00,620 --> 00:04:06,200 y ahora aquí, por lo tanto, obtengo ese estado actual y configuro lo contrario como un estado nuevo. 50 00:04:06,200 --> 00:04:10,420 Entonces, si esto es cierto actualmente, lo configuro como falso, si era falso, lo configuro como verdadero, eso 51 00:04:10,430 --> 00:04:11,980 es lo que está sucediendo aquí. 52 00:04:12,810 --> 00:04:19,000 Ahora solo necesitamos asegurarnos de que sucedan cosas diferentes aquí y para eso, cambiaré el nombre de este 53 00:04:19,000 --> 00:04:28,060 controlador de registro al controlador de autenticación para que sea más genérico en su denominación y, por supuesto, vincularé mi controlador de autenticación allí y ahora 54 00:04:28,810 --> 00:04:33,130 en ese controlador de autenticación función, podemos comprobar en qué modo estamos. 55 00:04:33,370 --> 00:04:37,180 Entonces, aquí puedo verificar si el registro es verdadero y si ese 56 00:04:37,180 --> 00:04:45,110 es el caso, entonces, por supuesto, quiero enviar esta acción, así que está bien. De lo contrario, si eso no es cierto, 57 00:04:45,110 --> 00:04:50,060 quiero despachar la otra acción y, por lo tanto, incluso 58 00:04:50,060 --> 00:04:53,280 podemos cambiar esto un poco, despachar allí 59 00:04:53,540 --> 00:04:57,890 y definir nuestra acción aquí y ahora mi acción 60 00:04:57,890 --> 00:05:10,190 inicialmente no está definida y luego configuro la acción para esto o configuro la acción es igual a las acciones de autenticación, inicie sesión con los 61 00:05:10,190 --> 00:05:24,250 valores de entrada del estado del formulario, correo electrónico y contraseña de los valores de entrada del estado del formulario, y ahora la acción es una variable que puedo 62 00:05:24,580 --> 00:05:26,940 pasar para enviarla allí. 63 00:05:26,980 --> 00:05:33,880 Por lo tanto, siempre despacho esta acción, pero esta acción es el resultado del registro de acciones de autenticación o del inicio de sesión de acciones de autenticación, dependiendo 64 00:05:33,910 --> 00:05:40,750 de si estamos en modo de registro o en modo de inicio de sesión. Con eso, somos realmente flexibles y ahora, si guardamos 65 00:05:40,750 --> 00:05:48,860 esto, si cambio aquí, también verá las actualizaciones de texto aquí en Android y, por lo tanto, ahora si cambio al modo 66 00:05:48,910 --> 00:05:56,390 de inicio de sesión, así que si esto dice inicio de sesión e intento iniciar sesión aquí, asegúrese de ingresar 67 00:05:56,390 --> 00:06:02,130 las mismas credenciales que usó antes para crear esto y presiono iniciar sesión, esto se 68 00:06:02,130 --> 00:06:03,300 ve bastante 69 00:06:03,300 --> 00:06:06,730 bien, obtengo la salida de mi consola aquí con 70 00:06:06,840 --> 00:06:09,240 los datos que esta URL debería devolver. 71 00:06:09,240 --> 00:06:15,930 Parece que funciona y con eso, podemos registrarnos e iniciar sesión, pero por supuesto no estamos haciendo nada con ese 72 00:06:15,930 --> 00:06:17,930 token en este momento y, 73 00:06:17,970 --> 00:06:22,740 por supuesto, tampoco tenemos administración de errores o una administración de estado de carga. 74 00:06:22,830 --> 00:06:24,690 Estas son cosas que también tendremos que agregar.