Skip to main content
Nehmen Sie an unserer 10-minütigen Community-Umfrage teil. Sie ist ab jetzt bis zum 19. Juli aktiv. Klicken Sie hier, um teilzunehmen.

Erkunden von Sicherheit und Authentifizierung

Lernziele

Nachdem Sie diese Lektion abgeschlossen haben, sind Sie in der Lage, die folgenden Aufgaben auszuführen:

  • Benennen der in Salesforce-Anwendungen verwendeten Sicherheits- und Authentifizierungsmethoden
  • Beschreiben der Verwendung externer Client-Anwendungen zur Integration mobiler Anwendungen mit dem Salesforce-Server.
  • Erläutern der grundlegenden OAuth-Terminologie.
  • Beschreiben des Ablaufs der OAuth-Authentifizierung und der PIN-Sicherheit.
Hinweis

Hinweis

Lernen Sie auf Deutsch? Beginnen Sie die Aufgabe in einem Trailhead Playground in der Sprache Deutsch und verwenden Sie für die Navigation die in Klammern angegebenen Übersetzungen. Kopieren und fügen Sie nur die Angaben in Englisch ein, da zur Überprüfung der Aufgabe Daten in Englisch benötigt werden. Wenn Sie die Aufgabe in Ihrer deutschen Organisation nicht bestehen, empfehlen wir Ihnen folgende Vorgehensweise: (1) Stellen Sie das Gebietsschema auf USA um, (2) legen Sie Englisch als Sprache fest (Anweisungen dazu finden Sie hier) und (3) klicken Sie erneut auf die Schaltfläche "Check Challenge" (Aufgabe überprüfen).

Weitere Details dazu, wie Sie die übersetzte Trailhead-Umgebung optimal nutzen können, finden Sie unter dem Badge "Trailhead in Ihrer Sprache".

Schützen und Authentifizieren Ihrer mobilen Anwendung mit OAuth 2.0

Für Unternehmensanwendungen, die auf mobilen Geräten ausgeführt werden, ist eine sichere Authentifizierung unabdingbar. Das Branchenstandardprotokoll OAuth 2.0 ermöglicht eine sichere Authentifizierung für den Zugriff auf die Daten eines Verbrauchers, ohne dass Benutzername und Kennwort des Benutzers herausgegeben werden. Es wird oftmals als Werkstattschlüssel für den Softwarezugriff beschrieben. Ein Werkstattschlüssel bietet nur Zugriff auf bestimmte Funktionen Ihres Autos. Der Kofferraum oder das Handschuhfach lassen sich beispielsweise mit einem solchen Schlüssel nicht öffnen.

Entwickler von mobilen Anwendungen können die OAuth 2.0-Implementierung von Salesforce schnell und einfach einbetten. Die Implementierung verwendet eine HTML-Ansicht, um Benutzername und Kennwort zu erfassen, die danach an den Server gesendet werden. Der Server gibt ein Sitzungstoken und ein persistentes Aktualisierungstoken zurück, die für weitere Aktionen im Gerät gespeichert werden.

Eine externe Salesforce-Client-App ist das wichtigste Mittel, über das eine mobile Anwendung eine Verbindung zu Salesforce herstellt. Eine externe Clientanwendung ermöglicht es sowohl dem Entwickler als auch dem Administrator, zu steuern, wie die Anwendung eine Verbindung herstellt und wer Zugriff auf sie hat. Beispielsweise kann eine externe Clientanwendung den Zugriff auf eine bestimmte Gruppe von Kunden beschränken, einen IP-Bereich festlegen oder dessen Einschränkungen lockern und so weiter.

Vertraut werden mit OAuth-Terminologie

Wenn Ihren Orientierung fehlt, können Sie mit dieser Liste wieder in die Spur finden. Diese Bezeichnungen führen, wenn man sie im Zusammenhang betrachtet, direkt zum Erfolg mit OAuth.

Note

