Я использую Kong для защиты своих микросервисов с помощью kong-oidc (https://github.com/nokia/kong-oidc).. Он работает просто отлично, если я не использую Kong в качестве обратного прокси-сервера для Keycloak. В противном случае при доступе к защищенному URI (API): https://localhost/api/v1/counterparty) Я получаю запрос к redirect_uri_path, но состояние сеанса не найдено.
У меня проблема только после первого перенаправления, которое выглядит следующим образом: https://localhost/api/v1/counterparty-service/?state=48f642ce2e4d6aea65810e01bb0de89c&session_state=a63.....
Если яудалите часть после / (? state = ....), тогда все работает просто отлично.
Мой конг ngnix config (полный пример на https://github.com/hostettler/microservices):
location /auth/ {
proxy_pass http://iam:8080/auth/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Forwarded-Port $server_port;
proxy_set_header X-Forwarded-Proto $scheme;
}
location /api {
proxy_buffer_size 128k;
proxy_buffers 4 256k;
proxy_busy_buffers_size 256k;
default_type '';
set $ctx_ref '';
set $upstream_host '';
set $upstream_upgrade '';
set $upstream_connection '';
set $upstream_scheme '';
set $upstream_uri '';
set $upstream_x_forwarded_for '';
set $upstream_x_forwarded_proto '';
set $upstream_x_forwarded_host '';
set $upstream_x_forwarded_port '';
rewrite_by_lua_block {
Kong.rewrite()
}
Я просто ожидаюпервый редирект для работы, как когда я вручную удалил состояние =