Loading
Identifizieren der Benutzer und Verwalten des Zugriffs
Abfrage von Benutzerinformationen

Abfrage von Benutzerinformationen

Eine verbundene Anwendung kann den Endpunkt "UserInfo" abfragen, um Informationen über den Benutzer zu erhalten, der mit dem Zugriffstoken der verbundenen Anwendung verknüpft ist. Salesforce gibt grundlegende persönliche Informationen über den Benutzer aus sowie wichtige Endpunkte, mit denen die verbundene Anwendung kommunizieren kann, beispielsweise Fotos und die API-Endpunkte, auf die zugegriffen werden kann. Dieser Endpunkt bietet nur Zugriff auf Informationen zum aktuellen Benutzer. Auf andere Benutzer in der Organisation kann nicht zugegriffen werden.

Erforderliche Editionen

Verfügbarkeit: Salesforce Classic und Lightning Experience
Verfügbarkeit: Alle Editionen

Der Endpunkt "UserInfo" ist eine RESTful-API, die durch OpenID Connect definiert wird. Das Format des Endpunkt-URL lautet: https://login.salesforce.com/services/oauth2/userinfo.

Hinweis
Hinweis Bei einer Sandbox wird login.salesforce.com durch test.salesforce.com ersetzt. Bei einer Experience Cloud-Site wird login.salesforce.com durch den Site-URL ersetzt, beispielsweise MyDomainName.my.site.com/.well-known/openid-configuration. Der URL muss HTTPS sein.

Mit dem folgenden Flow wird der Endpunkt "UserInfo" abgefragt.

  1. Die verbundene Anwendung sendet eine Abfrage an den Salesforce-Endpunkt "UserInfo". Die Abfrage muss das Zugriffstoken der verbundenen Anwendung enthalten.
  2. Salesforce antwortet mit den Informationen des Benutzers.

Abfragen des Endpunkts "UserInfo"

Verwenden Sie folgende Parameter, um den Endpunkt "UserInfo" abzufragen. Das Zugriffstoken kann in einem Autorisierungsanforderungs-Header oder in einer Anforderung mit dem Parameter oauth_token verwendet werden.

Wichtig
Wichtig Übergeben Sie beim Entwickeln von OAuth-Integrationen immer vertrauliche Informationen im Text einer POST-Anforderung oder in einer Anforderungskopfzeile. Verwenden Sie keine GET-Parameter in der URL-Abfragezeichenfolge, um vertrauliche Informationen weiterzugeben. Zu den vertraulichen Informationen zählen Benutzernamen, Kennwörter, OAuth-Token, Client-Geheimnisse und alle personenbezogenen Informationen. Weitere Informationen zu bewährten Vorgehensweisen für die Sicherheit finden Sie im Secure Coding Guide unter Speichern vertraulicher Daten.
Parameter Beschreibung
oauth_toke n OAuth-Token, das von einer verbundenen Anwendung verwendet wird, um im Auftrag der Client-Anwendung den Zugriff auf eine geschützte Ressource anzufordern. Zusätzliche Berechtigungen in Form von Geltungsbereichen können mit dem Zugriffstoken einhergehen.
Format

Optional. Geben Sie das Format der zurückgegebenen Ausgabe an. Folgende Werte sind verfügbar:

  • json
  • xml

Darüber hinaus kann der Client das zurückgegebene Format in einem Accept-Request-Header mit einem der folgenden Formate angeben.

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

Die Abfragezeichenfolge unterstützt zudem Folgendes.

  • Der Platzhalter */* wird akzeptiert und gibt JSON zurück.
  • Eine Liste von Werten, die von links nach rechts überprüft wird. Beispiel: application/xml,application/json,application/html,*/* gibt XML zurück.

Der Parameter format hat Vorrang vor dem Zugriffsanforderungs-Header.

Version Optional. Geben Sie eine Versionsnummer für die SOAP-API oder die Literalzeichenfolge latest an. Wenn dieser Wert nicht angegeben wird, enthält der zurückgegebene API-URL anstelle der Versionsnummer den Literalwert {version}. Wenn der Wert als latest angegeben wird, wird die aktuellste API-Version verwendet.
PrettyPrint Optional. Ist nur in einem Header zulässig und nicht als URL-Parameter. Geben Sie diesen Parameter an, um die zurückgegebene XML- oder JSON-Ausgabe nicht auf die Größe, sondern auf die Lesbarkeit zu optimieren. Verwenden Sie beispielsweise Folgendes in einem Header: X-PrettyPrint:1 hinzu.
Rückmeldung

