Как изменить URL обратного вызова провайдера идентификации в Keycloak - PullRequest
0 голосов
/ 10 февраля 2020

У меня есть сервер Keycloak в Kubernetes. Когда я запрашиваю у внешнего провайдера идентификации (например, Google / Facebook), имя хоста автоматически использовалось в URL перенаправления. Как изменить URL-адрес перенаправления для моего поставщика удостоверений?

Автоматически сгенерированный redirect_url из Keycloak: http://keyclaok:8080/auth/realms/{MY_REALM}/borker/google/endpoint

Что я ожидаю: http://www.example.com/my-custom-callback/endpoint, этот URL будет перенаправлен на исходная конечная точка keyclaok.

Настройки моего провайдера идентификации в Keycloak

1 Ответ

0 голосов
/ 11 февраля 2020

auto_generated redirect_url (показанный в пользовательском интерфейсе) не должно относиться к вам.

Afaik keycloak просто создайте URL с текущим именем хоста, к которому вы обращаетесь. Поэтому при доступе к консоли администратора через

http://keyclaok:8080/

URL-адрес перенаправления для провайдера идентификации Google отображается как

http://keyclaok:8080/auth/realms/{MY_REALM}/broker/google/endpoint

Если вы получаете доступ к Keycloak через свой домен

http://www.example.com/auth

и попытайтесь пройти аутентификацию через Google, действительный URL перенаправления будет

http://www.example.com/auth/realms/{MY_REALM}/broker/google/endpoint

По моему мнению, вы не можете решить, как будет выглядеть URL перенаправления (особенно не суффикс realms/{MY_REALM}/broker/google/endpoint), потому что он относится к базовому URL-адресу keycloak, и keycloak нуждается в нем для сопоставления ответа с правильной областью и IDP. Но я думаю, что у вас не должно быть проблем с таким URL-адресом, если keycloak доступен через ваш домен

...