ich zur Zeit eine neue Anwendung basiert auf einer Architektur Microservices erschaffe, mit der Authentifizierung von Identity Server zur Verfügung gestellt 4.Exchange-Referenz Token für JWT - Downstream Microservices Genehmigung
Nach viel Forschung und auch proof of concepts einrichten, I Identity Server muss eingerichtet sein, um die APIs und eine native Anwendung zu schützen, die erfolgreich auf diese Dienste mithilfe von Tokens zugreifen.
Anfänglich wurde dem Client ein Zugriffstoken ausgestellt, mit dem auf die APIs zugegriffen wurde. Ich habe dies jedoch jetzt so geändert, dass Referenztoken verwendet werden. Nun zu dem Problem! Der Ansatz, den ich hier verwenden möchte, ist die Übernahme eines Microservices-Gateways, das ein Referenz-Token erhält und dieses dann in ein JWT für die Aufnahme in Anfragen an die nachgeordneten Microservices umwandelt. Wie kann ich innerhalb des Gateways das eingehende Referenz-Token für ein JWT "austauschen"? Gibt es etwas in Identity Server, das hier helfen kann? Oder muss ich den Introspektionsendpunkt verwenden, das Referenztoken einsenden und die Ansprüche abrufen, um einen JWT innerhalb des Gateway-Service zu erstellen, um den Berechtigungsheader an alle nachgelagerten Services zu übergeben?
Wenn es weitere Informationen gibt, die ich zur Verfügung stellen kann, um das Ziel der Architektur zu verstehen, lassen Sie es mich wissen.
Danke, das sieht genau so aus, wie ich es brauche. Ich werde auf die Implementierung schauen und die Ergebnisse folgen. Ich habe ziemlich viel Zeit damit verbracht, die Dokumente durchzusehen - nicht sicher, wie ich diesen Teil verpasst habe! –
Ich habe die Erweiterung Grant-Funktionalität hinzugefügt und sicher genug, es gibt mir genau das, was ich brauche. Ich habe einige Fragen über die Übernahme dieses in der Gateway-API, aber ich weiß, dass diese vielleicht nicht Identity Server-spezifisch sind, aber ich denke, dass sie für die erste Frage relevant sind. Da die meisten Downstream-Aufrufe, die das Gateway durchführt, den Delegations-JWT zur Autorisierung benötigen, suche ich nach dem saubersten Weg, den JWT für alle Gateway-Controller verfügbar zu machen. Ich stehe auf eine benutzerdefinierte Middleware, um den Austausch (mit Caching) zu bewältigen - wäre das machbar? –