Erfassen Sie Ihre Fortschritte
Trailhead-Startseite
Trailhead-Startseite

Verwenden von Heroku für die Ausführung von Salesforce Canvas-Anwendungen

Lernziele

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

  • Erklären des Authentifizierungsprozesses von Canvas-Anwendungen.
  • Erläutern, wie Heroku für die Ausführung von Salesforce Canvas-Anwendungen verwendet wird.

Salesforce Canvas

Mit Salesforce Canvas können Sie eine Benutzeroberfläche oder Webanwendung, die in Heroku ausgeführt wird, in die Salesforce-Benutzeroberfläche einbetten. Der Hauptvorteil von Canvas besteht darin, dass Sie eine Unmenge von Open Source-Webtechnologien für die Erstellung einer Webanwendung verwenden können, die sich ganz leicht in Salesforce integrieren lässt. Das Canvas SDK wird innerhalb von JavaScript in einer Webanwendung genutzt, um auf Salesforce-Daten zuzugreifen, für die der Benutzer zugriffsberechtigt ist. Sie können Canvas-Anwendungen auf Ihrem lokalen Rechner entwickeln und typische Entwickler-Workflows für Änderungsmanagement und Bereitstellung verwenden.

Hinter den Kulissen werden Canvas-Anwendungen über einen iframe in Salesforce geladen. Sie können natürlich jede beliebige Webanwendung über einen iframe in die Salesforce-Benutzeroberfläche laden, doch mit Canvas können Sie über JavaScript ein sicheres Kommunikationsprotokoll für die Kommunikation mit Salesforce verwenden. Wenn die benötigte Funktionalität über die Funktionen hinausgeht, die die Canvas JavaScript-API implementiert, können Sie die von Canvas durchgeführte Authentifizierung mit den Salesforce REST-APIs kombinieren, indem Sie beispielsweise einen REST-API-Wrapper wie JSforce verwenden.

Diagramm, das zeigt, dass Heroku-Anwendungen über eine Canvas-Javascript-Brücke mit Salesforce interagieren können

Authentifizierung

Canvas-Anwendungen verwenden eine verbundene Anwendung in Salesforce und können entweder eine signierte Anforderung oder den typischen OAuth-Ablauf für die Durchführung der Authentifizierung nutzen. Die Methode mit signierten Anforderungen hat folgenden Vorteil: Wenn ein Salesforce-Administrator Benutzern den Zugriff auf die Canvas-Anwendung gestattet hat, ist keine zwischengeschaltete Autorisierung erforderlich, damit die Anwendung Anforderungen an Salesforce absetzen darf. Nachdem die Canvas-Anwendung geladen wurde, kann sie mit dem Zugriff auf Salesforce-Daten beginnen, für die der Benutzer zugriffsberechtigt ist.

Beim Ausführen einer Canvas-Anwendung in Heroku benötigt die Anwendung das Verbrauchergeheimnis der verbundenen Anwendung, das der Anwendung über eine Heroku Config Var bereitgestellt wird, die der Anwendung als Umgebungsvariable zur Verfügung steht.

Einfache Canvas-Anwendung

Eine einfache Canvas-Anwendung lädt die Canvas SDK JavaScript-Bibliothek:

<script type="text/javascript" src="https://.salesforce.com/canvas/sdk/js/36.0/canvas-all.js"></script>
<script type="text/javascript">
    // callback to access the OAuth access token and context object
    Sfdc.canvas(function() {
        // Save the token
        Sfdc.canvas.oauth.token(window.signedRequestJson.oauthToken);
        window.alert("hello, " + window.signedRequestJson.context.user.fullName);
    });
</script>

Die Kontextdaten der Anwendung hängen davon ab, wo die Anwendung innerhalb von Salesforce ausgeführt wird. Sie können Canvas-Anwendungen in Chatter-Feeds, Chatter-Registerkarten, Layouts, mobile Karten, Publisher-Aktionen und VisualForce-Seiten laden. Jedes dieser Elemente kann einer Canvas-Anwendung unterschiedlichen Kontext bereitstellen. Wird eine Canvas-Anwendung beispielsweise im Layout einer Accountseite dargestellt, enthält der Kontext die Accountdaten. Diese Daten können von JavaScript in der Canvas-Anwendung dann zum Darstellen dieser Informationen verwendet werden.

Ressourcen