Auth0.Android: User Management

La Management API fournit des fonctionnalités que vous pouvez utiliser pour gérer les utilisateurs de votre application, y compris les types de tâches suivants :

Initialiser UsersAPIClient

Pour commencer, créez une nouvelle instance UsersAPIClient en lui transmettant l’élément account et le jeton de l’identité principale. Dans le cas de l’association d’utilisateurs, cette identité principale est le profil utilisateur pour lequel vous souhaitez « conserver » les données et auquel vous envisagez d’associer d’autres identités.

val account = Auth0("{yourClientId}", "{yourDomain}")
val client = UsersAPIClient(account, "token")

Was this helpful?

/

Associer des utilisateurs

L’association de comptes d’utilisateurs permet à un utilisateur de s’authentifier à partir de n’importe lequel de ses comptes. Ainsi, quel que soit le compte avec lequel il s’authentifie, il se connecte avec le même profil. Sans association de comptes, Auth0 traite chaque compte différent comme un profil distinct.

La méthode link accepte deux paramètres: l’identifiant utilisateur principal et le jeton d’utilisateur secondaire (le jeton obtenu après la connexion avec cette identité). L’identifiant de l’utilisateur en question est un identifiant unique pour ce compte utilisateur. Si l’identifiant est au format facebook|1234567890, l’identifiant requis est la partie après le caractère de délimitation.

client
    .link("primary user id", "secondary user token")
    .start(object: Callback<List<UserIdentity>, ManagementException>() {
        override fun onSuccess(payload: List<UserIdentity>) {
            // Got the updated identities! Accounts linked.
        }

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

Was this helpful?

/

Dissocier les utilisateurs

La dissociation des utilisateurs renvoie les comptes à des profils distincts. La méthode unlink nécessite trois paramètres : l’identifiant d’utilisateur principal, l’identifiant d’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>) {
            // Got the updated identities! Accounts linked.
        }

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

Was this helpful?

/

Lorsque les comptes sont liés, les métadonnées du compte secondaire ne fusionnent pas avec les métadonnées du compte principal. De même, lors de la dissociation de deux comptes, le compte secondaire ne conserve pas les métadonnées du compte principal.

Mettre à jour des métadonnées de l’utilisateur

Lors de la mise à jour des métadonnées de l’utilisateur, vous créez un objet metadata, puis vous appelez la méthode updateMetadata en lui transmettant l’identifiant de l’utilisateur et l’objet metadata. Les valeurs de cet objet remplacent les valeurs de la même clé, ou en ajoutent de nouvelles pour celles qui n’existent pas encore pour 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) {
            // Metadata updated
        }

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

Was this helpful?

/