Interrogation des informations utilisateur
Une application connectée peut interroger le point de terminaison UserInfo pour consulter des informations sur l'utilisateur associé avec le jeton d'accès de l'application connectée. Salesforce renvoie des informations personnelles de base sur l'utilisateur et des points de terminaison importants avec lesquels l'application connectée peut communiquer, notamment des photos et des points de terminaison d'API accessibles. Ce point de terminaison UserInfo permet d'accéder uniquement aux informations de l'utilisateur actif. Il ne permet pas d'accéder aux autres utilisateurs de l'organisation.
Éditions requises
| Disponible avec : Salesforce Classic et Lightning Experience |
| Disponible avec : Toutes les éditions |
Le point de terminaison UserInfo est une API RESTful API définie par OpenID Connect. Le format de l'URL du point de terminaison est : https://login.salesforce.com/services/oauth2/userinfo.
Voici le flux d'interrogation du point de terminaison UserInfo.
- L'application connectée envoie une requête au point de terminaison UserInfo Salesforce. La requête doit contenir le jeton d'accès de l'application connectée.
- Salesforce répond avec les informations de l'utilisateur.
Interroger le point de terminaison UserInfo
Utilisez les paramètres suivants pour interroger le point de terminaison UserInfo. Vous pouvez utiliser un jeton d'accès dans un en-tête de demande d'autorisation ou dans une demande avec le paramètre oauth_token.
Réponse de point de terminaison UserInfo Salesforce
En réponse à une requête valide, Salesforce renvoie les informations sous le format JSON par défaut ou le format spécifié dans le paramètre format.
La réponse inclut les valeurs répertoriées dans le OpenID Profil client de base Connect, l'ID d'utilisateur, l'ID d'organisation, le fil et les URL de profil Salesforce.
Dans la réponse, l'attribut email_verified indique si les utilisateurs vérifient leur adresse e-mail après les événements suivants : Par exemple, un administrateur Salesforce crée l'utilisateur Roberta Smith. Roberta reçoit un message « Bienvenue dans Salesforce », avec un lien de vérification de son compte. Lorsqu'elle clique sur le lien, la valeur email_verified prend la valeur true.
- ils changent leur adresse e-mail
- ils changent leur mot de passe, ou un administrateur Salesforce le réinitialise
- ils vérifient leur identité lorsqu’ils se connectent à partir d’un nouvel appareil ou d’un nouveau navigateur
- Un administrateur Salesforce les crée en tant que nouveaux utilisateurs.
La réponse suivante utilise le format JSON :
{"sub":"https://login.salesforce.com/id/00Dx000.../005x000...",
"user_id":"005x000...",
"organization_id":"00Dx000...",
"name":"yourInstance LastName",
"email":"user1@1135222488950007.com",
"email_verified":true,"given_name":"yourInstance","family_name":"LastName",
"zoneinfo":"America/Los_Angeles",
"photos":{"picture":"https://yourInstance.salesforce.com/profilephoto/005/F","thumbnail":"https://yourInstance.salesforce.com/profilephoto/005/T"},
"profile":"https://yourInstance.salesforce.com/005x000...",
"picture":"https://yourInstance.salesforce.com/profilephoto/005/F",
"address":{"country":"us"},
"urls":{"enterprise":"https://yourInstance.salesforce.com/services/Soap/c/{version}/00Dx00...",
"partner":"https://yourInstance.salesforce.com/services/Soap/u/{version}/00Dx00...",
"rest":"https://yourInstance.salesforce.com/services/data/v{version}/",
"sobjects":"https://yourInstance.salesforce.com/services/data/v{version}/sobjects/",
"search":"https://yourInstance.salesforce.com/services/data/v{version}/search/",
"query":"https://yourInstance.salesforce.com/services/data/v{version}/query/",
"recent":"https://yourInstance.salesforce.com/services/data/v{version}/recent/",
"profile":"https://yourInstance.salesforce.com/005x000...",
"feeds":"https://yourInstance.salesforce.com/services/data/v{version}/chatter/feeds",
"groups":"https://yourInstance.salesforce.com/services/data/v{version}/chatter/groups",
"users":"https://yourInstance.salesforce.com/services/data/v{version}/chatter/users",
"feed_items":"https://yourInstance.salesforce.com/services/data/v{version}/chatter/feed-items"},
"active":true,"user_type":"STANDARD","language":"en_US","locale":"en_US",
"utcOffset":-28800000,"updated_at":"2013-12-02T18:46:42Z"}La réponse suivante utilise le format XML.
<?xml version="1.0" encoding="UTF-8"?>
<user>
<sub>https://login.salesforce.com/id/00Dx000.../005x000...</sub>
<user_id>005x000...</user_id>
<organization_id>00Dx000...</organization_id>
<preferred_username>user1@1135222488950007.com</preferred_username>
<nickname>user1.3860098879512678E12</nickname>
<name>user1 LastName</name>
<email>user1@1135222488950007.com</email>
<email_verified>true</email_verified>
<given_name>user1</given_name>
<family_name>LastName</family_name>
<zoneinfo>America/Los_Angeles</zoneinfo>
<photos>
<picture>https://yourInstance.salesforce.com/profilephoto/005/F</picture>
<thumbnail>https://yourInstance.salesforce.com/profilephoto/005/T</thumbnail></photos>
<profile>https://yourInstance.salesforce.com/005x000...</profile>
<picture>https://yourInstance.salesforce.com/profilephoto/005/F</picture>
<address>
<country>us</country>
</address>
<urls>
<enterprise>https://yourInstance.salesforce.com/services/Soap/c/{version}/00Dx0000002rIh1</enterprise>
<metadata>https://yourInstance.salesforce.com/services/Soap/m/{version}/00Dx0000002rIh1</metadata>
<partner>https://yourInstance.salesforce.com/services/Soap/u/{version}/00Dx0000002rIh1</partner>
<rest>https://yourInstance.salesforce.com/services/data/v{version}/</rest>
<sobjects>https://yourInstance.salesforce.com/services/data/v{version}/sobjects/</sobjects>
<search>https://yourInstance.salesforce.com/services/data/v{version}/search/</search>
<query>https://yourInstance.salesforce.com/services/data/v{version}/query/</query>
<recent>https://yourInstance.salesforce.com/services/data/v{version}/recent/</recent>
<profile>https://yourInstance.salesforce.com/005x000...</profile>
<feeds>https://yourInstance.salesforce.com/services/data/v{version}/chatter/feeds</feeds>
<groups>https://yourInstance.salesforce.com/services/data/v{version}/chatter/groups</groups>
<users>https://yourInstance.salesforce.com/services/data/v{version}/chatter/users</users>
<feed_items>https://yourInstance.salesforce.com/services/data/v{version}/chatter/feed-items</feed_items>
</urls>
<active>true</active>
<user_type>STANDARD</user_type>
<language>en_US</language>
<locale>en_US</locale>
<utcOffset>-28800000</utcOffset>
<updated_at>2013-12-02T18:46:42.000Z</updated_at>
</user>Voici la description des paramètres renvoyés.
Les réponses possibles de Salesforce à une demande non valide sont les suivantes :
| Code d'erreur | Problème de demande |
|---|---|
| 403 (forbidden) — HTTPS_Required | HTTP |
| 403 (forbidden) — Missing_OAuth_Token | Jeton d'accès manquant |
| 403 (forbidden) — Bad_OAuth_Token | Jeton d'accès non valide |
| 403 (forbidden) — Wrong_Org | Utilisateurs dans une organisation différente |
| 404 (not found) — Bad_Id | ID d'utilisateur ou d'organisation non valide ou incorrecte |
| 404 (not found) — Inactive | Utilisateur désactivé ou organisation inactive |
| 404 (not found) — No_Access | Défaut d'accès approprié à l'organisation ou aux informations pour l'utilisateur |
| 404 (not found) — No_Site_Endpoint | Demander un point de terminaison non valide d'un site |
| 404 (introuvable) — Erreur interne | Aucune réponse du serveur |
| 406 (not acceptable) — Invalid_Version | Version non valide |
| 406 (not acceptable) — Invalid_Callback | Rappel non valide |
