Skip to main content

Ajouter l’ouverture de session à votre application Android

Vous pouvez ouvrir une session pour l’utilisateur à l’aide de la méthode WebAuthProvider.login :
WebAuthProvider.login(account)
  .withScheme(getString(R.string.com_auth0_scheme))
  .withScope("openid profile email")
  .start(this, object : Callback<Credentials, AuthenticationException> {
    override fun onFailure(exception: AuthenticationException) {
       // Authentification échouée
     }

      override fun onSuccess(credentials: Credentials) {
         // Authentification réussie
       }
  })
Le résultat de l’authentification sera transmis à la fonction de rappel onSuccess. Consultez la configuration d’Auth0.Android pour découvrir d’autres options de la classe WebAuthProvider.

Ajouter la déconnexion à votre application Android

Pour déconnecter l’utilisateur, appelez la méthode WebAuthProvider.logout. Le résultat de la déconnexion sera renvoyé dans le rappel onSuccess. Cette méthode supprime le témoin que le navigateur a défini au moment de l’authentification, ce qui oblige les utilisateurs à saisir de nouveau leurs identifiants la prochaine fois qu’ils essaient de s’authentifier.
Si la déconnexion est annulée, vous pouvez envisager de ramener l’utilisateur à l’endroit où il se trouvait avant de tenter de se déconnecter.
WebAuthProvider.logout(account)
  .withScheme("demo")
  .start(this, object: Callback<Void?, AuthenticationException> {
    override fun onSuccess(payload: Void?) {
      // L'utilisateur a été déconnecté !
    }

    override fun onFailure(error: AuthenticationException) {
      // Une erreur s'est produite !
    }
  })

Afficher le profil de l’utilisateur

Utilisez la classe AuthenticationAPIClient pour récupérer le profil de l’utilisateur dans Auth0. Cela nécessite :
  • Le reçu pendant la phase de connexion
  • Le scope profile à inclure lors de l’appel à WebAuthProvider.login
  • Le scope email (si vous souhaitez récupérer l’adresse de courriel de l’utilisateur)
Cet exemple montre une fonction qui récupère le profil de l’utilisateur et l’affiche à l’écran :
var client = AuthenticationAPIClient(account)

// Utiliser le jeton d'accès reçu pour appeler `userInfo` et obtenir le profil depuis Auth0.
client.userInfo(accessToken)
  .start(object : Callback<UserProfile, AuthenticationException> {
      override fun onFailure(exception: AuthenticationException) {
          // Une erreur s'est produite!
      }

      override fun onSuccess(profile: UserProfile) {
        // Nous avons le profil de l'utilisateur!
        val email = profile.email
        val name = profile.name
      }
})