Loading
Identifizieren der Benutzer und Verwalten des Zugriffs
OAuth-Token und -Geltungsbereiche

OAuth-Token und -Geltungsbereiche

OAuth-Token autorisieren den Zugriff auf geschützte Ressourcen. Verbundene Anwendungen erhalten Token nach der Autorisierung von einem Client. Umfänge definieren außerdem den Typ der geschützten Ressourcen, auf die die verbundene Anwendung zugreifen kann. Sie weisen einer verbundenen Anwendung Geltungsbereiche zu, wenn Sie sie erstellen. Diese werden während des Autorisierungs-Flows in die OAuth-Token aufgenommen.

Erforderliche Editionen

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

OAuth-Token

Abhängig vom Autorisierungs-Flow kann der Autorisierungsserver dem Client diese OAuth-Token bereitstellen.

OAuth-Token Beschreibung
Autorisierungscode Der Autorisierungsserver erstellt einen Autorisierungscode, bei dem es sich um ein kurzlebiges Token handelt, und übergibt ihn nach einer erfolgreichen Authentifizierung an den Client. Der Client sendet den Autorisierungscode an den Autorisierungsserver, um ein Zugriffstoken und optional ein Aktualisierungstoken zu erhalten.
Zugriffstoken

Nach der Autorisierung eines Clients sendet Salesforce dem Client ein Zugriffstoken. Der Client leitet das Zugriffstoken an den Ressourcenserver weiter, um Zugriff auf geschützte Ressourcen anzufordern. Der Ressourcenserver validiert das Zugriffstoken und zusätzliche Berechtigungen in Form von Umfängen, bevor Zugriff auf den Client gewährt wird.

Das Zugriffstoken verfügt über eine längere Lebenszeit als der Autorisierungscode, normalerweise Minuten oder Stunden. Wenn ein Zugriffstoken abläuft, schlagen Versuche, es zu verwenden, fehl. Der Client muss ein neues Zugriffstoken abrufen, indem er ein Aktualisierungstoken verwendet oder den Autorisierungs-Flow erneut initiiert.

Der Client muss in der Lage sein, das Zugriffstoken vor Abfangen durch ein Protokoll wie beispielsweise Transport Layer Security (TLS oder SSL) zu schützen.

Um einen OAuth 2.0-Autorisierungsflow zu implementieren, der ein Zugriffstoken verwendet, weisen Sie der verbundenen Anwendung, die den Client in die Salesforce-API integriert, den web-Umfang zu.

Nach Erhalt eines Zugriffstokens kann der Client eine dieser Methoden verwenden, um Zugriff anzufordern.

  • Verwenden Sie bei der REST-API eine HTTP-Autorisierungskopfzeile im folgenden Format: Authorization: Bearer Access_Token hinzu.
  • Verwenden Sie bei der SOAP-API die SOAP-Autorisierungskopfzeile "SessionHeader". Das Zugriffstoken wird in die Kopfzeile gestellt.
  • Für den Identitäts-URL müssen Sie entweder eine HTTP-Autorisierungskopfzeile (wie bei der REST-API) oder einen HTTP-Parameter vom Typ "oauth_token" verwenden.

Salesforce erteilt eindeutige Zugriffstoken für jede Kombination aus verbundener Anwendung (Client) und Benutzer. Unter den folgenden Bedingungen kann Salesforce unterschiedlichen Serviceanbietern dasselbe Zugriffstoken ausstellen:

  • Sie konfigurieren eine einzelne verbundene Anwendung für mehrere Serviceanbieter.
  • Ein Benutzer verwendet eine aktive Sitzung bei einem Serviceanbieter. Anschließend meldet sich der Benutzer bei einem anderen Serviceanbieter an, indem er dieselbe verbundene Anwendung verwendet, die für beide Serviceanbieter konfiguriert wurde.

Erstellen Sie für jeden Serviceanbieter eine eigene verbundene Anwendung, um sicherzustellen, dass unterschiedliche Serviceanbieter eindeutige Zugriffstoken erhalten.

Aktualisierungstoken

Ein Client kann ein Aktualisierungstoken wiederholt verwenden, um Zugriff auf den Ressourcenserver zu erhalten. Wenn ein Aktualisierungstoken abläuft oder ein Benutzer es außerhalb des Clients widerruft, fordert der Client in der Regel ein neues Zugriffstoken an, indem er den Autorisierungs-Flow ganz neu implementiert.

