HTTP(S) (Kanal-Einstellungen)
Einführung: HTTP und Lobster_data.
Siehe auch: Kanal-Einstellungen allgemein, HTTP (Eingangsagent), HTTP (Eingangsagent Cron) und Antwortweg HTTP(S).
(1) Für den Untertyp HTTPS (HTTP über SSL) werden zusätzlich Zertifikate benötigt. Hinweis: Zusätzlich kann für die ausgehende HTTP(S)-Verbindung ein Client-Zertifikat erforderlich sein. Dazu wird ebenfalls das eigene Zertifikat (1) verwendet. Siehe auch Abschnitt Authentifizierung durch Client-Zertifikat.
(2) Der Realm ist ein frei wählbarer Name, der zusammen mit der URL einen HTTP-Bereich beschreibt, der eine Authentifizierung verlangt. Damit wird also eine Menge von HTTP-Ressourcen beschrieben, für die die selben Zugangsdaten gelten. Siehe hierzu den Begriff "Basic Authentication" im Abschnitt Preemptive Authentication.
(3) Es kann eine Authentifizierung per OAuth konfiguriert werden. Auf die spezifischen Begriffe werden wir hier nicht eingehen und möchten direkt auf die Seiten https://oauth.net/ und https://oauth.net/2/ verweisen. Das Ziel ist dabei das Abholen eine Access Tokens (und gegebenenfalls auch eines Refresh Tokens). Hinweis: Sobald über die Buttons etwas eingetragen ist, ist OAuth aktiviert, d. h. wenn der Kanal als Client auftritt, initiiert er die Anmeldung am Server über den OAuth-Ablauf.
(4) Wurde über (3) ein OAuth2 Access Token abgerufen, dann wird hier automatisch die Ablaufzeit eingetragen. Hinweis: In den Zusatzkennungen ist dann für den Access Token auch ein Eintrag mit dem Namen SYS_HTTP_OAUTH2 zu finden.
(5) Ist hier ein gültige Refresh-URL eingetragen und es ist ein Refresh Token vorhanden, dann wird bei jedem HTTP-Zugriff über diesen Kanal automatisch ein neuer Access Token abgerufen (und im Kanal hinterlegt), falls (4) abgelaufen ist (bzw. schon 20 Sekunden davor). Dabei wird auch (4) neu gesetzt. Zudem wird dabei auch der Refresh Token aktualisiert. Hinweis: In den Zusatzkennungen ist ein Refresh Token an einem Eintrag mit dem Namen SYS_HTTP_OAUTH2_REFRESH zu erkennen. Hinweis: Es sind in der URL auch Platzhalter (und System-Konstanten) erlaubt. Die entsprechenden Werte für die Platzhalter werden aus (3) entnommen. Zu den im folgenden Beispiel gezeigten Platzhaltern kann auch noch der Platzhalter <server> verwendet werden. Dieser Platzhalter wird gefüllt mit dem Inhalt des Feldes Partner-Adresse im Kanal. Steht dort z. B. der Wert https://example.com, dann wird <server> ersetzt durch example.com. Beispiel: https://example.com/oauth/token?grant_type=refresh_token&client_id=<clientId>&client_secret=<clientSecret>&refresh_token=<refreshToken>
(6) Hier kann der Refresh (5) zu Testzwecken manuell ausgelöst werden. Siehe auch Funktion refresh OAUTH2 access token(a,b,c,d,e,f,g,h). Hinweis: Sie können in (5) den Zusatz &useCredentialsInHeader angeben, damit die Credentials im Header statt im Body angegeben werden.