/** * Extract the issuer, and populate message context, from the Resource attribute of the Attribute query if * {@link #useQueryResourceAsEntityId} is true. * * @param messageContext current message context * @param query query to extract resource name from */ protected void extractAttributeQueryInfo(SAMLMessageContext messageContext, AttributeQuery query) { if (useQueryResourceAsEntityId) { log.debug("Attempting to extract issuer from SAML 1 AttributeQuery Resource attribute"); String resource = DatatypeHelper.safeTrimOrNullString(query.getResource()); if (resource != null) { messageContext.setInboundMessageIssuer(resource); log.debug("Extracted issuer from SAML 1.x AttributeQuery: {}", resource); } } }
/** * Extract the issuer, and populate message context, from the Resource attribute of the AuthorizationDecisionQuery * query if {@link #useQueryResourceAsEntityId} is true. * * @param messageContext current message context * @param query query to extract resource name from */ protected void extractAuthorizationDecisionQueryInfo(SAMLMessageContext messageContext, AuthorizationDecisionQuery query) { if (useQueryResourceAsEntityId) { log.debug("Attempting to extract issuer from SAML 1 AuthorizationDecisionQuery Resource attribute"); String resource = DatatypeHelper.safeTrimOrNullString(query.getResource()); if (resource != null) { messageContext.setInboundMessageIssuer(resource); log.debug("Extracted issuer from SAML 1.x AuthorizationDecisionQuery: {}", resource); } } }
/** * Extract the issuer, and populate message context, as the relying party corresponding to the first * AssertionArtifact in the message. * * @param messageContext current message context * @param artifacts AssertionArtifacts in the request */ protected void extractAssertionArtifactInfo(SAMLMessageContext messageContext, List<AssertionArtifact> artifacts) { if (artifacts.size() == 0) { return; } log.debug("Attempting to extract issuer based on first AssertionArtifact in request"); AssertionArtifact artifact = artifacts.get(0); SAMLArtifactMapEntry artifactEntry = artifactMap.get(artifact.getAssertionArtifact()); messageContext.setInboundMessageIssuer(artifactEntry.getRelyingPartyId()); log.debug("Extracted issuer from SAML 1.x AssertionArtifact: {}", messageContext.getInboundMessageIssuer()); }
messageContext.setInboundMessageIssuer(issuer);
log.info("Authentication via request simple signature succeeded for derived issuer {}", derivedIssuer); samlMsgCtx.setInboundMessageIssuer(derivedIssuer); samlMsgCtx.setInboundSAMLMessageAuthenticated(true);
/** * Extract information from a SAML RequestAbstractType message. * * @param messageContext current message context * @param request the SAML message to process * * @throws MessageDecodingException thrown if the request issuer has a format other than {@link NameIDType#ENTITY} */ protected void extractRequestInfo(SAMLMessageContext messageContext, RequestAbstractType request) throws MessageDecodingException { messageContext.setInboundSAMLMessageId(request.getID()); messageContext.setInboundSAMLMessageIssueInstant(request.getIssueInstant()); messageContext.setInboundMessageIssuer(extractEntityId(request.getIssuer())); }
messageContext.setInboundMessageIssuer(messageIssuer);