Ein Aktualisierungstoken kann eine unbegrenzte Lebenszeit besitzen, so lange gültig sein wie vom Administrator konfiguriert oder so lange, bis es widerrufen wird. Der Client kann ein Aktualisierungstoken speichern und es verwenden, um neue Zugriffstoken zu erhalten. Aus Sicherheitsgründen muss der Client ein Aktualisierungstoken vor unautorisiertem Zugriff schützen.

Wenn die Anforderung den refresh_token- oder offline_access-Geltungsbereich enthält, können der OAuth 2.0-Benutzeragent und die OAuth 2.0-Webserver-Flows Aktualisierungstoken anfordern.

ID-Token

Das ID-Token ist eine signierte Datenstruktur, die authentifizierte Benutzerattribute enthält, einschließlich eines eindeutigen Kennzeichners für den Benutzer und des Zeitpunkts der Tokenausstellung. Darüber hinaus gibt es die anfordernde Client-Anwendung an. Salesforce kann auf eine OAuth-Anforderung mit einem ID-Token antworten, das den OpenID Connect-Spezifikationen entspricht.

Wenn die Anforderung diese Parameter enthält, können sowohl der OAuth 2.0-Benutzeragent- als auch der OAuth 2.0-Webserver-Flow ein signiertes ID-Token anfordern. Beim zurückgegebenen Token handelt es sich um ein JSON-Webtoken (JWT).

  • Der Benutzeragenten-Flow muss den Parameter "response_type" mit dem Wert "token id_token", den Geltungsbereich "openid" und den Parameter "nonce" enthalten.
  • Der Webserver-Flow muss den Parameter "response_type" mit dem Wert "code" und den Geltungsbereich "openid" enthalten. Der Parameter "nonce" ist optional.

Im Folgenden finden Sie eine Beispielanforderung für ein ID-Token mithilfe des Benutzeragent-Flows.

https://MyDomainname.my.salesforce.com/services/oauth2/authorize?response_type=token+id_token
&redirect_uri=https://MyDomainName.my.salesforce.com/services/oauth2/success
&client_id=3MVG9lKcPoNINVBIPJjdw1J9LLJbP_pqwoJYyuisjQhr_LLurNDv7AgQvDTZwCoZuD_
3Oxug0sU3_WrBPd_Ax6Mcnlg5HSnLGQ&scope=openid&nonce=somevalue

Verwenden Sie die bereitgestellten öffentlichen Schlüssel, um zu überprüfen, ob es sich bei der Signatur in der Antwort um eine gültige Salesforce-Signatur handelt. Die Antwort unter myDomainName.my.salesforce.com/id/keys enthält JSON-formatierte Informationen zu den öffentlichen Schlüsseln, die für die Signierung verwendet wurden. Validieren Sie die Signatur anhand des Schlüssels mit dem richtigen kid-Wert, der die Versionsnummer angibt.

Ursprüngliches Zugriffstoken Salesforce schreibt dieses ursprüngliche Zugriffstoken für die Autorisierung des Flows zur Registrierungsanforderung des dynamischen Clients vor. Generieren Sie nach dem Konfigurieren einer verbundenen OAuth 2.0-Anwendung ein ursprüngliches Zugriffstoken.
Datenbestands-Token Für einen effizienten Token-Austausch und die automatische Verknüpfung von Geräten mit Service Cloud-Datenbestandsdaten kann ein Client den OAuth 2.0-Geräte-Flow implementieren. In diesem Flow kann der Client ein Zugriffstoken und ein Akteur-Token gegen ein Datenbestands-Token austauschen. Dieser Flow kombiniert das Ausstellen des Datenbestands-Tokens mit der Datenbestandsregistrierung.
Delete-Token Ein Token, das verwendet werden kann, um Aktualisierungstoken und zugehörige Zugriffstoken zu widerrufen. Dieses Token wird durch das Feld DeleteToken im Objekt OauthToken dargestellt. Um dieses Token verwenden zu können, fügen Sie es in eine Anforderung an den OAuth 2.0-Widerrufs-Endpunkt ein oder verwenden Sie Apex. Informationen finden Sie unter Widerrufen von opaken OAuth-Token.

