J'utilise la bibliothèque aws-amplify
Avec ionic et je me demandais comment je vérifierais si un utilisateur est connecté? Je viens d'un arrière-plan Firebase donc c'est assez différent. C'est pour que je puisse accorder l'accès à certaines pages en fonction de l'état de connexion de l'utilisateur. Dans mon auth
fournisseur, j'importe Amplify {Auth}
. Je peux voir qu'il est possible d'obtenir plusieurs morceaux de mais je ne sais pas quoi utiliser. Il y a currentUserPoolUser
, getCurrentUser()
, getSyncedUser()
, currentAuthenticatedUser
, currentSession
, getCurrentUser()
, userSession
, currentUserCredentials
, currentCredentials
et currentUserInfo
. Je n'arrive pas à trouver de documentation sur tout cela non plus. Tout ce que j'ai lu et regardé se couvre jusqu'à ce que l'utilisateur se connecte ... Est-ce que tout est censé être fait sur le client? Merci.
J'utilise la fonction ionViewCanEnter () dans chaque page pour autoriser/refuser l'accès. La valeur de retour de cette fonction détermine si la page peut être chargée ou non (et elle est exécutée avant d'exécuter le costructor). A l'intérieur de cette fonction, vous devez implémenter votre logique.
Dans mon cas, en utilisant Amplify, je fais ceci:
async ionViewCanEnter(){
return await Auth.currentAuthenticatedUser()
.then(() => { return true; })
.catch(() => { return false; });
}
Depuis amplify currentAuthenticatedUser () retourne une promesse que j'utilise async attendre d'attendre la réponse pour savoir si l'utilisateur est connecté ou non.
Hé, je pense que pour l'instant, vous ne pouvez utiliser que Auth.currentUserInfo();
pour détecter si vous êtes connecté ou non. Il renverra undefined
si vous n'êtes pas connecté ou un object
si vous l'êtes.