MobileFirst Server für die Authentifizierung externer Ressourcen verwenden
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:
- Sie müssen das MobileFirst-Sicherheitsframework verstehen.
Ablauf
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.
- 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. - 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).
- Der Filter auf dem Ressourcenserver extrahiert das Clientzugriffstoken aus Schritt 1 und sendet es zur Validierung an den Introspektionsendpunkt.
- 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.
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.
Inclusive terminology note: The Mobile First Platform team is making changes to support the IBM® initiative to replace racially biased and other discriminatory language in our code and content with more inclusive language. While IBM values the use of inclusive language, terms that are outside of IBM's direct influence are sometimes required for the sake of maintaining user understanding. As other industry leaders join IBM in embracing the use of inclusive language, IBM will continue to update the documentation to reflect those changes.