Ho cercato per molto tempo negli ultimi giorni su come farlo e ho finalmente deciso di ammettere la sconfitta e chiedere aiuto, per favore !!!Spring Zuul API Gateway con Spring Session/Redis Autentica e instradamento nella stessa richiesta
Ho seguito il tutorial di Dr Dave Syer su angolare e la sicurezza Primavera in particolare lo Zuul proxy come un gateway API e l'utilizzo di sessione primaverile con 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)
Il problema che sto avendo è che io chiamo i servizi delle risorse di riposo tramite il gateway da un'applicazione esterna con la seguente intestazione:
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);
essere autenticata e poi instradato da Zuul e quindi la risorsa di avere accesso alla sessione autenticata tramite Redis.
Il problema è che la sessione sembra impegnarsi solo per i redis nel gateway dopo che la richiesta ha risposto. Quindi, quello che sta succedendo è che quando chiamo un servizio di risorse con l'intestazione, posso vedere l'autenticazione di successo che si verifica nel gateway e nella sessione che si sta creando, tuttavia ottengo un 403 nella risorsa a causa della sessione che non è in redis dopo il suo stato indirizzato via zuul.
Tuttavia, se ottengo l'errore, acquisisco l'id di sessione e lo aggiungo all'intestazione e riprovo perché ora la mia sessione autenticata è disponibile per il progetto di risorsa dopo il suo instradamento.
Per favore qualcuno mi può indirizzare nella direzione di come faccio a ricevere le mie chiamate tramite il gateway per autenticarsi e instradare nella stessa richiesta, per favore?
Grazie Justin
lo hai risolto? Sono dello stesso problema –