OAuth-Umfang

Sie können diese OAuth-Geltungsbereiche der verbundenen Anwendung zuweisen, um den Typ der geschützten Ressourcen zu definieren, auf die der Client zugreifen kann.

Wert Beschreibung
ANSI SQL-Abfragen für Customer Data Platform-Daten ausführen (cdp_query_api) Ermöglicht ANSI SQL-Abfragen von Data Cloud-Daten im Auftrag des Benutzers.
Pardot-Services verwalten (pardot_api) Ermöglicht den Zugriff auf API-Services von Marketing Cloud Account Engagement im Namen des Benutzers. Verwalten Sie den vollen Umfang der aufrufbaren Services in Account Engagement. (Pardot heißt nun Marketing Cloud Account Engagement.)
Profildaten der Customer Data Platform verwalten (cdp_profile_api) Ermöglicht den Zugriff auf REST-API-Daten von Data Cloud. Verwenden Sie diesen Umfang zum Verwalten von Profildatensätzen.
Auf Connect-REST-API-Ressourcen zugreifen (chatter_api) Ermöglicht den Zugriff auf einige Connect-REST-API-Ressourcen im Namen des Benutzers. Verwenden Sie den Umfang api, um den Zugriff auf alle Connect-REST-API-Ressourcen zuzulassen.
Aufnahme-API-Daten der Customer Data Platform verwalten (cdp_ingest_api) Ermöglicht den Zugriff auf Aufnahme-API-Daten von Data Cloud. Verwenden Sie diesen Geltungsbereich, um externe Datensets in Data Cloud hochzuladen und dort zu pflegen. Dieser Umfang wird in einem JSON-Webtoken (JWT) als Paket aufgenommen.
Auf Analytics-REST-API-Ressource für Diagramm-Geodaten zugreifen (eclair_api) Ermöglicht den Zugriff auf die Analytics-REST-API-Ressource für Diagramm-Geodaten.
Auf Analytics-REST-API-Ressourcen zugreifen (wave_api) Ermöglicht den Zugriff auf die Ressourcen der Analytics-REST-API.
Benutzerdaten über APIs verwalten (api) Ermöglicht den Zugriff auf den Account des aktuellen angemeldeten Benutzers mithilfe von APIs wie der REST-API und der Bulk-API 2.0. Dieser Umfang ermöglicht auch den Zugriff auf alle Connect-REST-API-Ressourcen.
Auf benutzerdefinierte Berechtigungen zugreifen (custom_permissions) Ermöglicht den Zugriff auf die benutzerdefinierten Berechtigungen in einer Organisation, die der verbundenen Anwendung zugeordnet ist. Der Umfang gibt auch an, ob die einzelnen Berechtigungen für den aktuellen Benutzer aktiviert wurden.
Auf Identitäts-URL-Service zugreifen (id, profile, email, address, phone) Gestattet Zugriff auf den Identitäts-URL-Service. Sie können profile, email, address oder phone einzeln anfordern, um dasselbe Ergebnis zu erhalten wie bei Verwendung von id, da sie synonym sind.
Auf Lightning-Anwendungen zugreifen (lightning) Ermöglicht es hybriden Anwendungen, untergeordnete Lightning-Sitzungen direkt über den Token-Flow der OAuth 2.0-Hybridanwendung und den Aktualisierungstoken-Flow der OAuth 2.0-Hybridanwendung abzurufen.
Auf Inhaltsressourcen zugreifen (content) Ermöglicht es hybriden Anwendungen, untergeordnete Inhaltssitzungen direkt über den Token-Flow der OAuth 2.0-Hybridanwendung und den Aktualisierungstoken-Flow der OAuth 2.0-Hybridanwendung abzurufen.
Auf eindeutige Benutzerkennzeichner zugreifen (openid)

Ermöglicht den Zugriff auf die eindeutige ID des angemeldeten Benutzers für verbundene OpenID Connect-Anwendungen.

Verwenden Sie im OAuth 2.0-Benutzeragenten-Flow und im OAuth 2.0-Webserver-Flow den Geltungsbereich "openid". Neben dem Zugriffstoken können Sie mit diesem Umfang auch ein signiertes ID-Token empfangen, das den OpenID Connect-Spezifikationen entspricht.

