keycloak-memoizeit

KEYCLOAK-2469 Minor changes

3/21/2016 11:45:53 AM

Details

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")