Optional. Geben Sie einen gültigen JavaScript-Funktionsnamen an. Sie können diesen Parameter verwenden, wenn das angegebene Format JSON ist. Die Ausgabe wird in diesen Funktionsnamen (JSONP) eingeschlossen. Beispiel: Wenn eine Anforderung an https://server/id/orgid/userid/ den Wert {"function":"name"} zurückgibt, gibt eine Anforderung an https://server/id/orgid/userid/?callback=baz den Wert baz({"function":"name"}); zurück.

Hinweis
Hinweis Aufgrund der strengen MIME-Eingabe wird JSONP für Identitätsserviceanforderungen nicht mehr zurückgegeben. In Ihren Anforderungen muss 'format=jsonp' mit dem Callback-Parameter hinzugefügt werden, damit der Identitätsservice JavaScript zurückgibt. Wenn der Identitätsservice das JSONP-Format erkennt, wird der erforderliche JavaScript-Typ ('application/javascript') zurückgegeben.
is_salesforce_integration_user Optional. Geben Sie diesen Parameter an, um zu bestimmen, ob der Benutzer über die Salesforce-Integrationsbenutzerlizenz verfügt.

Der Salesforce-Endpunkts "UserInfo" sendet eine aAntwort

Im Anschluss an eine gültige Anforderung gibt Salesforce die Informationen standardmäßig im JSON-Format bzw. in dem im Parameter format angegebenen Format zurück.

Die Antwort enthält Werte, die im OpenID Connect Basic-Client-Profil aufgelistet sind, die Salesforce-Benutzer-ID, die Organisations-ID sowie die Feed- und Profil-URLs.

In der Antwort gibt das Attribut email_verified an, ob Benutzer ihre E-Mail-Adresse nach folgendem Szenario bestätigen: Beispielsweise erstellt ein Salesforce-Administrator die Benutzerin Roberta Schmidt. Frau Schmidt erhält eine E-Mail "Willkommen bei Salesforce" mit einem Link zum Bestätigen ihres Accounts. Nachdem sie auf den Link geklickt hat, wird der Wert von email_verified auf true festgelegt.

  • Sie ändern ihre E-Mail-Adresse
  • Sie ändern ihr Kennwort oder ein Salesforce-Administrator setzt ihr Kennwort zurück
  • Sie bestätigen ihre Identität, wenn sie sich über ein neues Gerät oder einen Browser anmelden.
  • Ein Salesforce-Administrator erstellt sie als neuen Benutzer

Hier eine Antwort im JSON-Format.

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

Im Folgenden finden Sie eine Antwort im XML-Format.

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

Im Folgenden finden Sie Beschreibungen für die zurückgegebenen Parameter.

Parameter Beschreibung
sub Der URL für den Endpunkt "UserInfo", wobei es sich um denselben URL handelt, der abgefragt wurde.
user_id Benutzer-ID des abgefragten Benutzers.
organization_id ID der Salesforce-Organisation des abgefragten Benutzers.
preferred_username Benutzername des abgefragten Benutzers.
nickname Experience Cloud-Nickname des abgefragten Benutzers.
name Anzeigename (vollständiger Name) des angefragten Benutzers.
email E-Mail-Adresse des angefragten Benutzers.
email_verified

Gibt an, ob die E-Mail-Adresse des angefragten Benutzers durch Klicken auf den Link in der E-Mail "Willkommen bei Salesforce" bestätigt wurde.

Der Wert von email_verified ist auf true festgelegt, wenn Benutzer auf einen Link in der E-Mail klicken, die sie nach folgendem Szenario erhalten: Beispielsweise erstellt ein Salesforce-Administrator die Benutzerin Roberta Schmidt. Frau Schmidt erhält eine E-Mail "Willkommen bei Salesforce" mit einem Link zum Bestätigen ihres Accounts. Nachdem sie auf den Link geklickt hat, wird der Wert von email_verified auf true festgelegt.

  • Sie ändern ihre E-Mail-Adresse
  • Sie ändern ihr Kennwort oder ein Salesforce-Administrator setzt ihr Kennwort zurück
  • Sie bestätigen ihre Identität, wenn sie sich über ein neues Gerät oder einen Browser anmelden.
  • Ein Salesforce-Administrator erstellt sie als neuen Benutzer
given_name Vorname des abgefragten Benutzers.
family_name Nachname des abgefragten Benutzers.
zoneinfo Zeitzone in den Einstellungen des abgefragten Benutzers.
photos

Zuordnung von URLs zu den Profilbildern des angefragten Benutzers, die als picture, thumbnail oder profile angegeben sind.