Hinweis
Der Begriff "Verbraucher" bezieht sich in dieser Liste stets auf eine Mobile SDK-Anwendung.

Verbraucherschlüssel

Ein Wert, der vom Verbraucher (in diesem Fall von der Mobile SDK-Anwendung) für die Identifikation der Anwendung bei Salesforce verwendet wird. Wird als client_id bezeichnet.

Zugriffstoken

Ein vom Verbraucher verwendeter Wert, mit dem im Namen des Benutzers Zugriff auf geschützte Ressourcen erlangt werden kann, ohne dass die Salesforce-Anmeldeinformationen des Benutzers verwendet werden müssen. Das Zugriffstoken ist eine Sitzungs-ID und kann direkt verwendet werden.

Aktualisierungstoken

Ein Token, das vom Verbraucher verwendet wird, um ein neues Zugriffstoken abzurufen, ohne dass der Endbenutzer den Zugriff erneut genehmigen muss.

Autorisierungscode

Ein kurzlebiges Token, das den durch den Endbenutzer gewährten Zugriff darstellt. Der Autorisierungscode dient zum Abrufen eines Zugriffstokens und eines Aktualisierungstokens.

Externe Clientanwendung

Eine Anwendung außerhalb von Salesforce, bei der das OAuth-Protokoll verwendet wird, um sowohl den Salesforce-Benutzer als auch die externe Anwendung zu verifizieren.

OAuth2-Authentifizierungs-Flow

Der Flow der Ereignisse bei der OAuth-Autorisierung hängt vom Status der Authentifizierung auf dem Gerät ab.

Ablauf der erstmaligen Autorisierung

  1. Der Kunde öffnet eine Mobile SDK-Anwendung.
  2. Eine Authentifizierungsaufforderung wird angezeigt.
  3. Der Kunde gibt Benutzername und Kennwort ein.
  4. Die Anwendung übermittelt die Anmeldedaten des Kunden an Salesforce und erhält als Bestätigung für die erfolgreiche Authentifizierung eine Sitzungs-ID.
  5. Der Kunde genehmigt die Anforderung der Anwendung, um Zugriff auf die Anwendung zu gewähren.
  6. Die Anwendung wird gestartet.

Laufende Autorisierung

  1. Der Kunde öffnet eine mobile Anwendung.
  2. Die Anwendung wird sofort gestartet, wenn die Sitzungs-ID aktiv ist. Die Anwendung verwendet das Aktualisierungstoken der ersten Autorisierung, um eine aktualisierte Sitzungs-ID zu erhalten, wenn die Sitzungs-ID veraltet ist.
  3. Die Anwendung wird gestartet.

Anwendungssperren-Sicherheit

Als optionale Sicherheitsfunktion können externe Clientanwendungen so konfiguriert werden, dass sie sich sperren, nachdem sie eine bestimmte Zeit lang im Hintergrund gelaufen sind. Zum Entsperren der Anwendung wird der Benutzer aufgefordert, die vom Betriebssystem vorgesehene biometrische oder kryptografische Sicherheitsabfrage einzugeben – beispielsweise eine PIN oder einen Passcode.

Zum Nutzen des Schutzes durch die Anwendungssperre muss der Entwickler beim Erstellen der externen Clientanwendung das Kontrollkästchen "Screen Lock" (Bildschirmsperre) aktivieren. Administratoren der mobilen Anwendung erhalten dann die Option, die Dauer des Zeitlimits anzupassen.

OAuth2-Webserver-Flow

Aus Sicherheitsgründen empfiehlt Salesforce die Verwendung des Webserver-Flows, da dieser die PKCE-Funktion (Proof Key Code Exchange) unterstützt. Weitere Informationen finden Sie unter OAuth 2.0 Web Server Flow for Web App Integration (OAuth 2.0-Webserver-Flow für die Integration von Webanwendungen).

Flow für OAuth2-Benutzeragenten

