diff --git a/services/src/main/java/org/keycloak/services/resources/TokenService.java b/services/src/main/java/org/keycloak/services/resources/TokenService.java
index db6df78..67d29bb 100755
--- a/services/src/main/java/org/keycloak/services/resources/TokenService.java
+++ b/services/src/main/java/org/keycloak/services/resources/TokenService.java
@@ -1069,6 +1069,11 @@ public class TokenService {
if (redirectUri != null) {
// todo manage legal redirects
+ if (redirectUri.startsWith("/")) { // handle relative uri
+ UriBuilder builder = uriInfo.getAbsolutePathBuilder();
+ builder.replacePath(redirectUri);
+ return Response.status(302).location(builder.build()).build();
+ }
return Response.status(302).location(UriBuilder.fromUri(redirectUri).build()).build();
} else {
return Response.ok().build();