Невозможно перенаправить обратно на страницу приложения после входа в систему keycloak - PullRequest
0 голосов
/ 19 марта 2020

Я развернул OID C provider-keycloak в кластере k8s, и он отображается как балансировщик нагрузки. Я использую это вместе с Istio для перенаправления обратно в мое приложение после успешного входа в keycloak. Приложение доступно на https://<istio-ingressgateway-ip>/hello

Когда я нажимаю https://<istio-ingressgateway-ip>/hello, оно корректно перенаправляет меня на страницу входа в Keycloak на https://<keycloak-ip>/auth/realms/<realm-name>/protocol/openid-connect/auth

Однако после ввода имени пользователя и пароля для пользователя я не могу вернуть перенаправление в мое приложение на https://<istio-ingressgateway-ip>/hello. Я думаю, что пользователь настроен правильно, так как я успешно могу войти в пользовательскую консоль keycloak по адресу http://<keycloak-ip>/auth/realms/<realm-name>/account

Я настроил следующие значения как «действительные URI перенаправления» в клиенте keycloak:

https://<istio-ingressgateway-ip>
https://<istio-ingressgateway-ip>/hello/oauth/callback
https://<istio-ingressgateway-ip>/*
https://<keycloak-ip>/auth/realms/<realm-name>/protocol/openid-connect/auth/oauth/callback
https://<keycloak-ip>/auth/realms/<realm-name>/protocol/openid-connect/auth

Может кто-нибудь, пожалуйста, дайте мне знать, что здесь не хватает для перенаправления.

1 Ответ

0 голосов
/ 21 марта 2020

Предполагается, что вы используете Authservice для аутентификации и что ваша конфигурация верна. У меня была та же проблема, и когда я посмотрел журналы из контейнера authservice в моем модуле, я узнал, что authservice не удалось получить токен доступа в обмен на код авторизации. Проблема, как заявил Райан из Authservice, была следующей:

Когда Authservice попытался корректно отключить соединение TLS, а сервер на другой стороне не участвовал полностью в постепенном завершении работы.

Эта проблема теперь исправлена, и вы можете создать новый docker образ из главной ветви, чтобы иметь возможность его исправить. Более подробную информацию о проблеме и ее решении можно найти в этом выпуске github .

Если это не проблема, то может возникнуть проблема с потоком из keycloak, вы можете использовать OpenID отладчик , чтобы получить код авторизации, а затем вы можете использовать этот код получить токен доступа. Это поможет вам определить, есть ли проблема с частью keycloak.

Если ваши настройки верны, и вышеуказанное исправление не решает вашу проблему, вам следует подумать о создании проблемы на github с журналами из вашей службы аутентификации. контейнер.

...