From 925a19f5f2a34677c8a30c2ae64bcebb0b062e4f Mon Sep 17 00:00:00 2001
From: Stian Thorgersen <stianst@gmail.com>
Date: Fri, 08 Jan 2016 14:38:00 +0000
Subject: [PATCH] KEYCLOAK-2259 Redirect URIs and token domains are matched case-sensitively
---
src/main/java/org/keycloak/protocol/cas/utils/RedirectUtils.java | 11 +++++++++++
1 files changed, 11 insertions(+), 0 deletions(-)
diff --git a/src/main/java/org/keycloak/protocol/cas/utils/RedirectUtils.java b/src/main/java/org/keycloak/protocol/cas/utils/RedirectUtils.java
index ff4601f..cf8354d 100644
--- a/src/main/java/org/keycloak/protocol/cas/utils/RedirectUtils.java
+++ b/src/main/java/org/keycloak/protocol/cas/utils/RedirectUtils.java
@@ -63,6 +63,8 @@
logger.debug("No Redirect URIs supplied");
redirectUri = null;
} else {
+ redirectUri = lowerCaseHostname(redirectUri);
+
String r = redirectUri.indexOf('?') != -1 ? redirectUri.substring(0, redirectUri.indexOf('?')) : redirectUri;
Set<String> resolveValidRedirects = resolveValidRedirects(uriInfo, rootUrl, validRedirects);
@@ -96,6 +98,15 @@
}
}
+ private static String lowerCaseHostname(String redirectUri) {
+ int n = redirectUri.indexOf('/', 7);
+ if (n == -1) {
+ return redirectUri.toLowerCase();
+ } else {
+ return redirectUri.substring(0, n).toLowerCase() + redirectUri.substring(n);
+ }
+ }
+
private static String relativeToAbsoluteURI(UriInfo uriInfo, String rootUrl, String relative) {
if (rootUrl == null) {
URI baseUri = uriInfo.getBaseUri();
--
Gitblit v1.10.0