Bekommen wichtigste in den Frühling Starten resource-server von JWT token

Habe ich eine eigene auth-server und einem resource-server - sowohl Spring-Boot-Anwendungen. Ich bin mit OAuth2 mit JWT Token für die Authentifizierung und Autorisierung.

Bekomme ich ein token durch den Zugriff auf den auth server:

curl -X POST --user 'client:secret' -d 'grant_type=password&username=john&password=123' http://localhost:9000/auth-server/oauth/token

und verwenden Sie es, Wann immer eine Ressource aus dem Ressourcen-server (auf anderen server), indem Sie das token, um den request-header.

Was unklar ist mir jedoch, festzustellen, welcher Benutzer angemeldet ist in der Ressource server.

In der auth server, ich kann so etwas tun:

@RequestMapping("/user")
public Principal user(Principal user) {
    return user;
}

und dieser Endpunkt wird mir der aktuelle Benutzer auf der Grundlage der token verwendet. Wenn ich versuche, das gleiche zu tun, in der Ressource server allerdings bekomme ich nur leere Antwort.

Brauche ich, um die id des authentifizierten Benutzers irgendwie in der Ressource server entscheiden, ob ich zurückgeben soll, einige Daten zu ihm (ich habe einige Ressourcen, auf die zugegriffen werden kann, die nur von Ihrem Besitzer).

Wie konnte ich das tun? Ich dachte, dass durch die Verwendung von JWT, brauche ich nicht zu teilen die gleichen token zu speichern.

Kann ich code-Beispiele, wenn meine Frage nicht klar.. ich bin gerade auf der Suche nach einer Bestätigung, dass meine Vermutung korrekt ist, und dieses Verhalten kann erreicht werden - dies ist meine erste Zeit mit dem Experimentieren mit spring security.

Den Ressourcen-server verknüpft ist, um die auth-server in der Anwendung.Eigenschaften:

security.oauth2.resource.userInfoUri: http://localhost:9000/auth-server/user
  • haben Sie, durch Zufall, Holen Sie dies gelöst? Ich habe diese arbeiten durch die Verwendung InMemoryTokenStore() anstelle von JwtTokenStore(). Dennoch würde ich gerne erreichen das gleiche mit JwtTokenStore().
  • Leider Nein. Die Art und Weise, die ich benutze es jetzt ist denselben Benutzernamen in der auth-server und resource-server und zum abrufen der Benutzer mit diesem Benutzernamen, die übergeben wird, in der Hauptsache...
InformationsquelleAutor Smajl | 2016-08-16
Schreibe einen Kommentar