public abstract class BaseSAML1MessageDecoder extends BaseSAMLMessageDecoder
Constructor and Description |
---|
BaseSAML1MessageDecoder()
Constructor.
|
BaseSAML1MessageDecoder(ParserPool pool)
Constructor.
|
BaseSAML1MessageDecoder(SAMLArtifactMap map)
Deprecated.
|
BaseSAML1MessageDecoder(SAMLArtifactMap map,
ParserPool pool)
Deprecated.
|
Modifier and Type | Method and Description |
---|---|
void |
decode(MessageContext messageContext)
Decodes a message in a binding specific manner.
|
protected void |
extractAssertionArtifactInfo(SAMLMessageContext messageContext,
List<AssertionArtifact> artifacts)
Extract the issuer, and populate message context, as the relying party corresponding to the first
AssertionArtifact in the message.
|
protected void |
extractAttributeQueryInfo(SAMLMessageContext messageContext,
AttributeQuery query)
Extract the issuer, and populate message context, from the Resource attribute of the Attribute query if
useQueryResourceAsEntityId is true. |
protected void |
extractAuthorizationDecisionQueryInfo(SAMLMessageContext messageContext,
AuthorizationDecisionQuery query)
Extract the issuer, and populate message context, from the Resource attribute of the AuthorizationDecisionQuery
query if
useQueryResourceAsEntityId is true. |
protected void |
extractRequestInfo(SAMLMessageContext messageContext,
RequestAbstractType abstractRequest)
Extract information from a SAML RequestAbstractType message.
|
protected void |
extractResponseInfo(SAMLMessageContext messageContext,
Response response)
Extract information from a SAML StatusResponse message.
|
SAMLArtifactMap |
getArtifactMap()
Gets the artifact map used to retrieve SAML information from an artifact.
|
protected String |
getIntendedDestinationEndpointURI(SAMLMessageContext samlMsgCtx)
Extract the message information which indicates to what receiver endpoint URI the
SAML message was intended to be delivered.
|
boolean |
getUseQueryResourceAsEntityId()
Gets whether to use the Resource attribute of some SAML 1 queries as the entity ID of the inbound message issuer.
|
protected void |
populateMessageContext(SAMLMessageContext messageContext)
Populates the message context with the message ID, issue instant, and issuer as well as the peer's entity
descriptor if a metadata provider is present in the message context and the peer's role descriptor if its entity
descriptor was retrieved and the message context has a populated peer role name.
|
protected void |
populateMessageIdIssueInstantIssuer(SAMLMessageContext messageContext)
Extracts the message ID, issue instant, and issuer from the incoming SAML message and populates the message
context with it.
|
protected void |
populateRelyingPartyMetadata(SAMLMessageContext messageContext)
Populates the peer's entity metadata if a metadata provide is present in the message context.
|
void |
setUseQueryResourceAsEntityId(boolean useResource)
Sets whether to use the Resource attribute of some SAML 1 queries as the entity ID of the inbound message issuer.
|
checkEndpointURI, compareEndpointURIs, getActualReceiverEndpointURI, getURIComparator, isIntendedDestinationEndpointURIRequired, isMessageSigned, setURIComparator
doDecode, getParserPool, logDecodedMessage, processSecurityPolicy, setParserPool, unmarshallMessage
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getBindingURI
public BaseSAML1MessageDecoder()
public BaseSAML1MessageDecoder(ParserPool pool)
pool
- parser pool used to deserialize messagespublic BaseSAML1MessageDecoder(SAMLArtifactMap map)
map
- used to map artifacts to SAMLpublic BaseSAML1MessageDecoder(SAMLArtifactMap map, ParserPool pool)
map
- used to map artifacts to SAMLpool
- parser pool used to deserialize messagespublic void decode(MessageContext messageContext) throws MessageDecodingException, SecurityException
decode
in interface MessageDecoder
decode
in class BaseMessageDecoder
messageContext
- current message contextMessageDecodingException
- thrown if the message can not be decodedSecurityException
- thrown if the decoded message does not meet the required security constraintspublic SAMLArtifactMap getArtifactMap()
public boolean getUseQueryResourceAsEntityId()
public void setUseQueryResourceAsEntityId(boolean useResource)
useResource
- whether to use the Resource attribute of some SAML 1 queries as the entity ID of the inbound
message issuerprotected void populateMessageContext(SAMLMessageContext messageContext) throws MessageDecodingException
messageContext
- message context to populateMessageDecodingException
- thrown if there is a problem populating the message contextprotected void populateMessageIdIssueInstantIssuer(SAMLMessageContext messageContext) throws MessageDecodingException
messageContext
- current message contextMessageDecodingException
- thrown if there is a problem populating the message contextprotected void extractRequestInfo(SAMLMessageContext messageContext, RequestAbstractType abstractRequest)
messageContext
- current message contextabstractRequest
- the SAML message to processprotected void extractAttributeQueryInfo(SAMLMessageContext messageContext, AttributeQuery query)
useQueryResourceAsEntityId
is true.messageContext
- current message contextquery
- query to extract resource name fromprotected void extractAuthorizationDecisionQueryInfo(SAMLMessageContext messageContext, AuthorizationDecisionQuery query)
useQueryResourceAsEntityId
is true.messageContext
- current message contextquery
- query to extract resource name fromprotected void extractAssertionArtifactInfo(SAMLMessageContext messageContext, List<AssertionArtifact> artifacts)
messageContext
- current message contextartifacts
- AssertionArtifacts in the requestprotected void extractResponseInfo(SAMLMessageContext messageContext, Response response) throws MessageDecodingException
messageContext
- current message contextresponse
- the SAML message to processMessageDecodingException
- thrown if the assertions within the response contain differening issuer IDsprotected void populateRelyingPartyMetadata(SAMLMessageContext messageContext) throws MessageDecodingException
messageContext
- current message contextMessageDecodingException
- thrown if there is a problem populating the message contextprotected String getIntendedDestinationEndpointURI(SAMLMessageContext samlMsgCtx) throws MessageDecodingException
This SAML 1-specific implementation extracts the value of the ResponseAbstractType protocol message Recipient attribute.
getIntendedDestinationEndpointURI
in class BaseSAMLMessageDecoder
samlMsgCtx
- the SAML message context being processedMessageDecodingException
- thrown if the message is not an instance of SAML message that
could be processed by the decoderCopyright © 2018 JBoss by Red Hat. All rights reserved.