MetadataProvider metadataProvider = getMetadataProvider();
ArtifactResolutionRequestContext requestContext = new ArtifactResolutionRequestContext();
+ requestContext.setMetadataProvider(metadataProvider);
+
requestContext.setInboundMessageTransport(inTransport);
- requestContext.setInboundSAMLProtocol(SAMLConstants.SAML20P_NS);
+ requestContext.setInboundSAMLProtocol(SAMLConstants.SAML11P_NS);
+ requestContext.setPeerEntityRole(SPSSODescriptor.DEFAULT_ELEMENT_NAME);
+
requestContext.setOutboundMessageTransport(outTransport);
- requestContext.setOutboundSAMLProtocol(SAMLConstants.SAML20P_NS);
- requestContext.setMetadataProvider(metadataProvider);
+ requestContext.setOutboundSAMLProtocol(SAMLConstants.SAML11P_NS);
try {
SAMLMessageDecoder decoder = getMessageDecoders().get(getInboundBinding());
} finally {
// Set as much information as can be retrieved from the decoded message
try {
- Request samlRequest = requestContext.getInboundSAMLMessage();
- requestContext.setInboundSAMLMessageId(samlRequest.getID());
- requestContext.setInboundSAMLMessageIssueInstant(samlRequest.getIssueInstant());
-
- String relyingPartyId = requestContext.getPeerEntityId();
- requestContext.setPeerEntityMetadata(metadataProvider.getEntityDescriptor(relyingPartyId));
- requestContext.setPeerEntityRole(SPSSODescriptor.DEFAULT_ELEMENT_NAME);
- requestContext.setPeerEntityRoleMetadata(requestContext.getPeerEntityMetadata().getSPSSODescriptor(
- SAMLConstants.SAML11P_NS));
+ String relyingPartyId = requestContext.getInboundMessageIssuer();
+
RelyingPartyConfiguration rpConfig = getRelyingPartyConfiguration(relyingPartyId);
requestContext.setRelyingPartyConfiguration(rpConfig);
MetadataProvider metadataProvider = getMetadataProvider();
AttributeQueryContext requestContext = new AttributeQueryContext();
+ requestContext.setMetadataProvider(metadataProvider);
+
requestContext.setInboundMessageTransport(inTransport);
requestContext.setInboundSAMLProtocol(SAMLConstants.SAML11P_NS);
+ requestContext.setPeerEntityRole(SPSSODescriptor.DEFAULT_ELEMENT_NAME);
+
requestContext.setOutboundMessageTransport(outTransport);
requestContext.setOutboundSAMLProtocol(SAMLConstants.SAML11P_NS);
- requestContext.setMetadataProvider(metadataProvider);
try {
SAMLMessageDecoder decoder = getMessageDecoders().get(getInboundBinding());
// Set as much information as can be retrieved from the decoded message
try {
Request attributeRequest = requestContext.getInboundSAMLMessage();
- requestContext.setInboundSAMLMessageId(attributeRequest.getID());
- requestContext.setInboundSAMLMessageIssueInstant(attributeRequest.getIssueInstant());
-
- String relyingPartyId = requestContext.getPeerEntityId();
- requestContext.setPeerEntityMetadata(metadataProvider.getEntityDescriptor(relyingPartyId));
- requestContext.setPeerEntityRole(SPSSODescriptor.DEFAULT_ELEMENT_NAME);
- requestContext.setPeerEntityRoleMetadata(requestContext.getPeerEntityMetadata().getSPSSODescriptor(
- SAMLConstants.SAML10P_NS));
+
+ String relyingPartyId = requestContext.getInboundMessageIssuer();
RelyingPartyConfiguration rpConfig = getRelyingPartyConfiguration(relyingPartyId);
requestContext.setRelyingPartyConfiguration(rpConfig);
requestContext.setPeerEntityEndpoint(selectEndpoint(requestContext));
import org.apache.log4j.Logger;
import org.opensaml.common.binding.decoding.SAMLMessageDecoder;
+import org.opensaml.saml1.binding.decoding.BaseSAML1MessageDecoder;
import org.opensaml.ws.message.MessageContext;
-import org.opensaml.ws.message.decoder.BaseMessageDecoder;
import org.opensaml.ws.message.decoder.MessageDecodingException;
import org.opensaml.ws.transport.http.HTTPInTransport;
import org.opensaml.xml.util.DatatypeHelper;
/**
* Shibboleth 1.0 SSO authentication request message decoder.
*/
-public class ShibbolethSSODecoder extends BaseMessageDecoder implements SAMLMessageDecoder {
+public class ShibbolethSSODecoder extends BaseSAML1MessageDecoder implements SAMLMessageDecoder {
/** Class logger. */
private final Logger log = Logger.getLogger(ShibbolethSSODecoder.class);
long time = Long.parseLong(timeStr);
requestContext.setTime(time);
}
+
+ populateMessageContext(requestContext);
}
}
\ No newline at end of file
HttpServletRequest httpRequest = ((HttpServletRequestAdapter) inTransport).getWrappedRequest();
ShibbolethSSORequestContext requestContext = new ShibbolethSSORequestContext();
+ requestContext.setMetadataProvider(getMetadataProvider());
+
requestContext.setInboundMessageTransport(inTransport);
+ requestContext.setInboundSAMLProtocol(ShibbolethConstants.SHIB_SSO_PROFILE_URI);
+ requestContext.setPeerEntityRole(SPSSODescriptor.DEFAULT_ELEMENT_NAME);
+
requestContext.setOutboundMessageTransport(outTransport);
+ requestContext.setOutboundSAMLProtocol(SAMLConstants.SAML11P_NS);
SAMLMessageDecoder decoder = getMessageDecoders().get(getInboundBinding());
requestContext.setMessageDecoder(decoder);
MetadataProvider metadataProvider = getMetadataProvider();
ArtifactResolutionRequestContext requestContext = new ArtifactResolutionRequestContext();
+ requestContext.setMetadataProvider(metadataProvider);
+
requestContext.setInboundMessageTransport(inTransport);
requestContext.setInboundSAMLProtocol(SAMLConstants.SAML20P_NS);
+ requestContext.setPeerEntityRole(SPSSODescriptor.DEFAULT_ELEMENT_NAME);
+
+
requestContext.setOutboundMessageTransport(outTransport);
requestContext.setOutboundSAMLProtocol(SAMLConstants.SAML20P_NS);
- requestContext.setMetadataProvider(metadataProvider);
try {
SAMLMessageDecoder decoder = getMessageDecoders().get(getInboundBinding());
} finally {
// Set as much information as can be retrieved from the decoded message
try {
- ArtifactResolve artResolve = requestContext.getInboundSAMLMessage();
- requestContext.setInboundSAMLMessageId(artResolve.getID());
- requestContext.setInboundSAMLMessageIssueInstant(artResolve.getIssueInstant());
-
String relyingPartyId = requestContext.getPeerEntityId();
- requestContext.setPeerEntityMetadata(metadataProvider.getEntityDescriptor(relyingPartyId));
- requestContext.setPeerEntityRole(SPSSODescriptor.DEFAULT_ELEMENT_NAME);
- requestContext.setPeerEntityRoleMetadata(requestContext.getPeerEntityMetadata().getSPSSODescriptor(
- SAMLConstants.SAML20P_NS));
RelyingPartyConfiguration rpConfig = getRelyingPartyConfiguration(relyingPartyId);
requestContext.setRelyingPartyConfiguration(rpConfig);
MetadataProvider metadataProvider = getMetadataProvider();
AttributeQueryContext requestContext = new AttributeQueryContext();
+ requestContext.setMetadataProvider(metadataProvider);
+
requestContext.setInboundMessageTransport(inTransport);
requestContext.setInboundSAMLProtocol(SAMLConstants.SAML20P_NS);
+ requestContext.setPeerEntityRole(SPSSODescriptor.DEFAULT_ELEMENT_NAME);
+
+
requestContext.setOutboundMessageTransport(outTransport);
requestContext.setOutboundSAMLProtocol(SAMLConstants.SAML20P_NS);
- requestContext.setMetadataProvider(metadataProvider);
try {
SAMLMessageDecoder decoder = getMessageDecoders().get(getInboundBinding());
} finally {
// Set as much information as can be retrieved from the decoded message
try {
- AttributeQuery attributeQuery = requestContext.getInboundSAMLMessage();
- requestContext.setInboundSAMLMessageId(attributeQuery.getID());
- requestContext.setInboundSAMLMessageIssueInstant(attributeQuery.getIssueInstant());
-
String relyingPartyId = requestContext.getPeerEntityId();
- requestContext.setPeerEntityMetadata(metadataProvider.getEntityDescriptor(relyingPartyId));
- requestContext.setPeerEntityRole(SPSSODescriptor.DEFAULT_ELEMENT_NAME);
- requestContext.setPeerEntityRoleMetadata(requestContext.getPeerEntityMetadata().getSPSSODescriptor(
- SAMLConstants.SAML20P_NS));
RelyingPartyConfiguration rpConfig = getRelyingPartyConfiguration(relyingPartyId);
requestContext.setRelyingPartyConfiguration(rpConfig);
}
SSORequestContext requestContext = new SSORequestContext();
+ requestContext.setMetadataProvider(getMetadataProvider());
+
requestContext.setInboundMessageTransport(inTransport);
+ requestContext.setInboundSAMLProtocol(SAMLConstants.SAML20P_NS);
+ requestContext.setPeerEntityRole(SPSSODescriptor.DEFAULT_ELEMENT_NAME);
+
requestContext.setOutboundMessageTransport(outTransport);
- requestContext.setMetadataProvider(getMetadataProvider());
+ requestContext.setOutboundSAMLProtocol(SAMLConstants.SAML20P_NS);
try {
SAMLMessageDecoder decoder = getMessageDecoders().get(getInboundBinding());