diff --git a/cas-client-core/src/main/java/org/jasig/cas/client/validation/AbstractUrlBasedTicketValidator.java b/cas-client-core/src/main/java/org/jasig/cas/client/validation/AbstractUrlBasedTicketValidator.java index 2dff518..f047f70 100644 --- a/cas-client-core/src/main/java/org/jasig/cas/client/validation/AbstractUrlBasedTicketValidator.java +++ b/cas-client-core/src/main/java/org/jasig/cas/client/validation/AbstractUrlBasedTicketValidator.java @@ -97,12 +97,12 @@ public abstract class AbstractUrlBasedTicketValidator implements /** * Helper method to encode the service url. * - * @param service the service url to encode. - * @return the encoded service url. + * @param value the String to encode. + * @return the encoded String. */ - protected final String getEncodedService(final Service service) { + protected final String urlEncode(final String value) { try { - return URLEncoder.encode(service.getId(), "UTF-8"); + return URLEncoder.encode(value, "UTF-8"); } catch (final Exception e) { throw new RuntimeException(e); } diff --git a/cas-client-core/src/main/java/org/jasig/cas/client/validation/Cas10TicketValidator.java b/cas-client-core/src/main/java/org/jasig/cas/client/validation/Cas10TicketValidator.java index 43d2053..b82a1a9 100644 --- a/cas-client-core/src/main/java/org/jasig/cas/client/validation/Cas10TicketValidator.java +++ b/cas-client-core/src/main/java/org/jasig/cas/client/validation/Cas10TicketValidator.java @@ -30,7 +30,7 @@ public final class Cas10TicketValidator extends AbstractUrlBasedTicketValidator protected String constructURL(final String ticketId, final Service service) { return getCasServerUrl() + "validate?ticket=" + ticketId + (isRenew() ? "&renew=true" : "") + "&service=" - + getEncodedService(service); + + urlEncode(service.getId()); } protected final Assertion parseResponse(final String response) diff --git a/cas-client-core/src/main/java/org/jasig/cas/client/validation/Cas20ServiceTicketValidator.java b/cas-client-core/src/main/java/org/jasig/cas/client/validation/Cas20ServiceTicketValidator.java index adb6166..54d5138 100644 --- a/cas-client-core/src/main/java/org/jasig/cas/client/validation/Cas20ServiceTicketValidator.java +++ b/cas-client-core/src/main/java/org/jasig/cas/client/validation/Cas20ServiceTicketValidator.java @@ -64,9 +64,9 @@ public class Cas20ServiceTicketValidator extends + ticketId + (isRenew() ? "&renew=true" : "") + "&service=" - + getEncodedService(service) + + urlEncode(service.getId()) + (this.proxyCallbackUrl != null ? "&pgtUrl=" - + getEncodedService(this.proxyCallbackUrl) : ""); + + urlEncode(this.proxyCallbackUrl.getId()) : ""); } protected final Assertion parseResponse(final String response) diff --git a/cas-client-core/src/main/java/org/jasig/cas/client/validation/Saml10TicketValidator.java b/cas-client-core/src/main/java/org/jasig/cas/client/validation/Saml10TicketValidator.java index fec9c45..cde7041 100644 --- a/cas-client-core/src/main/java/org/jasig/cas/client/validation/Saml10TicketValidator.java +++ b/cas-client-core/src/main/java/org/jasig/cas/client/validation/Saml10TicketValidator.java @@ -46,12 +46,7 @@ public class Saml10TicketValidator extends AbstractUrlBasedTicketValidator { protected String constructURL(final String ticketId, final Service service) { - try { - final String encodedTicket = URLEncoder.encode(ticketId, "UTF-8"); - return getCasServerUrl() + "/samlValidate?SAMLart=" + encodedTicket + "&TARGET=" + getEncodedService(service); - } catch (final Exception e) { - return getCasServerUrl() + "/samlValidate?SAMLart=" + ticketId + "&TARGET=" + getEncodedService(service); - } + return getCasServerUrl() + "/samlValidate?SAMLart=" + urlEncode(ticketId) + "&TARGET=" + urlEncode(service.getId()); } protected Assertion parseResponse(final String response) throws ValidationException {