Loading
Identificeer uw gebruikers en beheer toegang
Query uitvoeren op gebruikersgegevens

Query uitvoeren op gebruikersgegevens

Een verbonden app kan een query op het eindpunt UserInfo uitvoeren voor informatie over de gebruiker die is gekoppeld aan het toegangstoken van de verbonden app. Salesforce retourneert elementaire persoonlijke gegevens over de gebruiker en belangrijke eindpunten waarmee de client kan communiceren, zoals foto's en toegankelijke API-eindpunten. Dit eindpunt UserInfo biedt alleen voor de huidige gebruiker toegang tot gegevens. Het biedt geen toegang aan andere gebruikers in de organisatie.

Vereiste editions

Beschikbaar in: zowel Salesforce Classic als Lightning Experience
Beschikbaar in: Alle editions

Het eindpunt UserInfo is een RESTful-API die wordt gedefinieerd door OpenID Connect. De indeling van de URL van het eindpunt is: https://login.salesforce.com/services/oauth2/userinfo.

Opmerking
Opmerking Bij een sandbox wordt login.salesforce.com vervangen door test.salesforce.com. Voor een Experience Cloud-site wordt login.salesforce.com vervangen door de URL van de site, zoals MijnDomeinNaam.my.site.com/.well-known/openid-configuration. De URL moet HTTPS zijn.

Dit is de stroom voor het uitvoeren van query's op het eindpunt UserInfo.

  1. De verbonden app stuurt een query naar het Salesforce UserInfo-eindpunt. De query moet het toegangstoken van de verbonden app bevatten.
  2. Salesforce antwoordt met de gegevens van de gebruiker.

Query uitvoeren op het eindpunt UserInfo

Gebruik deze parameters om een query uit te voeren op het eindpunt UserInfo. U kunt het toegangstoken gebruiken in een header van een autorisatieaanvraag of in een aanvraag met de parameter oauth_token.

Belangrijk
Belangrijk Geef bij het ontwikkelen van OAuth-integraties altijd gevoelige informatie door in de hoofdtekst van een POST-aanvraag of in een aanvraagheader. Gebruik geen GET-parameters in de URL-querytekenreeks om gevoelige informatie door te geven. Gevoelige informatie omvat, maar is niet beperkt tot, gebruikersnamen, wachtwoorden, OAuth-tokens, klantgeheimen en alle persoonlijk identificeerbare informatie. Zie Gevoelige gegevens opslaan in de Secure Coding Guide voor meer informatie over best practices voor beveiliging.
Parameter Beschrijving
oauth_toke n Een OAuth-token dat een verbonden app gebruikt om toegang tot een beschermde resource aan te vragen namens de clienttoepassing. Het toegangstoken kan vergezeld gaan van aanvullende machtigingen in de vorm van bereiken.
format

Optioneel. Geef de notatie (indeling) van de geretourneerde uitvoer op. Mogelijke waarden zijn:

  • json
  • xml

De client kan ook de geretourneerde indeling in een accepteren-aanvragen-header opgeven met behulp van een van de volgende indelingen.

  • Accept: application/json
  • Accept: application/xml
  • Accept: application/x-www-form-urlencoded

De aanvraagheader ondersteunt ook het volgende.

  • Het jokerteken */* wordt geaccepteerd en retourneert JSON.
  • Een lijst van waarden, die van links naar rechts wordt gecontroleerd. Bijvoorbeeld: application/xml,application/json,application/html,*/* retourneert XML.

De parameter format heeft prioriteit boven de header van het toegangsverzoek.

version Optioneel. Geef een SOAP API-versienummer of de constantentekenreeks latest op. Als deze waarde niet is opgegeven, bevatten de geretourneerde API-URL's de constantenwaarde {version} in plaats van het versienummer. Als de waarde is opgegeven als latest, wordt de meest recente API-versie gebruikt.
PrettyPrint (nette indeling) Optioneel. Alleen geaccepteerd in een header en niet als een URL-parameter. Geef deze parameter op om de geretourneerde XML- of JSON-uitvoer te optimaliseren voor leesbaarheid in plaats van grootte. Gebruik bijvoorbeeld het volgende in een header: X-PrettyPrint:1.
callback

Optioneel. Geef een geldige JavaScript-functienaam op. U kunt deze parameter gebruiken wanneer het gespecificeerde formaat JSON is. De uitvoer wordt aangegeven met deze functienaam (JSONP). Als een verzoek aan https://server/id/orgid/userid/ bijvoorbeeld {"function":"name"} retourneert, retourneert een verzoek aan https://server/id/orgid/userid/?callback=baz baz({"function":"name"});.

