• Englisch
  • Docs
  • Wissensdatenbank
  • F.A.Q
  • Forum
  • Medien
  • Kurse
  • Marktplatz
  • Login
  • Try for free
  • Englisch
  • Docs
  • Wissensdatenbank
  • F.A.Q
  • Forum
  • Medien
  • Kurse
  • Marktplatz
  • Login
  • Try for free
home/Wissensdatenbank/Integration/REST: Verwenden Sie ein CSRF-Token und ein Cookie, um Anfragen zu autorisieren

REST: Verwenden Sie ein CSRF-Token und ein Cookie, um Anfragen zu autorisieren

Written by Jennifer Häfner
Juli 24, 2024

In diesem Artikel zeigen wir Ihnen, wie Sie ein CSRF-Token und ein Cookie aus den Antwortheadern eines REST-Aufrufs abrufen und beide Werte als Eingabeparameter in einem anderen REST-Aufruf verwenden können, um Anfragen zu autorisieren.

Voraussetzungen

Sie benötigen einen konfigurierten REST-Konnektor für eine REST-API, die mit CSRF-Token/Cookies arbeitet, um unbefugten Zugriff zu verhindern.

Was ist ein CSRF-Token?

CSRF steht für “Cross-Site Request Forgery” und ist eine Art böswilliger Angriff auf webbasierte Anwendungen. Bei CSRF-Angriffen werden bösartige Befehle unwissentlich von vertrauenswürdigen Benutzern übermittelt. Wenn sich ein Benutzer erfolgreich bei einer Anwendung angemeldet hat, ist dieser Benutzer berechtigt, Befehle (z. B. zum Erstellen/Aktualisieren von Daten) an das Backend zu senden. Bei CSRF-Angriffen werden diese Befehle im Hintergrund gesendet, ohne dass der Benutzer davon weiß. Da die Benutzerberechtigung und die Parameter dieser Befehle aus einer vertrauenswürdigen Quelle stammen, wird der Befehl als gültig behandelt und daher ausgeführt. Um CSRF-Angriffe zu verhindern, können Webanwendungen, die JavaScript verwenden, die sogenannte ” Cookie-to-Header-Token”-Technik verwenden. Bei dieser Technik wird von der Anwendung ein Cookie generiert, das ein zufälliges Token für die Sitzung enthält. Dieses zufällige Token wird dann zu den Header-Parametern (CSRF-Token-Header) jeder Anforderung an den Server hinzugefügt, und der Server kann die Anforderung validieren. Lesen Sie mehr zu diesem Thema in diesem Artikel.

Die Cookie-to-Header-Token-Technik in Simplifier

Im folgenden Abschnitt zeigen wir Ihnen, wie Sie eine REST-API integrieren, die die “Cookie-to-Header-Token”-Technik in Simplifier verwendet.

Schritt 1: Rufen Sie das CSRF-Token und das Cookie ab

Zuerst müssen wir ein CSRF-Token und ein Cookie vom Server über die REST-API anfordern. Die genauen Parameter, die für diese Anforderung erforderlich sind, hängen von der verwendeten REST-API ab. In unserem Beispiel haben wir einen REST-Konnektor mit dem Namen “Test”. Dieser Connector verfügt über einen Aufruf namens “getToken”. Mit diesem Aufruf werden ein CSRF-Token und ein Cookie vom Server angefordert. Das CSRF-Token und das Cookie werden als Antwortheader gesendet. Um diese Antwortheader in das Ergebnis einzubeziehen, wechseln wir in die erweiterte Ansicht der Detailansicht des Konnektoraufrufs und fügen einen zusätzlichen Eingabeparameter hinzu: ‘configuration/http/verbosity/headers‘. Wir setzen den Wert auf ‘Verbose‘. Bei dieser zusätzlichen Konfiguration enthält das Ergebnis des Connectoraufrufs auch die Antwortheader. Weitere Informationen zu zusätzlichen Konnektorparametern finden Sie in unserer Dokumentation.

Wir werden diesen Konnektoraufruf in einem serverseitigen Geschäftsobjekt verwenden und das Ergebnis speichern. Dann extrahieren wir die Werte für das CSRF-Token und das Cookie aus dem Ergebnisobjekt. In unserem Beispiel sieht das so aus (prüfen Sie jedoch immer, wie Ihr Ergebnisobjekt aufgebaut ist):

var oResult = Simplifier.Connector.Test.getToken().result;
var myToken = oResult.Headers["x-csrf-token"].value;
var aCookies = oResult.Headers.filter(function(oHeader) {
    return oHeader.name === "Set-Cookie";
});

Wichtig: Rufen Sie das CSRF-Token und das Cookie immer aus der gleichen ‘getToken’-Anfrage ab! Wenn Sie zwei separate Anfragen verwenden, stimmen das Token und das Cookie nicht überein, sodass Ihre folgenden Anfragen nicht autorisiert werden können.

