Încerc să folosesc keycloak pentru a-mi autentifica serviciile furnizate într-un docker Tomcat 8 urmând https://github.com/keycloak/keycloak-documentation/blob/main/securing_apps/topics/oidc/java/tomcat-adapter.adoc
După ce am terminat de configurat aplicația mea, a redirecționat corect către serverul keycloak, totuși redirect_uri a fost greșit, deoarece apela o adresă internă cunoscută doar de docker: hxxps://****.pt/auth/realms/example/protocol/openid -connect/auth?response_type=code&client_id=appmovel&redirect_uri=http%3A%2F%2Fweb-service%3A8080%2F&state=...
Pentru a o remedia, am configurat un nginx pentru a corecta redirect_uri
locație /admin/ {
proxy_set_header Gazdă $gazdă;
proxy_set_header X-Real-IP $adresă_la distanță;
proxy_pass http://web-service:8080/;
}
rezultând: hxxps://***.pt/auth/realms/example/protocol/openid-connect/auth?response_type=code&client_id=appmovel&redirect_uri=http%3A%2F%2Fnewservice%2F&state=...
Cu toate acestea, redirect_uri omite contextul /admin/, rezultând o redirecționare proastă, deoarece trebuia să redirecționeze către: http%3A%2F%2Fnewservice%2Fadmin%2F&state=...
Cum și unde ar trebui să configurez pentru a păstra/adăugați contextul (/admin) în redirect_uri? Ar trebui să fie o configurație keycloak sau o regulă de rescriere nginx?