I am using Keycloak with the apiman API manager. Both are on AWS and are behind Elastic
Load Balancers (Keycloak is clustered using JDBC_PING). When I request the apiman admin UI
page (
https://[apimanLoadBalancer]/apimanui), I get redirected to the following URL:
https://[KeycloakLoadBalancer]/auth/realms/apiman/protocol/openid-connect...
Keycloak then displays the error "We're Sorry... Invalid parameter:
redirect_uri"
In the Keycloak log I see:
DEBUG [org.keycloak.protocol.oidc.utils.RedirectUtils] (default task-7) replacing
relative valid redirect with:
https://[KeycloakLoadBalancer]/apimanui/*
WARN [org.keycloak.events] (default task-7) type=LOGIN_ERROR, realmId=apiman,
clientId=apimanui, userId=null, ipAddress=[IP], error=invalid_redirect_uri,
response_type=code, redirect_uri=https://[apimanLoadBalancer]/apimanui/index.html,
response_mode=query
This looks to me as though Keycloak thinks that the redirect URI is a relative path. I
also notice that the query string parameters for redirect_uri are not URL encoded by
apiman. Would this be the source of the problem?