J'essaie de m'authentifier sur un serveur keycloak mais le redirect_uri ne vient pas avec le contexte (/admin/).

Nginx produit un mauvais URI redirect_uri : hxxps://***.pt/auth/realms/example/protocol/openid-connect/auth?response_type=code&client_id=appmovel& redirect_uri=http%3A%2F%2Fnewservice%2F&state= . .. Puisqu'il n'y a pas de /admin/ sur l'URL, ce qui entraîne un échec de rappel.

fichier de configuration nginx :

server {
    listen 80 default_server;
    listen [::]:80 default_server;
    server_name _;
    return 301 https://$host$request_uri;
}

# HTTPS server
server {
    listen       443 ssl;
    server_name  localhost;

    ssl_certificate      cert.pem;
    ssl_certificate_key  cert.key;

    location / {
        root   /usr/share/nginx/html;
        index  index.html index.htm;
    }

    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }

    location /api {
        absolute_redirect off;
        proxy_pass http://web-service:8080/api;
    }

    location /admin/ {
        proxy_set_header Host $host;
        proxy_redirect off;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_pass http://web-service:8080/;
    }
}

Comment et où dois-je configurer pour conserver/ajouter le contexte (/admin) dans le redirect_uri ? Peut être fait par une règle de réécriture nginx ?

no answer