Uneingeschränkter Zugriff (full)

Ermöglicht Zugriff auf alle für angemeldete Benutzer zugänglichen Daten und schließt alle anderen Umfänge ein.

"full" gibt kein Aktualisierungstoken zurück. Sie müssen explizit den Geltungsbereich "refresh_token" anfordern, um ein Aktualisierungstoken zu erhalten.

Anforderungen jederzeit ausführen (refresh_token, offline_access) Ermöglicht die Rückgabe eines Aktualisierungstokens, wenn der Client, der die Anforderung sendet, zum Bezug eines solchen Tokens berechtigt ist. Mit einem Aktualisierungstoken kann die Anwendung die Daten des Benutzers verarbeiten, während der Benutzer offline ist. Dieses Token ist gleichbedeutend mit der Anforderung von "offline_access".
Auf Visualforce-Anwendungen zugreifen (visualforce)

Lässt nur den Zugriff auf vom Kunden erstellte Visualforce-Seiten zu. Dieser Umfang lässt den Zugriff auf standardmäßige Salesforce-Benutzeroberflächen nicht zu.

Damit hybride Anwendungen untergeordnete Visualforce-Sitzungen direkt abrufen können, binden Sie diesen Umfang in den Token-Flow der OAuth 2.0-Hybridanwendung und den Aktualisierungstoken-Flow der OAuth 2.0-Hybridanwendung ein.

Benutzerdaten über Webbrowser verwalten (web) Ermöglicht die Verwendung von access_token im Web. Dieser Umfang beinhaltet auch "visualforce", womit der Zugriff auf vom Kunden erstellte Visualforce-Seiten gestattet wird.
Auf Chatbot-Services zugreifen (chatbot_api) Ermöglicht den Zugriff auf Einstein-Bot-API-Services.
Auf API vom Typ "Registrierung (ohne Kopf)" zugreifen (user_registration_api) Ermöglicht den Zugriff auf die API für den Headless-Registrierungs-Flows. Wenn Sie Ihren Flow so einrichten, dass eine Authentifizierung erforderlich ist, müssen Sie ein Zugriffstoken übergeben, das diesen Geltungsbereich enthält.
Auf API vom Typ "Kennwort vergessen (Headless)" zugreifen (forgot_password) Ermöglicht den Zugriff auf den Flow "Kennwort vergessen (Headless)". Wenn Sie Ihren Flow so einrichten, dass eine Authentifizierung erforderlich ist, müssen Sie ein Zugriffstoken übergeben, das diesen Geltungsbereich enthält.
Auf alle Data Cloud-API-Ressourcen zugreifen (cdp_api) Ermöglicht den Zugriff auf alle Data Cloud-API-Ressourcen.
Auf Salesforce-API-Plattform zugreifen (sfap_api) Ermöglicht den Zugriff auf die Salesforce-API-Plattform, einschließlich API-Services, auf die über api.salesforce.com oder den entsprechenden Einsatzbereichsendpunkt zugegriffen wird.
Auf API-Ressourcen der Interaktion zugreifen (interaction_api) Für spätere Verwendung reserviert.

Wenn der Client ein Zugriffstoken erhält, fügt der Autorisierungsserver zudem die Umfänge in seine Antwort ein, die der verbundenen Anwendung zugewiesen sind. Diese Umfänge werden auch zusammen mit dem Aktualisierungstoken gespeichert. Sowohl bei JSON- als auch bei SAML-Bearer-Token-Anforderungen werden mit den Anforderungen die Umfänge aller früheren Aktualisierungstoken kombiniert.

Alle Umfangswerte enthalten "id". Damit können Sie jederzeit auf die Identitäts-URLs zugreifen.

Diese Beispielanforderung enthält die Umfänge "api", "id" und "web". Die Umfangswerte werden durch Leerzeichen (%20) getrennt.

https://MyDomainName.my.salesforce.com/services/oauth2/authorize?
response_type=token&
client_id=3MVG9lKcPoNINVBKV6EgVJiF.snSDwh6_2wSS7BrOhHGEJkC_&
redirect_uri=http%3A%2F%2F2www.example.org%2Fqa%2Fsecurity%2Foauth%2Fuseragent_flow_callback.jsp&
scope=api%20id%20web
 
Laden
Salesforce Help | Article