Maintenant, assurons-nous que nous pouvons également nous connecter et pour cela dans le créateur d'action d'authentification, donc dans le dossier d'actions
de stockage dans le fichier d'authentification, nous pouvons dupliquer le créateur d'action
d'inscription, le copier et renommer cette copie en connexion et cela aura également besoin un e-mail et
un mot de passe, mais il enverra la demande à une URL légèrement différente.
Si vous consultez les documents officiels pour vous
connecter, voici votre URL. Maintenant, il pourrait sembler presque égal,
mais ici, la différence est ce mot, connectez-vous avec un mot de passe, au lieu de vous inscrire après les deux-points des comptes.
C'est ce que nous devons changer pour avoir à nouveau une URL
valide et bien sûr, vous pouvez également penser à des façons de fusionner cela en une seule fonction et de réutiliser le
code, je vais explicitement le laisser se séparer ici pour qu'il soit vraiment clair que nous ont deux fonctions distinctes ici
et maintenant avec cela, nous envoyons une demande à cette URL. Nous devons toujours joindre un e-mail, un mot de
passe et ce champ de jeton sécurisé de retour, qui devrait toujours être vrai et nous
récupérerons à peu près les mêmes données que lors de notre inscription, juste un champ supplémentaire qui
nous indique essentiellement si cet e-mail fait partie d'un compte existant. Donc, à part cela, nous envoyons les mêmes données ici, nous pouvons les
laisser telles quelles,
nous voulons avoir cette vérification ici et donc ici, je peux alors également enregistrer mes données de réponse.
Bien sûr, je ne veux pas envoyer une action d'inscription ici, mais au lieu de cela, envoyer une nouvelle action de connexion par la suite, bien que nous
ne fassions rien pour l'instant,
nous le ferons bientôt, je peux déjà changer
ce que nous avons envoyé . Avec cela, voyons si cela fonctionne,
mais pour
cela, bien sûr, certains changements sur l'écran d'authentification sont nécessaires car en ce moment là, nous toujours lorsque nous
appuyons sur ce bouton, nous nous inscrivons toujours en ce moment et ce n'est pas ce que je veux, au lieu de toujours
en m'inscrivant, je veux m'inscrire ou me connecter en fonction du mode dans lequel nous sommes et ce mode devrait être modifiable à l'aide
de ce bouton qui nous permet de basculer entre les modes.
Donc, pour pouvoir basculer entre les modes, nous devons gérer un état supplémentaire dans l'écran d'authentification, essentiellement un état
qui nous permet de savoir si nous sommes en mode connexion ou en mode inscription.
Donc, ici, j'utilise mon état et je commence par faux parce que cela devrait dire est inscrivez-vous et définissez est inscrivez-vous et cela nous dit donc si nous sommes actuellement
en mode d'inscription ou si c'est faux si nous sommes en mode de connexion en gros parce
que ce
sont les deux modes que nous avons, non?
Donc, l'inscription est fausse au départ, car au départ, je veux être en mode de connexion et maintenant nous pouvons
utiliser notre inscription pour déterminer ce qui se passe lorsque nous appuyons sur le bouton de connexion, mais aussi le
texte que nous y affichons. Commençons donc par le texte,
ici je ne veux pas toujours dire login,
au lieu de cela je veux vérifier si l'inscription est vraie, alors
ici je veux dire s'inscrire et je veux seulement dire login si ce n'est pas vrai et ici bien sûr,
je ne veux pas toujours dire passer à l'inscription, ce que je
dis ici dépend du mode dans lequel nous sommes.
Donc, ici, je vais maintenant utiliser des ticks en arrière avec basculer vers, pour qu'ici je puisse injecter une valeur dynamique qui dépend maintenant de l'inscription,
puis la valeur dynamique est soit une chaîne où je dis login parce que si l'inscription est vraie,
nous passons en mode de connexion ou si l'inscription est fausse, nous
passons en mode d'inscription parce que nous sommes en mode de connexion, ce qui change le texte.
Maintenant, ici, dans cette fonction, je veux appeler set is sign up et essentiellement l'inverser, pour cela, nous pouvons utiliser cette
forme de fonction de mise à jour ici où nous obtenons notre état précédent, donc là où je passe une
fonction à la fonction setter ici et Je rentre ce que l'état précédent n'est pas.
Donc, l'état précédent est bien sûr un booléen car avec is sign up, nous gérons un
état booléen qui est initialement
faux et maintenant ici donc j'obtiens cet état actuel et je définis l'opposé comme un nouvel état.
Donc, si c'est actuellement vrai, je l'ai mis à faux, si c'était faux, je l'ai mis à vrai,
c'est ce qui se passe ici.
Maintenant, nous devons simplement nous assurer que différentes choses se produisent ici et pour cela, je vais renommer
ce gestionnaire d'inscription en gestionnaire d'authentification pour être plus générique dans son nom et bien sûr lier mon gestionnaire d'authentification là-bas et maintenant dans ce
gestionnaire d'authentification fonction, nous pouvons vérifier dans quel mode nous sommes.
Donc, ici, je peux vérifier si l'inscription est vraie et si c'est
le cas, alors bien sûr, je veux envoyer cette action, donc ça va. Sinon, si ce n'est pas vrai, je veux
répartir l'autre action et donc nous pouvons même changer un
peu, répartir là-bas et définir notre
action ici et maintenant mon action est initialement
indéfinie, puis je définis l'action soit sur ceci, soit sur moi action égale à auth actions se connecter avec les valeurs d'entrée de l'état
du formulaire email et mot de passe des valeurs d'entrée de l'état du formulaire, comme ça et maintenant l'action est une variable que je peux transmettre pour
la répartir là-bas.
Donc, j'envoie toujours cette action mais cette action est soit le résultat de l'inscription d'actions d'authentification, soit de la connexion d'actions d'authentification selon
que nous sommes en mode d'inscription ou en mode de connexion. Avec cela, nous sommes vraiment flexibles et maintenant si
nous enregistrons cela, si je passe ici, vous voyez également les mises à jour de texte ici sur Android et donc maintenant si
je passe en mode de connexion, donc si cela dit connexion et j'essaye de me connecter ici, assurez-vous que vous entrez
les mêmes informations d'identification que vous avez utilisées avant de créer cela et j'appuie sur la
connexion, cela
semble assez bon, j'obtiens ma sortie de console ici avec
les données que cette URL devrait renvoyer.
Cela semble donc fonctionner et avec cela, nous pouvons nous inscrire et vous connecter, mais bien sûr, nous ne faisons rien avec ce
jeton pour le moment et bien
sûr, nous n'avons pas non plus de gestion des erreurs ou de gestion de l'état de chargement.
Ce sont donc des choses que nous devrons également ajouter.