[java-identity-provider COMMIT] in /trunk: idp-cas-api/src/main/java/net/shibboleth/idp/cas/protocol/ServiceTicketRes...
noreply at shibboleth.net
noreply at shibboleth.net
Tue Sep 6 06:47:39 EDT 2016
Author: serac
Date: Tue Sep 6 06:47:38 2016
New Revision: 8370
URL: http://svn.shibboleth.net/view/java-identity-provider?rev=8370&view=rev
Log:
IDP-1018 Revert ticket encoding, use URL-safe charset.
https://issues.shibboleth.net/jira/browse/IDP-1018
Ticket charset is now A-Za-z0-9=-_ using URL-safe Base64 component.
Modified:
trunk/idp-cas-api/src/main/java/net/shibboleth/idp/cas/protocol/ServiceTicketResponse.java
trunk/idp-conf/src/main/resources/system/conf/cas-protocol-system.xml
trunk/idp-conf/src/test/java/net/shibboleth/idp/test/flows/cas/LoginFlowTest.java
Modified: trunk/idp-cas-api/src/main/java/net/shibboleth/idp/cas/protocol/ServiceTicketResponse.java
URL: http://svn.shibboleth.net/view/java-identity-provider/trunk/idp-cas-api/src/main/java/net/shibboleth/idp/cas/protocol/ServiceTicketResponse.java?rev=8370&r1=8369&r2=8370&view=diff
==============================================================================
--- trunk/idp-cas-api/src/main/java/net/shibboleth/idp/cas/protocol/ServiceTicketResponse.java (original)
+++ trunk/idp-cas-api/src/main/java/net/shibboleth/idp/cas/protocol/ServiceTicketResponse.java Tue Sep 6 06:47:38 2016
@@ -17,14 +17,8 @@
package net.shibboleth.idp.cas.protocol;
-import java.net.MalformedURLException;
-
-import net.shibboleth.utilities.java.support.collection.Pair;
import net.shibboleth.utilities.java.support.logic.Constraint;
-import net.shibboleth.utilities.java.support.net.URISupport;
-import net.shibboleth.utilities.java.support.net.URLBuilder;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import org.springframework.web.util.UriComponentsBuilder;
import javax.annotation.Nonnull;
@@ -34,9 +28,6 @@
* @author Marvin S. Addison
*/
public class ServiceTicketResponse {
- /** Logger. */
- private final Logger logger = LoggerFactory.getLogger(ServiceTicketResponse.class);
-
/** Service URL */
@Nonnull
private final String service;
@@ -90,24 +81,8 @@
* @return URL that may be used to redirect to a service with a granted ticket.
*/
public String getRedirectUrl() {
- try {
- final URLBuilder builder = new URLBuilder(service);
- builder.getQueryParams().add(new Pair<>(getTicketParameterName(), ticket));
- return builder.buildURL();
- } catch (MalformedURLException e) {
- if (logger.isDebugEnabled()) {
- logger.debug("Error decoding URL {}", service, e);
- } else {
- logger.warn("Error decoding URL {}", service);
- }
- // Fall back to appending the ticket to service URL
- final char sep;
- if (service.indexOf('?') > -1) {
- sep = '&';
- } else {
- sep = '?';
- }
- return service + sep + getTicketParameterName() + '=' + URISupport.doURLEncode(ticket);
- }
+ final UriComponentsBuilder builder = UriComponentsBuilder.fromUriString(service);
+ builder.queryParam(getTicketParameterName(), ticket);
+ return builder.build().toUriString();
}
}
Modified: trunk/idp-conf/src/main/resources/system/conf/cas-protocol-system.xml
URL: http://svn.shibboleth.net/view/java-identity-provider/trunk/idp-conf/src/main/resources/system/conf/cas-protocol-system.xml?rev=8370&r1=8369&r2=8370&view=diff
==============================================================================
--- trunk/idp-conf/src/main/resources/system/conf/cas-protocol-system.xml (original)
+++ trunk/idp-conf/src/main/resources/system/conf/cas-protocol-system.xml Tue Sep 6 06:47:38 2016
@@ -16,7 +16,18 @@
<bean id="encodingTicketService" class="net.shibboleth.idp.cas.ticket.impl.EncodingTicketService"
c:service-ref="#{'%{idp.cas.StorageService:shibboleth.StorageService}'.trim()}"
- c:sealer-ref="shibboleth.DataSealer"/>
+ c:sealer-ref="encodedTicketSealer"/>
+
+ <bean id="encodedTicketSealer" lazy-init="true"
+ class="net.shibboleth.utilities.java.support.security.DataSealer"
+ p:keyStrategy-ref="shibboleth.DataSealerKeyStrategy"
+ p:encoder-ref="base64Codec"
+ p:decoder-ref="base64Codec" />
+
+ <bean id="base64Codec" class="org.apache.commons.codec.binary.Base64"
+ c:lineLength="0"
+ c:lineSeparator="#{new byte[] {10} }"
+ c:urlSafe="true" />
<alias name="encodingTicketService" alias="shibboleth.DefaultCASTicketService" />
Modified: trunk/idp-conf/src/test/java/net/shibboleth/idp/test/flows/cas/LoginFlowTest.java
URL: http://svn.shibboleth.net/view/java-identity-provider/trunk/idp-conf/src/test/java/net/shibboleth/idp/test/flows/cas/LoginFlowTest.java?rev=8370&r1=8369&r2=8370&view=diff
==============================================================================
--- trunk/idp-conf/src/test/java/net/shibboleth/idp/test/flows/cas/LoginFlowTest.java (original)
+++ trunk/idp-conf/src/test/java/net/shibboleth/idp/test/flows/cas/LoginFlowTest.java Tue Sep 6 06:47:38 2016
@@ -280,7 +280,6 @@
[... 8 lines stripped ...]
More information about the commits
mailing list