Als Entwickler, der die REST-API von movingimage verwendet, ist es wichtig, die Verwendung von alternativen Hostnamen für den Versand von API-Anfragen zuzulassen. Dies liegt daran, dass einige Kunden VideoManager Pro auf einer benutzerdefinierten Domain verwenden. Aus diesem Grund sind die Endpunkte, die Sie verwenden werden, um einen Benutzer zu authentifizieren, entdeckbar.

Zunächst müssen Sie den Ort des OpenID Connect Providers identifizieren, wo Sie dann die Anfrage für die Endpunkte stellen werden. Dies erfolgt über den "/.well-known/webfinger"-Endpunkt. WebFinger ist ein Protokoll zur Entdeckung von Informationen über Entitäten im Internet. Es wird verwendet, indem man eine Ressourcen-URI (die Entität, über die man Informationen benötigt) definiert. WebFinger gibt dann Informationen in Form einer standardisierten JSON-Antwort zurück, die als JSON Resource Descriptor (JRD) bezeichnet wird. Diese Anfrage und ihre Antwort JRD werden im folgenden Beispiel gezeigt.

Die Host-URLs in den folgenden Methoden beziehen sich auf die allgemeine Live-Instanz von Movingimage. Kunden, die einen VideoManager auf einer benutzerdefinierten Domain verwenden, müssen die URLs entsprechend anpassen.

Example Request:

curl https://api.video-cdn.net/.well-known/webfinger?resource=https://api.video-cdn.net/v1/

Bitte beachten Sie, dass der Root-API-Host mit dem Endpunkt "/.well-known/webfinger" verwendet wird und der Ressourcenparameter die Basis-URL der API sein sollte.

Beispielantwort:

{
    "subject": "https://api.video-cdn.net/v1/",
    "properties": {
        "https://api.video-cdn.net/v1/keycloak/realm": "platform",
        "https://api.video-cdn.net/v1/keycloak/auth-server-url": "https://login.movingimage.com/auth/"
    },
    "links": [
        {
            "rel": "http://openid.net/specs/connect/1.0/issuer",
            "href": "https://login.movingimage.com/auth/realms/platform/.well-known/openid-configuration"
        }
    ]
}

Die Antwortkopfzeile bestätigt den "Content-Type" als "application/jrd+json". Der Header enthält auch die Werte "Expires" und "Cache-Control". Verwenden Sie diese, um Ihnen bei der Speicherung dieser Daten für die angegebene Zeit zu helfen (Cache-Control max-age wird in Sekunden angegeben).

OpenID Provider Konfigurationsmetadaten

Um die benötigten Endpunkte zu finden, benötigen Sie eine URL aus dem JRD, um Ihre OpenID Provider Konfiguration abzurufen (JSON-Daten, die die Endpunkte enthalten). Suchen Sie die Liste der "links"-Objekte und beachten Sie Folgendes:

  1. "rel" - Diese URI identifiziert den Typ des Dienstes, dessen Standort angefordert wird.

  2. "href" - Dies ist der "Issuer-Standort"

Sie müssen das Objekt finden, das "http://openid.net/specs/connect/1.0/issuer" als "rel"-Wert verwendet und die Issuer-Standort "href"-URL aus diesem Objekt verwenden, um eine GET-Anfrage zu stellen.

Beispiel:

curl https://login.movingimage.com/auth/realms/platform/.well-known/openid-configuration


Die Metadaten, die von diesem Request zurückgegeben werden, enthalten zwei wichtige Endpunkt-URLs: den Autorisierungs-Endpunkt und den Token-Endpunkt. Das ist alles, was wir von diesen Konfigurationsdaten benötigen, aber Sie können die Dokumentation zu OpenID Connect Discovery 1.0 lesen, um eine detailliertere Beschreibung der Antwort zu erhalten.

Kompakte Beispielantwort

{
    "authorization_endpoint": "https://login.movingimage.com/auth/realms/platform/protocol/openid-connect/auth",
    "token_endpoint": "https://login.movingimage.com/auth/realms/platform/protocol/openid-connect/token"
}

Die Header-Informationen enthalten einen "Cache-Control"-Wert. Nutzen Sie diesen, um die Daten für die angegebene Zeit im Cache zu speichern (max-age wird in Sekunden angegeben).

  • No labels