[java-identity-provider] branch master updated: IDP-1354 Fix CAS proxy ServiceContext lookup.
Marvin S. Addison
marvin.addison at gmail.com
Tue Oct 30 10:06:53 EDT 2018
This is an automated email from the git hooks/post-receive script.
serac pushed a commit to branch master
in repository java-identity-provider.
View the commit online:
http://git.shibboleth.net/view/?p=java-identity-provider.git;a=commit;h=15950464df25c4cbe2a7049bff11ab3ce764edb4
The following commit(s) were added to refs/heads/master by this push:
new 1595046 IDP-1354 Fix CAS proxy ServiceContext lookup.
1595046 is described below
commit 15950464df25c4cbe2a7049bff11ab3ce764edb4
Author: Marvin S. Addison <serac at vt.edu>
AuthorDate: Tue Oct 30 10:06:14 2018 -0400
IDP-1354 Fix CAS proxy ServiceContext lookup.
See https://issues.shibboleth.net/jira/browse/IDP-1354.
---
.../shibboleth/idp/cas/proxy/impl/HttpClientProxyValidator.java | 7 +++++--
.../idp/cas/proxy/impl/HttpClientProxyValidatorTest.java | 5 ++++-
2 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/idp-cas-impl/src/main/java/net/shibboleth/idp/cas/proxy/impl/HttpClientProxyValidator.java b/idp-cas-impl/src/main/java/net/shibboleth/idp/cas/proxy/impl/HttpClientProxyValidator.java
index 32a733c..4e95191 100644
--- a/idp-cas-impl/src/main/java/net/shibboleth/idp/cas/proxy/impl/HttpClientProxyValidator.java
+++ b/idp-cas-impl/src/main/java/net/shibboleth/idp/cas/proxy/impl/HttpClientProxyValidator.java
@@ -32,7 +32,9 @@ import javax.net.ssl.SSLException;
import javax.security.auth.login.FailedLoginException;
import com.google.common.base.Function;
+import com.google.common.base.Functions;
import net.shibboleth.idp.cas.config.impl.AbstractProtocolConfiguration;
+import net.shibboleth.idp.cas.protocol.ProtocolContext;
import net.shibboleth.idp.cas.proxy.ProxyValidator;
import net.shibboleth.idp.cas.service.Service;
import net.shibboleth.idp.cas.service.ServiceContext;
@@ -98,8 +100,9 @@ public class HttpClientProxyValidator implements ProxyValidator {
private final TrustEngine<? super X509Credential> trustEngine;
/** Looks up a ServiceContext from the profile request context. */
- private final Function<ProfileRequestContext, ServiceContext> serviceCtxLookupFunction =
- new ChildContextLookup<>(ServiceContext.class);
+ private final Function<ProfileRequestContext, ServiceContext> serviceCtxLookupFunction = Functions.compose(
+ new ChildContextLookup<ProtocolContext, ServiceContext>(ServiceContext.class),
+ new ChildContextLookup<ProfileRequestContext, ProtocolContext>(ProtocolContext.class));
/** List of HTTP response codes permitted for successful proxy callback. */
@NotEmpty
diff --git a/idp-cas-impl/src/test/java/net/shibboleth/idp/cas/proxy/impl/HttpClientProxyValidatorTest.java b/idp-cas-impl/src/test/java/net/shibboleth/idp/cas/proxy/impl/HttpClientProxyValidatorTest.java
index 09b6a36..77cc07d 100644
--- a/idp-cas-impl/src/test/java/net/shibboleth/idp/cas/proxy/impl/HttpClientProxyValidatorTest.java
+++ b/idp-cas-impl/src/test/java/net/shibboleth/idp/cas/proxy/impl/HttpClientProxyValidatorTest.java
@@ -27,6 +27,7 @@ import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import net.shibboleth.idp.cas.flow.impl.AbstractFlowActionTest;
+import net.shibboleth.idp.cas.protocol.ProtocolContext;
import net.shibboleth.idp.cas.service.Service;
import net.shibboleth.idp.cas.service.ServiceContext;
import net.shibboleth.idp.spring.IdPPropertiesApplicationContextInitializer;
@@ -172,7 +173,9 @@ public class HttpClientProxyValidatorTest extends AbstractFlowActionTest {
private ProfileRequestContext buildProfileRequestContext(final String serviceUrl) {
final ProfileRequestContext prc = new ProfileRequestContext();
- prc.addSubcontext(new ServiceContext(new Service(serviceUrl, "unknown", true, false)));
+ final ProtocolContext protoCtx = new ProtocolContext();
+ prc.addSubcontext(protoCtx);
+ protoCtx.addSubcontext(new ServiceContext(new Service(serviceUrl, "unknown", true, false)));
return prc;
}
}
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.
More information about the commits
mailing list