Verbindung mit Bearer Token
Dieses Beispiel zeigt, wie ein Bearer Token zuerst über einen REST-Aufruf abgeholt und anschließend in einer zweiten Verbindung für weitere REST-Aufrufe verwendet wird.
Token abholen
Erstellen Sie zunächst die für die Token-Anforderung benötigten Eingabewerte. Welche Parameter erforderlich sind, hängt vom Zielsystem ab. Typisch sind zum Beispiel client_id, client_secret, scope, username, password oder grant_type.
Viele OAuth-2-Token-Endpunkte erwarten hierfür eine POST-Anfrage. Häufig wird dabei das Format application/x-www-form-urlencoded oder application/json verwendet. In unserem Beispiel verwenden wir application/json.
Gehen Sie dazu wie folgt vor:

- Klicken Sie auf die Schaltfläche
Edit, um die vorgegebene JSON-Struktur für die Token-Abfrage einfügen zu können. Klicken Sie danach erneut aufEdit, um den Inhalt zu übernehmen. In unserem Beispiel sieht die Token-Abfragestruktur wie folgt aus:
{
"grant_type": "client_credentials",
"client_id": "my-client",
"client_secret": "my-secret",
"scope": "api.read"
}
- Füllen Sie nun in der Werte-Spalte
Valuedie korrekten Werte fürclient_idundclient_secretein.
Projektieren Sie anschließend eine Verbindung mit einem REST-Client-Transferobjekt:

- Wählen Sie die passende REST-Client-Anbindung aus.
- Stellen Sie in der REST-Anbindung die Authentifizierung auf
Keine, wenn der Token über die Anfrage selbst angefordert wird und keine HTTP-Authentifizierung gefordert ist. - Tragen Sie den benötigten URL-Endpunkt ein.
- Wählen Sie als HTTP-Methode
POST. - Wählen Sie im Reiter
Requestdas vom Token-Endpunkt erwartete Format. In unserem Beispiel istBody type = rawund das Formatapplication/json. - Übergeben Sie die erforderlichen Werte durch Verbinden des JSON-Parameters des JSON Schreiben-Transferobjekts an den Request Body.
Nun benötigen wir noch das JSON-Lesen-Transferobjekt:

Erstellen Sie danach eine Variable (typenlos), in der die Antwort des Token-Endpunkts zunächst vollständig abgelegt wird. Verbinden Sie dafür den Body-Parameter der Antwort mit dieser Variablen.
Lesen Sie aus dieser Antwort anschließend mit einem JSON-Lesen-Transferobjekt mindestens den Wert access_token aus. Wenn das Zielsystem zusätzlich Werte wie token_type, expires_in oder refresh_token zurückgibt, können Sie diese ebenfalls auslesen und weiterverwenden.
Wenn das Token regelmäßig erneuert werden soll, binden Sie einen Zeit-Trigger ein und stellen das Intervall so ein, dass die Anforderung vor dem Ablauf des Tokens erneut ausgeführt wird.
Am Ende sieht unsere Beispielverbindung wie folgt aus:

Token übergeben
In einer zweiten Verbindung reichen Sie das zuvor ausgelesene Token an einen weiteren REST-Aufruf weiter.
- Ziehen Sie die Variable mit der gespeicherten Token-Antwort in die Arbeitsfläche.
- Fügen Sie ein JSON-Lesen-Transferobjekt hinzu und lesen Sie daraus mindestens den Wert
access_tokenaus. - Lesen Sie bei Bedarf zusätzlich
token_typeaus. Wenn das Zielsystem keinen Typ zurückgibt, verwenden Sie in der RegelBearer. - Erstellen Sie ein Formel- und Taschenrechner-Transferobjekt und wählen Sie über
Weiteredie FunktionCONCATENATE. Setzen Sie den Header-Wert austoken_type, einem Leerzeichen undaccess_tokenzusammen. Wenn der Typ nicht dynamisch geliefert wird, können Sie stattdessen den festen PräfixBearermit demaccess_tokenverknüpfen.

Verbinden Sie die Ausgabewerte des JSON-Lesen-Transferobjekts mit den Eingaben des Formel- und Taschenrechner-Transferobjekts.
Projektieren Sie danach ein weiteres REST-Client-Transferobjekt:
- Wählen Sie als Methode zum Beispiel
GET, um Ihre eigentlichen Daten abzufragen. - Wählen Sie für die Anfrage das Format
application/json. - Legen Sie einen Anfrageparameter vom Typ
HTTP-Headeran. - Tragen Sie als Header-Namen
Authorizationein. - Verbinden Sie den Ausgabewert des Formel- und Taschenrechner-Transferobjekts mit diesem Anfrageparameter.
- Verbinden Sie anschließend den Body-Parameter der Antwort mit dem gewünschten Zielobjekt.
- Wenn der Aufruf zyklisch erfolgen soll, binden Sie einen Zeit-Trigger ein.

Beispielprojekt zum Import
Das vollständige Beispielprojekt steht als rest_bearer_token_and_production_data_example.rpe bereit.
Die Projektdatei enthält die gezeigte Bearer-Token-Projektierung sowie zusätzlich die beiden REST-Trigger-Verbindungen aus dem Beispiel Bereitstellung simulierter Produktionsdaten über REST-Trigger.
Importieren Sie diese Projektdatei in den OPC Router, um das Beispiel vollständig nachzuvollziehen und direkt zu testen.