Im Benutzeragenten-Flow erhält die externe Clientanwendung, die die Clientanwendung mit der Salesforce API verbindet, das Zugriffstoken als HTTP-Weiterleitung. Die externe Clientanwendung fordert den Autorisierungsserver auf, den Benutzeragenten auf einen Webserver oder eine zugängliche lokale Ressource umzuleiten.

Der Webserver kann das Zugriffstoken aus der Antwort extrahieren und an die externe Clientanwendung weiterleiten. Aus Sicherheitsgründen wird die Tokenantwort als Hash-Tag-Fragment (#) im URL bereitgestellt. Dieses Format verhindert, dass das Token an den Server sowie an andere Server in Verweis-Headern weitergeleitet wird.

Warnung

Da das Zugriffstoken im Umleitungs-URL codiert ist, kann es für den Benutzer und andere Anwendungen auf dem Gerät verfügbar gemacht werden.

Note

Hinweis
Externe Clientanwendungen für diese Client-Typen können Geheimnisse auf Benutzerebene schützen. Das Client-Geheimnis ist jedoch zugänglich und auswertbar, da sich die ausführbaren Clientdateien auf dem Gerät des Benutzers befinden. Aus diesem Grund wird bei diesem Benutzeragenten-Flow das Client-Geheimnis nicht verwendet. Die Autorisierung beruht auf der Same-Origin-Policy des Benutzeragenten. Der Benutzeragenten-Flow unterstützt auch keine "Out-of-Band"-Posts.

Werte des Umfangsparameters

OAuth erfordert eine Konfiguration des Umfangs sowohl im Server als auch im Client. Die Vereinbarung zwischen beiden Seiten definiert den Vertrag für den Umfang.

  • Serverseitig: Definieren Sie Bereichsberechtigungen in einer externen Clientanwendung auf dem Salesforce-Server. Diese Einstellungen bestimmen, welche Zugriffsebenen Clientanwendungen, z. B. Mobile SDK-Anwendungen, anfordern können. Konfigurieren Sie zumindest die OAuth-Einstellungen Ihrer externen Clientanwendung so, dass sie mit den Angaben in Ihrem Code übereinstimmen. Bei den meisten Anwendungen genügen refresh_token, web und api. Eine vollständige Liste der Bereiche finden Sie unter OAuth Tokens and Scopes (OAuth-Token und Bereiche).
  • Clientseitig: Geben Sie Bereichsanforderungen in Ihrer Mobile SDK-Anwendung an. Anforderungen des Clientbereichs müssen eine Teilmenge der Bereichsberechtigungen der externen Clientanwendung darstellen. Im Mobile SDK 13.2 und höher führt das Fehlen von Bereichsangaben dazu, dass alle auf dem Server konfigurierten Bereiche erteilt werden.

Externe Client-Anwendungen

Externe Clientanwendungen sind paketierbare Frameworks, die es Anwendungen von Drittanbietern ermöglichen, sich mithilfe von APIs und Sicherheitsprotokollen in Salesforce zu integrieren. Darüber hinaus beinhalten sie strukturelle Verbesserungen, um separate Benutzerrollen beizubehalten und verwaltete Pakete der zweiten Generation zuzulassen. Salesforce empfiehlt, externe Clientanwendungen zu verwenden und bestehende lokal verbundene Anwendungen auf lokale externe Clientanwendungen zu migrieren.

Note

Hinweis
Einige Funktionen sind nur über verbundene Anwendungen verfügbar, und verbundene Anwendungen sind für Mobile-SDK-Anwendungen, die in mehreren Organisationen ausgeführt werden, weiterhin erforderlich. Lesen Sie dazu den Comparison of Connected Apps and External Client Apps Features (Funktionsvergleich von verbundenen Anwendungen und externen Clientanwendungen).

Erstellen einer externen Clientanwendung

Das Erstellen externer Clientanwendungen ist ganz einfach, Sie benötigen dafür jedoch Administratorrechte. In Ihrer eigenen Developer Edition- oder Trailhead Playground-Organisation werden Ihnen diese Berechtigungen automatisch erteilt.

  1. Wechseln Sie in Ihrem Trailhead Playground oder Ihrer Developer Edition-Organisation zu Setup.
  2. Geben Sie im Setup im Feld der Schnellsuche Apps (Anwendungen) an und wählen Sie dann External Client Apps Manager (Manager für externe Clientanwendungen) aus.
  3. Wählen Sie New External Client App (Neue externe Client-Anwendung) aus.
  4. Füllen Sie das Formular unter Basic Information (Grundlegende Informationen) wie folgt aus.
    • Name der externen Clientanwendung: Trailhead Intro
    • API-Name: Übernehmen Sie den vorgeschlagenen Wert..
    • Contact Email (Kontakt-E-Mail): Geben Sie Ihre E-Mail-Adresse ein.
    • Distribution State (Verteilungsstatus): Wählen Sie zum Entwickeln einer externen Clientanwendung für Ihre lokale Organisation Local (Lokal) aus. Um eine externe Client-Anwendung für die Paketerstellung und Verteilung zu entwickeln, legen Sie "Distribution State" (Verteilungsstatus) auf Packaged (Im Paket) fest.
  1. Aktivieren Sie unter "API (Enable OAuth Settings)" (API (OAuth-Einstellungen aktivieren)) Enable OAuth (OAuth aktivieren).
  2. Legen Sie den Rückruf-URL auf eine beliebige URL fest – egal ob echt oder fiktiv –, zum Beispiel mysampleapp://auth/success. Falls ein automatischer Vorschlag für den Rückruf-URL angegeben wird, akzeptieren Sie diesen nicht. Fügen Sie vielmehr den Rückruf-URL ein.
  3. Treffen Sie unter "Available OAuth Scopes" (Verfügbare OAuth-Bereiche) folgende Auswahlen:
    • Verwalten von Benutzerdaten über APIs (api)
    • Verwalten von Benutzerdaten über Webbrowser (web)
    • Durchführen von Anforderungen zu einem beliebigen Zeitpunkt (refresh_token, offline_access)
  4. Klicken Sie auf den Add Arrow (Pfeil 'Hinzufügen'), um jede Auswahl in "Selected OAuth Scopes" (Ausgewählte OAuth-Umfänge) zu verschieben. Dieser minimale Umfangbereich funktioniert bei den meisten Mobile SDK-Anwendungen gut.
  5. Unter Security (Sicherheit):
    • Aktivieren Sie das Kontrollkästchen Require Secret for Web Server Flow (Geheimnis für Webserver-Flow erforderlich).
    • Deaktivieren Sie Require Secret for Refresh Token Flow (Geheimnis für Aktualisierungstoken-Flow vorschreiben).
    • (Empfohlen) Aktivieren Sie Issue JSON Web Token (JWT)-based access tokens for named users (JSON Web Token (JWT)-basierte Zugriffstoken für benannte Benutzer ausgeben).
  6. Klicken Sie auf Create (Erstellen).

Nachdem Sie sich ein wenig mit der Architektur und Sicherheit von Mobile SDK vertraut gemacht haben, ist es Zeit, praktisch mit dem Mobile SDK zu üben. Sie können beginnen, indem Sie sich der folgenden Aufgabe stellen, für die nur eine Developer Edition- oder Trailhead Playground-Organisation erforderlich ist. Wir empfehlen Ihnen, anschließend den Badge Set Up Your Mobile SDK Developer Tools (Einrichten Ihrer Mobile SDK-Entwicklungstools) zu absolvieren.

Ressourcen

Teilen Sie Ihr Trailhead-Feedback über die Salesforce-Hilfe.

Wir würden uns sehr freuen, von Ihren Erfahrungen mit Trailhead zu hören: Sie können jetzt jederzeit über die Salesforce-Hilfe auf das neue Feedback-Formular zugreifen.

Weitere Infos Weiter zu "Feedback teilen"