URL d'identité
L'URL d'identité est la passerelle vers le service d'identité Salesforce, qui est accessible en utilisant des flux serveur Web ou utilisateur-agent OAuth 2.0. Dans ces flux, lorsqu'une application connectée avec l'étendue id est autorisée avec succès, elle reçoit une URL d'identité avec le jeton d'accès. L'application connectée peut ensuite envoyer une demande GET avec le jeton d'accès à l'URL d'identité. En réponse, Salesforce renvoie des détails sur l'utilisateur et l'organisation interrogés.
Éditions requises
| Disponible avec : Salesforce Classic et Lightning Experience |
| Disponible avec : Toutes les éditions |
L'URL d'identité est renvoyée dans le paramètre d'étendue id. Par exemple, https://login.salesforce.com/id/00Dx0000000BV7z/005x00000012Q9P.
L'URL d'identité est également une API RESTful utilisée pour demander des informations supplémentaires sur les utilisateurs, notamment leur nom d'utilisateur, adresse e-mail et ID d'organisation. Elle renvoie également des points de terminaison avec lesquels le client peut communiquer, par exemple des photos de profil et des points de terminaison d'API accessibles.
Accès au client
L'accès client à l'URL d'identité d'un utilisateur ne fournit pas le même accès à l'URL d'identité à un autre utilisateur de la même organisation, sauf si le jeton associé remplit les conditions ci-dessous.
- La requête OAuth du jeton accès inclut l'étendue
fullouapi. - Le jeton d'accès est destiné à un utilisateur qui dispose de l'autorisation API activée.
- Le jeton d'accès est destiné à un utilisateur qui a accès à l'autre utilisateur, conformément aux règles de partage d'utilisateur de l'organisation.
- Le jeton d'accès est destiné à un utilisateur interne, ce qui signifie que la valeur user_type de la réponse est
STANDARD.
Sinon, un jeton d'accès est requis pour chaque utilisateur afin d'afficher leur URL d'identité.
Le format de l'URL est https://login.salesforce.com/id/orgID/userID, où orgId est l'ID de l'organisation Salesforce à laquelle appartient l'utilisateur, et userID est l'ID utilisateur Salesforce.
Paramètres de demande d'URL d'identité
Vous pouvez utiliser les paramètres ci-dessous avec le jeton d'accès et l'URL d'identité. Vous pouvez utiliser un jeton d'accès dans un en-tête de demande d'autorisation ou une requête avec le paramètre oauth_token.
Réponse d'une URL d'identité
Avec une demande réussie, la réponse de l'URL d'identité renvoie des informations sur l'utilisateur et l'organisation interrogés.
La réponse de l'URL d'identité suivante utilise le format XML.
<?xml version="1.0" encoding="UTF-8"?>
<user xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<id>https://MyDomainName.my.salesforce.com/id/00Dx000.../005x000...</id>
<asserted_user>true</asserted_user>
<user_id>005x000000...</user_id>
<organization_id>00Dx000...</organization_id>
<nick_name>admin1.2777578168398293E12...</nick_name>
<display_name>Alan Van</display_name>
<email>admin@mycompany.com</email>
<status>
<created_date xsi:nil="true"/>
<body xsi:nil="true"/>
</status>
<photos>
<picture>https://MyDomainName--03925205UAF.file.force-user-content.com</picture>
<thumbnail>https://MyDomainName--03925205UAF.file.force-user-content.com</thumbnail>
</photos>
<urls>
<enterprise>https://MyDomainName.my.salesforce.com/services/Soap/c/{version}/00Dx000...</enterprise>
<metadata>https://MyDomainName.my.salesforce.com/services/Soap/m/{version}/00Dx000...</metadata>
<partner>https://MyDomainName.my.salesforce.com/services/Soap/u/{version}/00Dx000...</partner>
<rest>https://MyDomainName.my.salesforce.com/services/data/v{version}/
</rest>
<sobjects>https://MyDomainName.my.salesforce.com/services/data/v{version}/sobjects/
</sobjects>
<search>https://MyDomainName.my.salesforce.com/services/data/v{version}/search/
</search>
<query>https://MyDomainName.my.salesforce.com/services/data/v{version}/query/
</query>
<profile>https://MyDomainName.my.salesforce.com/005x000...</profile>
</urls>
<active>true</active>
<user_type>STANDARD</user_type>
<language>en_US</language>
<locale>en_US</locale>
<utcOffset>-28800000</utcOffset>
<last_modified_date>2021-04-28T20:54:09.000Z</last_modified_date>
</user>Et sa réponse utilise le format JSON.
{"id":"https://MyDomainName.my.salesforce.com/id/00Dx000.../005x000...",
"asserted_user":true,
"user_id":"005x000...",
"organization_id":"00Dx000...",
"nick_name":"admin1.2777578168398293E12...",
"display_name":"Alan Van",
"email":"admin@mycompany.com",
"status":{"created_date":null,"body":null},
"photos":{"picture":"https://MyDomainName--03925205UAF.file.force-user-content.com",
"thumbnail":"https://MyDomainName--03925205UAF.file.force-user-content.com"},
"urls":
{"enterprise":"https://MyDomainName.my.salesforce.com/services/Soap/c/{version}/00Dx000...",
"metadata":"https://MyDomainName.my.salesforce.com/services/Soap/m/{version}/00Dx000...",
"partner":"https://MyDomainName.my.salesforce.com/services/Soap/u/{version}/00Dx000...",
"rest":"https://MyDomainName.my.salesforce.com/services/data/v{version}/",
"sobjects":"https://MyDomainName.my.salesforce.com/services/data/v{version}/sobjects/",
"search":"https://MyDomainName.my.salesforce.com/services/data/v{version}/search/",
"query":"https://MyDomainName.my.salesforce.com/services/data/v{version}/query/",
"profile":"https://MyDomainName.my.salesforce.com/005x000..."},
"active":true,
"user_type":"STANDARD",
"language":"en_US",
"locale":"en_US",
"utcOffset":-28800000,
"last_modified_date":"2021-04-28T20:54:09.000+0000"}Le tableau ci-dessous indique les paramètres renvoyés.
| Paramètre | Description |
|---|---|
id
|
L'URL d'identité, qui est identique à l'URL interrogée. |
asserted_user
|
Une valeur booléenne indiquant si le jeton d'accès spécifié utilisé a été émis pour cette identité. |
user_id
|
L'ID l'utilisateur interrogé. |
username
|
Le nom d'utilisateur de l'utilisateur interrogé. |
organization_id
|
L'ID de l'organisation Salesforce de l'utilisateur interrogé. |
nick_name
|
Le surnom Experience Cloud de l'utilisateur interrogé. |
display_name
|
Le nom d'affichage (nom complet) de l'utilisateur interrogé. |
email
|
L'adresse e-mail de l'utilisateur interrogé. |
email_verified
|
Indique si l'adresse e-mail de l'utilisateur interrogé a été vérifiée en cliquant sur un lien de l'e-mail « Bienvenue dans Salesforce ». La valeur email_verified est définie sur
|
first_name
|
Le prénom de l'utilisateur interrogé. |
last_name
|
Le nom de l'utilisateur interrogé. |
timezone
|
Le fuseau horaire dans les paramètres de l'utilisateur interrogé. |
photos
|
Une carte d'URL dans les photos de profil de l'utilisateur interrogé, spécifiée avec Remarque L'accès à ces URL requiert la transmission d'un jeton d'accès. Consultez jeton d'accès. |
addr_street
|
La rue spécifiée dans l'adresse des paramètres de l'utilisateur interrogé. |
addr_city
|
La ville spécifiée dans l'adresse des paramètres de l'utilisateur interrogé. |
addr_state
|
La région/province spécifiée dans l'adresse des paramètres de l'utilisateur interrogé. |
addr_country
|
Le pays spécifié dans l'adresse des paramètres de l'utilisateur interrogé. |
addr_zip
|
Le code postal spécifié dans l'adresse des paramètres de l'utilisateur interrogé. |
mobile_phone
|
Le numéro de téléphone mobile spécifié dans les paramètres de l'utilisateur interrogé. |
mobile_phone_verified
|
L'utilisateur interrogé a confirmé que le numéro de téléphone mobile est valide. |
status
|
Le statut Chatter actuel de l'utilisateur interrogé.
|
urls
|
Une carte contenant les divers points de terminaison de l'API qui peuvent être utilisés avec l'utilisateur interrogé. Remarque L'accès à ces points de destination REST requiert la transmission d'un jeton d'accès. Consultez jeton d'accès.
|
active
|
Une valeur booléenne spécifiant si l'utilisateur interrogé est actif. |
user_type
|
Le type de l'utilisateur interrogé. |
language
|
La langue de l'utilisateur interrogé. |
locale
|
Les paramètres régionaux de l'utilisateur interrogé. |
utcOffset
|
Décalage en millisecondes avec l'heure UTC du fuseau horaire de l'utilisateur interrogé. |
last_modified_date
|
Le format xsd datetime de la dernière modification de l'utilisateur, par exemple 2010-06-28T20:54:09.000Z. |
is_app_installed
|
La valeur est true lorsque l'application connectée est installée dans l'organisation de l'utilisateur et que le jeton d'accès de l'utilisateur a été créé à l'aide d'un flux OAuth. Si l'application connectée n'est pas installée, la réponse ne contient pas cette valeur. Lors de l'analyse de la réponse, vérifiez l'existence et la valeur de cette propriété. |
mobile_policy
|
Des valeurs spécifiques pour la gestion d'une application connectée mobile. Ces valeurs sont disponibles uniquement lorsque l'application connectée est installée dans l'organisation de l'utilisateur actif, l'application a une valeur d'expiration de session définie et le code PIN a une valeur de longueur définie.
|
push_service_type
|
Le type de la valeur de réponse est un tableau. |
custom_permissions
|
Lorsqu'une demande contient le paramètre d'étendue Voici un exemple de requête : Voici le bloc JSON dans la réponse de l'URL d'identité : |
Erreurs potentielles
Après une requête non valide, les erreurs ci-dessous sont possibles de la part de Salesforce.
| 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 | L'utilisateur est 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 |

