diff --git a/docbook/auth-server-docs/reference/en/en-US/modules/clients.xml b/docbook/auth-server-docs/reference/en/en-US/modules/clients.xml
index 2d15ad0..7be2019 100644
--- a/docbook/auth-server-docs/reference/en/en-US/modules/clients.xml
+++ b/docbook/auth-server-docs/reference/en/en-US/modules/clients.xml
@@ -19,13 +19,13 @@
<title>Clients</title>
<para>
- Keycloak provides support for managing OAuth clients.
+ Keycloak provides support for managing Clients.
</para>
<section id="client-config">
<title>Client Config</title>
<para>
- Keycloak supports flexible configuration of OAuth Clients.
+ Keycloak supports flexible configuration of Clients.
</para>
<section>
diff --git a/services/src/main/java/org/keycloak/services/resources/RealmsResource.java b/services/src/main/java/org/keycloak/services/resources/RealmsResource.java
index a47f2ab..43916e7 100755
--- a/services/src/main/java/org/keycloak/services/resources/RealmsResource.java
+++ b/services/src/main/java/org/keycloak/services/resources/RealmsResource.java
@@ -116,7 +116,7 @@ public class RealmsResource {
* @param realmName
* @param clientId
* @return
- * @since 1.9
+ * @since 2.0
*/
@GET
@Path("{realm}/clients/{client_id}/redirect")
@@ -134,14 +134,19 @@ public class RealmsResource {
return null;
}
- if (client.getRootUrl() == null) {
+ if (client.getRootUrl() == null && client.getBaseUrl() == null) {
+ return null;
+ }
- URI targetUri = KeycloakUriBuilder.fromUri(ResolveRelative.resolveRelativeUri(uriInfo.getRequestUri(), client.getRootUrl(), client.getBaseUrl())).build();
- return Response.temporaryRedirect(targetUri).build();
+ URI targetUri;
+ if (client.getRootUrl() != null && (client.getBaseUrl() == null || client.getBaseUrl().isEmpty())) {
+ targetUri = KeycloakUriBuilder.fromUri(client.getRootUrl()).build();
+ } else {
+ targetUri = KeycloakUriBuilder.fromUri(ResolveRelative.resolveRelativeUri(uriInfo.getRequestUri(), client.getRootUrl(), client.getBaseUrl())).build();
}
- return Response.temporaryRedirect(URI.create(client.getRootUrl() + client.getBaseUrl())).build();
+ return Response.temporaryRedirect(targetUri).build();
}
@Path("{realm}/login-actions")