Hinweis
Hinweis Für den Zugriff auf diese URLs muss ein Zugriffstoken weitergeleitet werden.
address Die Adresse des abgefragten Benutzers, die Straße, Stadt, Bundesland, Land und Postleitzahl des Benutzers enthalten kann.
mobile_phone Mobiltelefonnummer, die in den Einstellungen des abgefragten Benutzers angegeben ist.
mobile_phone_verified Der abgefragte Benutzer hat die Gültigkeit der Mobiltelefonnummer bestätigt.
urls

Zuordnung mit verschiedenen API-Endpunkten, die zusammen mit dem abgefragten Benutzer verwendet werden können

Hinweis
Hinweis Für den Zugriff auf die REST-Endpunkte muss ein Zugriffstoken weitergeleitet werden.
  • 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

    Wenn für die Organisation keine benutzerdefinierte Domäne konfiguriert und verbreitet wurde, wird dieser Wert ausgelassen.

active Boolescher Wert, der angibt, ob der angefragte Benutzer aktiv ist.
user_type Typ des abgefragten Benutzers.
language Sprache des abgefragten Benutzers.
locale Gebietsschema des abgefragten Benutzers.
utcOffset Zeitverschiebung zwischen UTC und der Zeitzone des abgefragten Benutzers (in Millisekunden).
updated_at xsd datetime-Format der letzten Änderung des Benutzers, z. B 2010-06-28T20:54:09.000Z.
is_app_installed Der Wert ist true, wenn die verbundene Anwendung in der Organisation des Benutzers installiert ist und das Zugriffstoken für den Benutzer mit einem OAuth-Flow erstellt wurde. Wenn die verbundene Anwendung nicht installiert ist, ist dieser Wert nicht in der Antwort enthalten. Überprüfen Sie beim Analysieren der Antwort, ob diese Eigenschaft vorhanden ist und welchen Wert sie hat.
mobile_policy

Spezifische Werte zur Verwaltung der mobilen verbundenen Anwendung. Diese Werte sind nur verfügbar, wenn die verbundene Anwendung in der Organisation des aktuellen Benutzers installiert ist, die Anwendung über einen definierten Sitzungs-Timeout-Wert verfügt und ein Wert für die Länge der mobilen PIN festgelegt ist.

  • screen_lock: Wartezeit, nach der der Bildschirm bei Inaktivität gesperrt wird.
  • pin_length: Länge der Identifikationsnummer, die für den Zugriff auf die mobile Anwendung benötigt wird.
push_service_type

Ist auf apple festgelegt, wenn die verbundene Anwendung beim Apple Push Notification Service (APNS) für iOS-Push-Benachrichtigungen registriert ist. Ist auf androidGcm festgelegt, wenn sie bei Google Cloud Messaging (GCM) für Android-Push-Benachrichtigungen registriert ist.

Bei dem Typ des Antwortwerts handelt es sich um ein Array.

custom_permissions

Wenn eine Anforderung den Umfangsparameter custom_permissions enthält, beinhaltet die Antwort eine Übersicht über die benutzerdefinierten Berechtigungen in der Organisation, die mit der verbundenen Anwendung verknüpft sind. Wenn die verbundene Anwendung nicht in der Organisation installiert ist oder über keine verknüpften benutzerdefinierten Berechtigungen verfügt, ist in der Antwort keine custom_permissions-Übersicht enthalten.

Hier eine Beispielanforderung.

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
         

Nachstehend ist der JSON-Block in der Identitäts-URL-Antwort dargestellt.

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

Auf eine ungültige Anforderung sind folgende Antworten von Salesforce möglich.

Fehlercode Problem der Anforderung
403 (verboten) – HTTPS_Required HTTP
403 (verboten) – Missing_OAuth_Token Fehlender Zugriffstoken
403 (verboten) – Bad_OAuth_Token Ungültiger Zugriffstoken
403 (verboten) – Wrong_Org Benutzer in einer anderen Organisation
404 (nicht gefunden) – Bad_Id Ungültige oder unzulässige Benutzer- oder Organisations-ID
404 (nicht gefunden) – Inactive Deaktivierter Benutzer oder inaktive Organisation
404 (nicht gefunden) – No_Access Benutzer fehlt entsprechender Zugriff auf Organisation oder Informationen
404 (nicht gefunden) – No_Site_Endpoint Anforderung an ungültigen Endpunkt einer Site
404 (nicht gefunden) – Interner Fehler Keine Antwort vom Server
406 (nicht annehmbar) – Invalid_Version Ungültige Version
406 (nicht annehmbar) – Invalid_Callback Ungültige Rückmeldung
 
Laden
Salesforce Help | Article