Ich habe in den letzten Tagen wirklich tief und tief gesucht, wie man das macht und habe mich schließlich dazu entschieden, sich geschlagen zu geben und bitte um Hilfe zu bitten !!!Spring Zuul API Gateway mit Spring Session/Redis Authentifizieren und Routen in derselben Anfrage
Ich habe Dr. Dave Syer Tutorial folgte auf Winkel- und Spring Security speziell die Zuul Proxy als api-Gateway und mit Spring Session mit Redis (https://github.com/spring-guides/tut-spring-security-and-angular-js/tree/master/double#_sso_with_oauth2_angular_js_and_spring_security_part_v)
Das Problem, das ich habe ist, dass ich Ressource Rest Dienstleistungen anzurufenden über das Gateway von einer externen Anwendung mit dem folgenden Header:
String plainCreds = "user:password";
byte[] plainCredsBytes = plainCreds.getBytes();
byte[] base64CredsBytes = Base64.getEncoder().encode(plainCredsBytes);
String base64Creds = new String(base64CredsBytes);
HttpHeaders headers = new HttpHeaders();
headers.add("Authorization", "Basic " + base64Creds);
von der Ressource zuzuul und dann Zugriff hat auf die authentifizierte Sitzung über redis authentifiziert und dann weitergeleitet werden.
Das Problem besteht darin, dass die Sitzung anscheinend nur für das erneute Veröffentlichen im Gateway festgeschrieben wird, nachdem die Anforderung geantwortet hat. Was passiert, wenn ich einen Ressourcendienst mit dem Header anrufe, kann ich die erfolgreiche Authentifizierung im Gateway und in der Sitzung sehen, die erstellt wird, aber ich bekomme eine 403 in der Ressource, weil die Sitzung nicht in redis nach ist wurde über Zuul geroutet.
Allerdings, wenn ich den Fehler bekomme, greifen Sie die Session-ID und fügen Sie es in den Header und versuchen Sie es erneut funktioniert, da jetzt meine authentifizierte Sitzung für das Ressource-Projekt verfügbar ist, nachdem es geroutet wurde.
Könnte mir bitte jemand in die Richtung zeigen, wie ich meine Anrufe über das Gateway bekomme, um mich in derselben Anfrage zu authentifizieren und zu routen?
Dank Justin
haben Sie es gelöst? Ich habe das gleiche Problem. –