Skip to main content
La fournit des fonctionnalités que vous pouvez utiliser pour gérer les utilisateurs de votre application, notamment pour effectuer les tâches suivantes :

Initialiser le UsersAPIClient

Pour commencer, créez une nouvelle instance de UsersAPIClient en lui transmettant account et le jeton de l’identité principale. Dans le cas de la liaison d’utilisateurs, cette identité principale correspond au profil de l’utilisateur dont vous souhaitez « conserver » les données et auquel vous prévoyez de lier d’autres identités. La liaison de comptes d’utilisateur permet à un utilisateur de s’authentifier à partir de n’importe lequel de ses comptes. Peu importe le compte avec lequel il s’authentifie, il se connecte avec le même profil. Sans liaison de comptes, Auth0 traite chaque compte différent comme un profil distinct. La méthode link accepte deux paramètres : l’id de l’utilisateur principal et le jeton de l’utilisateur secondaire (le jeton obtenu après la connexion avec cette identité). L’id de l’utilisateur en question est l’identifiant unique de ce compte d’utilisateur. Si l’id est au format facebook|1234567890, l’id requis correspond à la partie après la barre verticale de séparation.
client
    .link("primary user id", "secondary user token")
    .start(object: Callback<List<UserIdentity>, ManagementException>() {
        override fun onSuccess(payload: List<UserIdentity>) {
            // Identités mises à jour ! Comptes liés.
        }

        override fun onFailure(error: ManagementException) {
            // Erreur !
        }
    })
La dissociation d’utilisateurs rétablit les comptes en profils distincts. La méthode unlink accepte trois paramètres : l’id de l’utilisateur principal, l’id de l’utilisateur secondaire et le fournisseur secondaire (de l’utilisateur secondaire).
users
    .unlink("primary user id", "secondary user id", "secondary provider")
    .start(object: Callback<List<UserIdentity>, ManagementException>() {
        override fun onSuccess(payload: List<UserIdentity>) {
            // Identités mises à jour ! Comptes dissociés.
        }

        override fun onFailure(error: ManagementException) {
            // Erreur !
        }
    })
Lorsque des comptes sont liés, les métadonnées du compte secondaire ne sont pas fusionnées avec celles du compte principal. De même, lorsque vous dissociez deux comptes, le compte secondaire ne conserve pas les métadonnées du compte principal.

Mise à jour des métadonnées utilisateur

Pour mettre à jour les métadonnées utilisateur, créez un objet metadata, puis appelez la méthode updateMetadata en lui transmettant l’id de l’utilisateur et l’objet metadata. Les valeurs de cet objet remplacent les valeurs existantes ayant la même clé, ou ajoutent de nouvelles valeurs si elles n’existent pas encore dans les métadonnées utilisateur.
val metadata = mutableMapOf<String, Any?>()
metadata.put("name", listOf("My", "Name", "Is"));
metadata.put("phoneNumber", "1234567890");

users
    .updateMetadata("user id", metadata)
    .start(object: Callback<UserProfile, ManagementException>() {
        override fun onSuccess(payload: UserProfile) {
            // Métadonnées mises à jour
        }

        override fun onFailure(error: ManagementException) {
            // Erreur !
        }
    })