Externe Ressourcen mit MobileFirst Server authentifizieren

improve this page | report issue

Übersicht

Geschützte Ressourcen können in MobileFirst Server ausgeführt werden (z. B. Adapter) oder auf externen Servern. Sie können Ressourcen auf externen Servern mit den Validierungsmodulen der Mobile Foundation schützen.

In diesem Lernprogramm erfahren Sie, wie ein externer Ressourcenserver durch die Implementierung eines Filters für die Validierung eines MobileFirst-Zugriffstokens geschützt wird.
Sie können einen derartigen Schutz vollständig mit angepasstem Code implementieren oder mit einer der Helper-Bibliotheken der Mobile Foundation, in die ein Teil des Ablaufs eingebunden ist.

Voraussetzung:

Ablauf

Diagramm zum Schutz externer Ressourcen

Eine Komponente von MobileFirst Server ist der Introspektionsendpunkt. Diese Komponente ist in der Lage, Daten eines MobileFirst-Zugriffstokens zu validieren und zu extrahieren. Der Introspektionsendpunkt ist über eine REST-API verfügbar.

  1. Eine Anwendung mit dem Mobile Foundation-Client-SDK setzt einen Anforderungsaufruf (oder eine HTTP-Anforderung) mit der Anforderung einer geschützten Ressource mit oder ohne Authorization-Header (Clientzugriffstoken) ab.
  2. Für die Kommunikation mit dem Introspektionsendpunkt muss der Filter auf dem Ressourcenserver für sich selbst ein gesondertes Token anfordern (siehe Abschnitt Vertraulicher Client).
  3. Der Filter auf dem Ressourcenserver extrahiert das Clientzugriffstoken aus Schritt 1 und sendet es zur Validierung an den Introspektionsendpunkt.
  4. Wenn der MobileFirst-Autorisierungsserver feststellt, dass das Token ungültig (oder nicht vorhanden) ist, leitet der Ressourcenserver den Client weiter, um ein neues Token für den erforderlichen Bereich abzurufen. Dies geschieht intern, wenn das MobileFirst-Client-SDK verwendet wird.

Vertraulicher Client

Da der Introspektionsendpunkt eine mit dem Bereich authorization.introspect intern geschützte Ressource ist, muss der Ressourcenserver ein separates Token abrufen, um Daten an den Endpunkt senden zu können. Wenn Sie versuchen, eine Anforderung ohne Authorization-Header an den Introspektionsendpunkt abzusetzen, wird eine Antwort 401 zurückgegeben.

Wenn der externe Ressourcenserver ein Token für den Bereich authorization.introspect anfordern können soll, muss der Server in der MobileFirst Operations Console als vertraulicher Client registriert werden.

Weitere Informationen enthält das Lernprogramm Vertrauliche Clients.

Fügen Sie in der MobileFirst Operations Console unter Einstellungen → Vertrauliche Clients einen neuen Eintrag hinzu. Wählen Sie einen Wert für Geheimer Clientschlüssel und für Geheimer API-Schlüssel aus. Vergewissern Sie sich, dass Zulässiger Bereich auf authorization.introspect gesetzt ist.

Vertraulichen Client konfigurieren

Implementierungen

Dieser Ablauf kann manuell mit direkten HTTP-Anforderungen an die diversen REST-APIs implementiert werden (siehe Dokumentation).
Die Mobile Foundation stellt für eine Implementierung auch Bibliotheken für WebSphere-Server mit dem verfügbaren Trust Association Interceptor oder für Java-Filter mit dem verfügbaren Java-Token-Validator bereit.

Last modified on March 07, 2017