Chat now with support
Chat with Support

Identity Manager 9.0 LTS - API-Entwicklungshandbuch

Verschlüsselung

Der API Server legt Daten auf fälschungssichere Weise verschlüsselt auf dem Client und in der Datenbank ab.

Das Zertifikat wird bei der Installation des API Servers auf dem IIS konfiguriert.

Weitere Informationen zur Konfiguration der Verschlüsselung finden Sie im One Identity Manager Konfigurationshandbuch für Webanwendungen.

Allgemeine Hinweise zur Programmierung eigener API-Methoden

  • Da der API Server zustandslos ist (stateless), speichern Sie API-Methoden ohne Client-spezifischen Zustand.
    Sie dürfen daher beispielsweise keine globalen Variablen definieren oder am Session-Objekt Zustandsdaten hinterlegen. Beim Neustart des API Server-Prozesses werden diese Werte nicht wiederhergestellt.

  • Der Zugriff auf die aktuellen HTTP-Anforderungen über ASP.NET-APIs wird nicht unterstützt.

  • Nach dem Aktivieren der Routen dürfen Sie die Definitionsobjekte nicht mehr verändern.

  • Verwenden Sie asynchronen Code beim Definieren von API-Methoden. Damit wird die effiziente Nutzung der Server-Ressourcen unterstützt sowie die System-Performance unter Last verbessert. Die Methoden der API und des zugrundeliegenden Objektmodells setzen diese Asynchronität mithilfe des Task-based Asynchronous Pattern (TAP) um. Weitere Informationen zu TAP finden Sie unter https://docs.microsoft.com/de-de/dotnet/standard/asynchronous-programming-patterns/task-based-asynchronous-pattern-tap.

  • Verwenden Sie beim Definieren von API-Methoden NICHT die Methode HttpContext.Current. Die aktuelle HTTP-Anforderung können Sie mit der statischen Methode QBM.CompositionApi.ApiManager.Context.Current abfragen.

  • Verwenden Sie beim Definieren von API-Methoden, die Daten verändern, NICHT die Methode GET.

Richtlinien und Konventionen

In diesem Kapitel finden Sie allgemeine Richtlinien und Konvention, die Sie beim Erstellen einer API beachten müssen.

Detaillierte Informationen zum Thema

Abarbeitung einer Anfrage an den API Server

In diesem Kapitel finden Sie Informationen zur Abarbeitung einer Anfrage an den API Server.

Authentifizierung

Bei einer Anfrage an den API Server wird geprüft, ob in der Sitzung für das jeweilige API-Projekt die primäre und gegebenenfalls sekundäre Anmeldung erfolgt ist (siehe Authentifizierung).

HINWEIS: Diese Prüfung erfolgt nicht, wenn die API-Methode der Anfrage als AllowUnauthenticated markiert ist.

Für die Zuordnung der aktuellen Sitzung wird der vom Client übermittelte Cookie imx-session-<Name des API-Projektes> ausgewertet.

Wenn ein Cookie übermittelt wird, der aber keiner im aktuellen Prozess aktiven Sitzung zugeordnet werden kann, wird mit dem im Cookie enthaltenen Sicherheitstoken eine neue Sitzung hergestellt (siehe Sitzungsstatus und Sicherheitstoken).

Liegt keine primäre Anmeldung vor, versucht der API Server über eines der aktivierten Single-Sign-On-Authentifizierungsmodule eine Datenbankverbindung herzustellen.

Kann die Anmeldung auch dann nicht hergestellt werden, wird die Bearbeitung der Anforderung abgebrochen und der HTTP-Fehlercode 500 wird an den Client übermittelt (siehe Antwortcodes).

Autorisierung des Methodenzugriffs

Der API Server prüft, ob der aktuell angemeldete Benutzer berechtigt ist, die Methode auszuführen. Verfügt der Benutzer nicht über die benötigten Berechtigungen, wird die Bearbeitung abgebrochen und der HTTP-Fehlercode 500 wird an den Client übermittelt (siehe Antwortcodes).

Validierung der Anfrage

Der API Server ruft die an der API-Methode hinterlegten Validatoren nacheinander auf. Wenn ein Fehler zurückgemeldet wird, wird die Bearbeitung abgebrochen und der HTTP-Fehlercode 400 wird an den Client übermittelt (siehe Antwortcodes).

Abarbeitung der Anfrage (für Entity-Methoden)
  • GET (Laden von Entities)
    • Ermittlung der WHERE-Klausel mit internen und externen Filtern

    • Laden der Daten aus der Datenbank

    • Anreichern der Entities mit berechneten Spalten

  • Entities im delayed-logic-Modus können mit einer POST-Anfrage verändert oder mit einer DELETE-Anfrage gelöscht werden. Entities in diesem Modus sind zustandslos (stateless) und belegen auf dem Server nach der Abarbeitung einer Anfrage keine Ressourcen mehr.
    Unterstützte HTTP-Methoden:

    • GET (lesen von Entities)

    • POST (ändern von Entities)

    • DELETE (löschen von Entities)

  • Interaktive Entities müssen einmalig mit einer PUT-Anfrage erzeugt werden, und erhalten danach eine eigene ID. Benutzen Sie bei nachfolgenden Anforderungen (POST oder DELETE) diese ID.

    Unterstützte HTTP-Methoden:

    • PUT (erzeugen von interaktiven Entities)

    • POST (ändern von interaktiven Entities)

    • DELETE (löschen von interaktiven Entities)

Related Documents

The document was helpful.

Select Rating

I easily found the information I needed.

Select Rating