Ключи Spring Boot Keycloak не распространяются с Zuul Proxy на сервисы Spring Boot - PullRequest
0 голосов
/ 02 ноября 2018

У меня есть Zuul Proxy, и я внедрил в него keycloak-адаптер со следующей конфигурацией в application.properties:

#Keycloak config
keycloak.realm=Development
keycloak.auth-server-url=http://<IP>:8080/auth
keycloak.ssl-required = external
keycloak.public-client=true
keycloak.resource=example
keycloak.use-resource-role-mappings=true
keycloak.security-constraints[0].authRoles[0]=user
keycloak.security-constraints[0].securityCollections[0].patterns[0]=/api/*
keycloak.security-constraints[1].authRoles[0]=operator
keycloak.security-constraints[1].securityCollections[0].patterns[0]=/api/*
keycloak.expose-token=true

# Keycloak Enable CORS
keycloak.cors = true

zuul.ignored-headers=Access-Control-Allow-Credentials, Access-Control-Allow-Origin
zuul.sensitive-headers=Cookie, Set-Cookie

Клиент для прокси является публичным клиентом. Когда я получаю к нему доступ, я вижу страницу входа в keycloak и все в порядке, но когда он перенаправляет меня на сервисы, которые также имеют keycloak-адаптер с той же конфигурацией (кроме конфигурации zuul), а также на общедоступный клиент, я получаю Bad Запрос и отсутствие файла cookie в журналах сервиса.

Одна вещь, которую я заметил, это то, что когда я получаю доступ к документации Swagger на прокси-сервере, все блокируется из-за CORS, даже документации сервисов, в которых не реализован keycloak.

РЕДАКТИРОВАТЬ: Когда я делаю то же самое из GUI, куда я посылаю токен, он работает так, как я хочу.

...