Als nächstes müssen wir den relevanten Teil (CSRF-Teil) aus dem Cookie extrahieren, da er in der Regel auch andere Informationen enthält. In unserem Beispiel erreichen wir dies durch die Verwendung der JavaScript-Funktion “map”. Um zu überprüfen, ob wir den richtigen Teil extrahiert haben, können wir die Simplifier Log API verwenden und den Wert des Cookies protokollieren. Der Protokolleintrag ist im Abschnitt Protokolle und Überwachung unter dem Reiter “Protokolle” sichtbar.

 

var sCookie = aCookies.map(function(oCookie) {
    return oCookie.value.split(";")[0];
}).join("; ");

Simplifier.Log.info("cookie " + sCookie, sCookie);

Schritt 2: Verwenden Sie das CSRF-Token und das Cookie in einem anderen Aufruf

Nachdem wir nun das CSRF-Token und das Cookie extrahiert haben, können wir beide Werte verwenden, um andere Anfragen zu autorisieren. In unserem Beispiel verwenden wir sie als Header-Parameter für den Konnektoraufruf ‘PatchCorporateAccountCollection’.

In unserer serverseitigen Business-Objekt-Funktion rufen wir diesen Konnektoraufruf mit den jeweils abgerufenen Werten des CSRF-Tokens und des Cookies auf:

 

var patchRequest = Simplifier.Connector.Test.PatchCorporateAccountCollection({
    path: "CorporateAccountCollection('" + input.objectid + "')",
    postBody: {
        "ERP_ID_KUT": input.ERP_KUT_ID
    },
    token: myToken,
    cookie: sCookie // cookie can look like this: "sap-login-XSRF_LP8=20220804073501-9ymw9yQLYRRTWVtpZ1QfYA%3d%3d;"
});

output = patchRequest;

Die Werte des CSRF-Tokens und des Cookies werden nun vom Server validiert.
Wenn die Validierung erfolgreich ist, wird die Anforderung ausgeführt.

Wie bereits erwähnt, überprüfen Sie immer die Beschreibung der REST-API, die Sie verwenden.

Das in diesem Artikel gezeigte Beispiel ist eine Anleitung, wie Sie mit CSRF-Token und Cookies als Anforderungsautorisierung arbeiten.

Tags:VerbinderWortfüllesetzen-cookiex-csrf-fODataKopfballAntwortKeksZeichenCSRFÜberwachungAPISkriptRUHEPAUSEAnTextBENUTZEROBERFLÄCHE

Was this article helpful?

Yes  No
Related Articles
  • Feinabstimmung und Ausführung benutzerdefinierter AI-Modelle in Simplifier
  • Verwendung der Simplifier Teams App
  • So integrieren Sie SAP ERP (über SAP RFC)
  • Erstellen eines ChatBot-Clients für ChatGPT
  • Verwenden von Datendiensten und ODataV4-REST
  • Erstellen eines ODataV2-Connectors
Leave A Comment Antworten abbrechen

Du musst angemeldet sein, um einen Kommentar abzugeben.

Integration
  • REST: Verwenden Sie ein CSRF-Token und ein Cookie, um Anfragen zu autorisieren
  • Einrichtung des Identitätsanbieters
  • Dynamische where-Klausel und wiederholbare Anweisung
  • So erstellen Sie einen REST-Connector
  • Erstellen eines ODataV2-Connectors
  • Verwenden von Datendiensten und ODataV4-REST
  • Erstellen eines ChatBot-Clients für ChatGPT
  • So integrieren Sie SAP ERP (über SAP RFC)
  • Verwendung der Simplifier Teams App
  • Feinabstimmung und Ausführung benutzerdefinierter AI-Modelle in Simplifier
Knowledgebase Categories
  • Erste Schritte 4
  • Mobiler Client 2
  • Layout & Design 4
  • Widgets 8
  • Integration 10
  • Datenbank Handling 1
  • Anleitungen 26
  • Best Practices 3
  • Cloud Services 6
  • Plugins 6

  So erstellen Sie einen REST-Connector

Dynamische where-Klausel und wiederholbare Anweisung  

GetApp Bewertung

Benutzerbewertungen

Capterra

Benutzerbewertungen

Für AWS-Kunden

Für SAP-Kunden

  • Contact | Imprint | Privacy | © 2025 Simplifier AG. All Rights Reserved.

  • Englisch
  • Deutsch

Link einfügen/ändern

Gib die Ziel-URL ein

Oder verlinke auf bestehende Inhalte

    Es wurde kein Suchbegriff angegeben. Es werden die aktuellen Inhalte angezeigt. Verwende zur Auswahl eines Elements die Suche oder die Hoch-/Runter-Pfeiltasten.