Ermöglichen einer Autorisierung für externe API-Gateways
Lernziele
- Beschreiben der dynamischen Clientregistrierung und Selbstprüfung von Token von OpenID Connect
- Beschreiben, wie Salesforce verbundene Anwendungen verwendet, um die Autorisierung für externe API-Gateways zu ermöglichen
Dynamische Client-Registrierung und Selbstprüfung von Token von OpenID Connect
In der ersten Einheit haben Sie erfahren, wie Salesforce als unabhängiger OAuth-Autorisierungsserver fungieren kann, um Ressourcen zu schützen, die auf einem externen API-Gateway gehostet werden. Dieser Anwendungsfall einer verbundenen Anwendung wird durch die dynamische Client-Registrierung und Selbstprüfung von Token von OpenID Connect ermöglicht.
Die dynamische Client-Registrierung ermöglicht es Ressourcenservern, Client-Anwendungen dynamisch als verbundene Anwendungen zu erstellen. Die Client-Anwendungen sind externe Anwendungen, die den Zugriff auf die geschützten Ressourcen anfordern. Um Client-Anwendungen dynamisch als verbundene Anwendungen zu erstellen, sendet der Ressourcenserver dem Autorisierungsserver eine Anforderung zum Erstellen einer verbundenen Anwendung für die Client-Anwendung. Der Autorisierungsserver überprüft die Anforderung des Ressourcenservers und erstellt die verbundene Anwendung, wodurch sie eine eindeutige Client-ID und ein Client-Geheimnis erhält.
Die Selbstprüfung von Token ermöglicht es allen mit OAuth verbundenen Anwendungen, den aktuellen Status eines OAuth 2.0-Zugriffs- oder Aktualisierungs-Tokens zu überprüfen. Der Ressourcenserver oder die verbundenen Anwendungen senden die Client-ID und das Geheimnis der Client-Anwendung an den Autorisierungsserver und leiten einen OAuth-Autorisierungsablauf ein. Im Rahmen dieses Ablaufs wird das Zugriffs-Token der Client-Anwendung vom Autorisierungsserver validiert (bzw. einer Selbstprüfung unterzogen). Wenn das Zugriffs-Token aktuell und gültig ist, wird der Client-Anwendung Zugriff gewährt.
Autorisierungs-Flows für externe API-Gateways
Die dynamische Client-Registrierung und Selbstprüfung von Token von OpenID Connect mag etwas komplex erscheinen. Deshalb wollen wir ihren Flow mithilfe des folgenden Beispiels veranschaulichen.
Sie möchten, dass Ihre Salesforce-Partner unabhängig voneinander auf Auftragsstatusdaten zugreifen können. Also richten Sie einen Service ein, der den Auftragsstatus mehrere Systeme übergreifend anzeigt, indem Sie ihm ein API-Gateway vorschalten, das auf der Anypoint Platform von MuleSoft bereitgestellt wird. Um einen geschützten Zugriff auf diese Daten zu ermöglichen, führen Sie die folgenden Schritte aus.
- Zuordnen einer Erzwingungsrichtlinie für OpenID-Token auf dem API-Gateway
- Konfigurieren von Salesforce als Client-Verwaltungsanbieter auf der Anypoint Platform von Mulesoft
Bei dieser Konfiguration verwendet das API-Gateway Salesforce als Autorisierungsanbieter im OpenID Connect-Flow der dynamischen Client-Registrierung und Selbstprüfung von Token.
- Das API-Gateway registriert eine Client-Anwendung beim Endpunkt der dynamischen Client-Registrierung von Salesforce.
- Das API-Gateway sendet eine Anforderung an den Salesforce-Autorisierungsendpunkt, um eine Client-Anwendung basierend auf dem ihr zugehörigen Typ der Autorisierungserteilung zu genehmigen.
- Bei erfolgreicher Validierung generiert Salesforce ein Zugriffs-Token für die Client-Anwendung.
- Das API-Gateway sendet eine Anforderung an den Salesforce-Endpunkt zur Selbstprüfung von Token, um das Zugriffs-Token zu validieren.
- Nach erfolgreicher Validierung ermöglicht das API-Gateway der Client-Anwendung den Zugriff auf die geschützten Daten.
Nun ist es Zeit, alle Lerninhalte zusammenzuführen.
- Ihre Auftragsstatus-API ist im API-Portal von MuleSoft verfügbar.
- Ihre Partner melden sich bei MuleSoft an und erstellen eine Client-Anwendung, um auf die Auftragsstatus-API zuzugreifen.
- Die neue Client-Anwendung sendet automatisch eine Anforderung an den Endpunkt der dynamischen Client-Registrierung von Salesforce, um eine verbundene Anwendung für die Client-Anwendung zu erstellen.
- Nach erfolgreicher Registrierung gibt Salesforce eine Client-ID und ein Client-Geheimnis für die verbundene Anwendung zurück, die dem Partner mitgeteilt werden.
- Der Partner sendet eine Anforderung mit den Client-Anmeldeinformationen an das API-Gateway, indem er den Erteilungstyp (Autorisierungscode) für die Genehmigung des Clients angibt.
- Der Partner wird zu einem Browser weitergeleitet, um sich bei Salesforce anzumelden und den Zugriff auf Daten zu autorisieren. Diese Autorisierung basiert auf Geltungsbereichen, die der entsprechenden verbundenen Anwendung in Salesforce zugeordnet sind.
- Bei erfolgreichem Flow der Erteilung eines Autorisierungscodes sendet Salesforce ein Zugriffs-Token an die Client-Anwendung.
- Die Client-Anwendung sendet ihr Zugriffs-Token an das API-Gateway und fordert den Zugriff auf die geschützten Auftragsstatusdaten an.
- Das API-Gateway extrahiert das Zugriffs-Token und sendet es an den Salesforce-Endpunkt für die Selbstprüfung von Token.
- Salesforce validiert das Zugriffs-Token.
- Das API-Gateway gewährt der Client-Anwendung Zugriff auf die durch Ihre Auftragsstatus-API geschützten Daten, die auf MuleSoft gehostet werden.
Sie haben Ihr Ziel erreicht
Herzlichen Glückwunsch! Sie haben das Modul "Verbundene Anwendungen – Grundlagen" abgeschlossen. Sie sollten nun damit vertraut sein, wie Sie verbundene Anwendungen nutzen können. In künftigen Modulen und Projekten zu verbundenen Anwendungen zeigen wir Ihnen, wie Sie verbundene Anwendungen für diese Anwendungsfälle erstellen und konfigurieren können. In der Zwischenzeit sollten Sie wissen, dass Sie auf dem besten Weg sind, ein Experte für verbundene Anwendungen zu werden.
Ressourcen
- Salesforce-Hilfe: OpenID Connect: dynamische Clientregistrierung für externe API-Gateways