Opmerking
Opmerking JSONP wordt niet langer geretourneerd voor Identity Service-verzoeken vanwege strenge MIME-typering. Uw verzoeken moeten 'format=jsonp' toevoegen met de callback-parameter zodat de Identity Service JavaScript retourneert. Wanneer de Identity Service de JSONP-indeling detecteert, retourneert deze het vereiste JavaScript-type ('application/javascript').
is_salesforce_integratie_gebruiker Optioneel. Geef deze parameter op om te bepalen of de gebruiker de Salesforce Integration-gebruikerslicentie heeft.

Salesforce-eindpunt UserInfo antwoordt

Na het doen van een geldige aanvraag retourneert Salesforce de informatie standaard in JSON-indeling of de indeling die is opgegeven in de parameter Format.

De reactie bevat waarden die worden vermeld in OpenID Connect Basic Client Profile, Salesforce-gebruikers-ID, organisatie-ID, feed en profiel-URL’s.

In de respons weerspiegelt het kenmerk email_verified of gebruikers hun e-mailadres verifiëren na dit scenario: Een Salesforce-beheerder maakt bijvoorbeeld de gebruiker Roberta Smith. Roberta ontvangt het e-mailbericht "Welkom bij Salesforce" met een koppeling om haar account te controleren. Nadat ze op de koppeling heeft geklikt, wordt de waarde email_verified ingesteld op true.

  • Zij hun e-mailadres wijzigen
  • Zij hun wachtwoord wijzigen of een Salesforce-beheerder hun wachtwoord opnieuw instelt
  • Gebruikers controleren hun identiteit wanneer ze inloggen vanaf een nieuw apparaat of browser
  • Een Salesforce-beheerder hen als een nieuwe gebruiker maakt

Het volgende is een respons in JSON-indeling.

{"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"}

Het volgende is een respons in XML-indeling.

<?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>

Hieronder worden de geretourneerde parameters beschreven.

Parameter Beschrijving
sub De URL voor het eindpunt UserInfo. Dit is dezelfde URL waarop een query is uitgevoerd.
user_id Gebruikers-ID van de gebruiker uit de query.
organization_id ID van de Salesforce-organisatie van de gebruiker uit de query.
preferred_username Gebruikersnaam van de gebruiker uit de query.
nickname Experience Cloud-bijnaam van de gebruiker waarop een query wordt uitgevoerd.
name Weergavenaam (volledige naam) van de gebruiker uit de query
email E-mailadres van de gebruiker uit de query.
email_verified

Geeft aan of het e-mailadres van de gebruiker uit de query is geverifieerd door klikken op een koppeling in de "Welkom bij Salesforce" e-mail.

De waarde email_verified wordt ingesteld op true wanneer gebruikers op een koppeling klikken in het e-mailbericht dat ze ontvangen nadat dit scenario zich heeft voorgedaan: Een Salesforce-beheerder maakt bijvoorbeeld de gebruiker Roberta Smith. Roberta ontvangt het e-mailbericht "Welkom bij Salesforce" met een koppeling om haar account te controleren. Nadat ze op de koppeling heeft geklikt, wordt de waarde email_verified ingesteld op true.

  • Zij hun e-mailadres wijzigen
  • Zij hun wachtwoord wijzigen of een Salesforce-beheerder hun wachtwoord opnieuw instelt
  • Gebruikers controleren hun identiteit wanneer ze inloggen vanaf een nieuw apparaat of browser
  • Een Salesforce-beheerder hen als een nieuwe gebruiker maakt
given_name Voornaam van de gebruiker uit de query.
family_name Achternaam van de gebruiker uit de query.
zoneinfo Tijdzone die is opgegeven in de instellingen van de gebruiker uit de query.
photos

Toewijzing van URL's aan de profielfoto's van de gebruiker uit de query, opgegeven als picture, thumbnail of profile.

Opmerking
Opmerking Voor toegang tot deze URL's is een toegangstoken nodig.
address Adres van de gebruiker uit de query, hetgeen straat, plaats, staat, land en postcode van de gebruiker kan bevatten.
mobile_phone Mobiel telefoonnummer dat is opgegeven in de instellingen van de gebruiker uit de query.
mobile_phone_verified De gebruiker uit de query heeft bevestigd dat het mobiele telefoonnummer geldig is.
urls

