Widerruf Muster abonnement
Obwohl es einen Mechanismus gibt, der vom Anbieter vorgeschlagen wird, um das JWT-Token-Widerrufsproblem zu umgehen, ist es manchmal nicht einfach zu implementieren, da Sie einige Tools von Drittanbietern benötigen, um dies zu unterstützen. Aber es ist ein Kompromiss, den Sie ertragen müssen, wenn Sie den Weg von JWT gehen. Wenn Sie jedoch nicht mit der JWT-Route gehen möchten, können Sie ähnliche Funktionen erreichen, indem Sie den oAuth 2.0 opaken Token-basierten Ansatz verwenden. In diesem Muster empfängt der API-Consumer das JWT-Token, indem er den externen IDP aufruft, der mit dem Benutzerspeicher verbunden ist. Das öffentliche Zertifikat, das für die JWT-Signatur durch den externen IDP verwendet wird, muss dem MGW-Vertrauensspeicher hinzugefügt werden. Sobald dies geschehen ist, kann das JWT-Token vom API-Consumer verwendet werden, um auf die APIs zuzugreifen, die in der MGW-Laufzeit bereitgestellt werden. Es überprüft die Signatur des JWT und ermöglicht dem Benutzer den Zugriff auf die API, wenn die Signatur gültig ist. Bei diesem Modell werden Token und Anwendungen vom externen IDP verwaltet, während die Abonnements in der API-Schlüssel-Manager-Komponente verwaltet werden. Der Benutzerspeicher ist mit dem externen IDP verbunden. Der API-Herausgeber und das Entwicklerportal können für den Zugriff über den externen IDP mithilfe des Identitätsverbunds konfiguriert werden. Benutzer können mit diesem Modell den vollen Funktionsumfang abrufen.
Für den Token-Widerruf ist keine zusätzliche Einrichtung erforderlich, da MGW mit KM für die Tokenvalidierung kommuniziert. Die gleichen Ressourcen, die im muster3 erwähnt werden, können verwendet werden, um die benutzerdefinierte Schlüssel-Manager-Erweiterung und SSO-Konfiguration mit externem IDP zu implementieren. Benutzer können einen ähnlichen Ansatz verfolgen, der im Abschnitt pattern1 für den Tokensperrungsaufruf erwähnt wird. Zusätzlich zur Tokensperrherausforderung müssen Benutzer die benutzerdefinierte Schlüssel-Manager-Erweiterung implementieren, um sie in einen externen IDP zu integrieren. In diesem Tutorial haben wir gezeigt, wie einfach es ist, die Autorisierung im Spring Boot-Framework zu konfigurieren. Außerdem haben wir token revocation mithilfe der Integration mit OAuth2 Framework implementiert. Es gibt noch viele Dinge, die wir der Anwendung hinzufügen können. Eine besondere Herausforderung bei dieser Arbeitsweise ist der Widerruf von JWT. Da es keine Kommunikation zwischen MGW und KM gibt, sollte es einen Mechanismus geben, um diese Informationen mit der MGW-Laufzeit zu teilen, wenn ein bestimmtes JWT aus dem KM widerrufen wird. Es gibt einen von WSO2 empfohlenen Ansatz, um diese Funktionalität zu erreichen.
Weitere Details finden Sie unter dem folgenden Link. Der API-Consumer kann ein Zugriffstoken (JWT) generieren, indem er die Token-API aufruft, die von der KM-Komponente verfügbar gemacht wird. Alternativ kann ein Benutzer auch ein Token mithilfe des API Developer-Portals generieren. Dieses JWT-Token enthält Informationen über den Benutzer und seine Abonnementdetails. Nachfolgend ist ein Beispiel JWT in decodierter Form angegeben. Die obigen Muster 1 und 2 sind die häufigsten Sicherheitsmuster, die von WSO2 empfohlen werden. Aber das bedeutet nicht, dass dies die einzigen Muster sind, die vom Produkt unterstützt werden. Im modernen Unternehmens-Ökosystem gibt es viele verschiedene Anbieter, die je nach Spezialisierung unterschiedliche Rollen spielen.
Aus diesem Grund muss Sich WSO2 API Manager manchmal in bestehende Produkte integrieren, um bestimmte Funktionen wie Sicherheit, Überwachung usw. zu erhalten. In diesem dritten Muster wird erläutert, wie ein Benutzer einen bereits vorhandenen Identitätsanbieter (IdP) als Schlüsselmanager der API-Manager-Bereitstellung verwenden kann. Der Hauptunterschied dieses Diagramms zum ersten Muster besteht darin, dass die eigentliche Tokenverwaltung bei einem externen Identitätsanbieter von Drittanbietern erfolgt.