Использование Kong в качестве обратного прокси для Keycloak с аутентификацией OpenId

Я использую 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.....

Если я удаляю часть после / (? Состояние =....), то все работает просто отлично.

Мой конг 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()
        }

Я просто ожидаю, что первый редирект будет работать так же, как когда я вручную удалил состояние =

0 ответов

Другие вопросы по тегам