web-dev-qa-db-fra.com

AWS Amplify, comment vérifier si l'utilisateur est connecté?

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.

8
NeXtMaN_786

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.

4
AleCat83

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.

4
powerful23