Toewijzing met diverse API-eindpunten die kunnen worden gebruikt met de gebruiker uit de query.

Opmerking
Opmerking Toegang tot de REST-eindpunten vereist het doorgeven van een toegangstoken.
  • enterprise (SOAP)
  • metadata (SOAP)
  • partner (SOAP)
  • rest (REST)
  • sobjects (REST)
  • search (REST)
  • query (REST)
  • recent (REST)
  • profile
  • feeds (Chatter)
  • feed-items (Chatter)
  • groups (Chatter)
  • users (Chatter)
  • custom_domain

    Als de organisatie geen aangepast domein heeft geconfigureerd en gepropageerd, wordt deze waarde weggelaten.

active Booleaanse waarde die opgeeft of de gebruiker uit de query actief is.
user_type Type van de gebruiker uit de query.
language Taal van de gebruiker uit de query.
locale Omgeving van de gebruiker uit de query.
utcOffset Verschil tussen de tijdzone van de gebruiker uit de query en UTC, in milliseconden.
updated_at xsd datetime van de laatste wijziging van de gebruiker, bijvoorbeeld 2010-06-28T20:54:09.000Z.
is_app_installed Waarde is true wanneer de verbonden app is geïnstalleerd in de organisatie van de gebruiker en het toegangstoken van de gebruiker is gemaakt met behulp van een OAuth-stroom. Als de verbonden app niet is geïnstalleerd, bevat de respons deze waarde niet. Controleer wanneer de respons wordt gecontroleerd op het bestaan en de waarde van deze eigenschap.
mobile_policy

Specifieke waarden voor het beheer van een mobiele verbonden app. Deze waarden zijn alleen beschikbaar wanneer de verbonden app is geïnstalleerd in de organisatie van de huidige gebruiker, de app een gedefinieerde waarde voor sessietime-out heeft en voor de mobiele PIN (Personal Identification Number) een lengtewaarde is gedefinieerd.

  • screen_lock—Hoeveel tijd moet worden gewacht om het scherm te vergrendelen na inactiviteit.
  • pin_length—Lengte van het identificatienummer dat vereist is om toegang te krijgen tot de mobiele app.
push_service_type

Stel dit in op apple als de verbonden app is geregistreerd bij de Apple Push Notification Service (APNS) voor iOS-pushkennisgevingen. Stel deze in op androidGcm als deze is geregistreerd bij Google Cloud Messaging (GCM) voor Android-pushkennisgevingen.

De responswaarde type is een array.

custom_permissions

Wanneer een verzoek de parameter custom_permissions bevat, bevat de respons een kaart met aangepaste machtigingen in de organisatie die is gekoppeld aan de verbonden app. Als de verbonden app niet is geïnstalleerd in de organisatie of geen gekoppelde aangepaste machtigingen heeft, bevat de respons geen custom_permissions.

Hier is een voorbeeld van een verzoek.

http://MyDomainName.my.salesforce.com/services/oauth2/authorize?response_type=token&client_
          id=3MVG9lKcPoNINVBKV6EgVJiF.snSDwh6_2wSS7BrOhHGEJkC_&redirect_uri=http://www.example.org/qa/security/oauth
          /useragent_flow_callback.jsp&scope=api%20id%20custom_permissions
         

Hier is het JSON-blok in de respons van de identiteits-URL.

"custom_permissions":
           {
           "Email.View":true,
           "Email.Create":false,
           "Email.Delete":false
           }
          

De volgende zijn de mogelijke reacties uit Salesforce op een ongeldig verzoek.

Foutcode Probleem met verzoek
403 (verboden) — HTTPS_Required HTTP
403 (verboden) — Missing_OAuth_Token Ontbrekend toegangstoken
403 (verboden) — Bad_OAuth_Token Ongeldig toegangstoken
403 (verboden) — Wrong_Org Gebruikers in een andere organisatie
404 (niet gevonden) — Bad_Id Ongeldige of onjuiste gebruikers- of organisatie-ID
404 (niet gevonden) — Inactive Gedeactiveerde gebruiker of inactieve organisatie
404 (niet gevonden) — No_Access Gebruiker heeft geen juiste toegang tot organisatie of informatie
404 (niet gevonden) — No_Site_Endpoint Verzoek aan een ongeldig eindpunt van een site
404 (niet gevonden) — Interne fout Geen reactie van de server
406 (niet acceptabel) — Invalid_Version Ongeldige versie
406 (niet acceptabel) — Invalid_Callback Ongeldige callback
 
Wordt geladen
Salesforce Help | Article