Auth0.swift: User Management
Management API fournit l'Association de comptes d’utilisateur, qui vous permet de lier et de dissocier des comptes utilisateurs distincts provenant de différents fournisseurs, en les liant à un profil unique. Elle vous permet également de mettre à jour les métadonnées de l’utilisateur et d’autres informations de profil.
Lier des utilisateurs
Linking user accounts will allow a user to authenticate from any of their accounts and, no matter which one they use, still pull up the same profile upon login. Auth0 treats all of these accounts as separate profiles by default, so if you wish for a user’s accounts to be linked, this is the way to go.
La méthode link
accepte deux paramètres : l'ID utilisateur du profil primaire et le jeton d’accès du profil secondaire (le jeton obtenu après la connexion avec cette identité). L'ID utilisateur en question est l’identifiant unique de ce compte utilisateur. Si l’ID est au format facebook|1234567890
, l’ID requis est la partie située après la barre de séparation (dans ce cas, 1234567890
).
Auth0
.users(token: "user-scoped access token")
.link(userId, withOtherUserToken: "another user token")
.start { result in
switch result {
case .success(let userInfo):
print("User: \(userInfo)")
case .failure(let error):
print(error)
}
}
Was this helpful?
Dissocier des utilisateurs
Unlinking users is a similar process to linking users. The unlink
method takes three parameters: the secondary profile’s user ID, the secondary profile’s provider (the connection’s identity provider), and the primary profile’s user ID.
The parameters read, essentially: "Unlink this secondary user (with this provider) from this primary user".
Auth0
.users(token: "user-scoped access token")
.unlink(identityId: identifier, provider: provider, fromUserId:userId)
.start { result in
switch result {
case .success(let userInfo):
print("User: \(userInfo)")
case .failure(let error):
print(error)
}
}
Was this helpful?
When accounts are linked, the metadata from the secondary account’s profile is not merged with the metadata from the primary account’s profile. Similarly, when unlinking accounts, the secondary account’s profile does not retain metadata from the primary account’s profile.
Récupérer les métadonnées de l’utilisateur
Auth0
.users(token: "user-scoped access token")
.get(userId, fields: ["user_metadata"], include: true)
.start { result in
switch result {
case .success(let userInfo):
print("User: \(userInfo)")
case .failure(let error):
print(error)
}
}
Was this helpful?
Mettre à jour les métadonnées d’un utilisateur
When updating user metadata, you will create a userMetadata
object and then call the patch
method, passing it the user ID and the userMetadata
object. Les valeurs de cet objet vont remplacer les valeurs de la même clé, et en ajouter de nouvelles pour la même clé, encore en ajouter qui n’existent pas encore pour les métadonnées utilisateur.
Auth0
.users(token: "user-scoped access token")
.patch("user identifier", userMetadata: ["first_name": "John", "last_name": "Doe"])
.start { result in
switch result {
case .success(let userInfo):
print("User: \(userInfo)")
case .failure(let error):
print(error)
}
}
Was this helpful?