use of org.opensaml.saml.saml2.core.Artifact in project cas by apereo.
the class SamlIdPSaml1ArtifactResolutionProfileHandlerControllerTests method getArtifactResolve.
private ArtifactResolve getArtifactResolve() {
var builder = (SAMLObjectBuilder) openSamlConfigBean.getBuilderFactory().getBuilder(ArtifactResolve.DEFAULT_ELEMENT_NAME);
val request = (ArtifactResolve) builder.buildObject();
builder = (SAMLObjectBuilder) openSamlConfigBean.getBuilderFactory().getBuilder(Issuer.DEFAULT_ELEMENT_NAME);
val issuer = (Issuer) builder.buildObject();
issuer.setValue(samlRegisteredService.getServiceId());
request.setIssuer(issuer);
builder = (SAMLObjectBuilder) openSamlConfigBean.getBuilderFactory().getBuilder(Artifact.DEFAULT_ELEMENT_NAME);
val artifact = (Artifact) builder.buildObject();
artifact.setValue("https://cassp.example.org");
request.setArtifact(artifact);
return request;
}
use of org.opensaml.saml.saml2.core.Artifact in project pac4j by pac4j.
the class Pac4jHTTPArtifactDecoder method resolveArtifactEndpoint.
/**
* Resolve the artifact resolution endpoint of the peer who issued the artifact.
*
* @param artifact the artifact
* @param peerRoleDescriptor the peer RoleDescriptor
* @return the peer artifact resolution service endpoint
* @throws MessageDecodingException if there is a fatal error resolving the endpoint,
* or the endpoint could not be resolved
*/
@Nonnull
private ArtifactResolutionService resolveArtifactEndpoint(@Nonnull final SAML2Artifact artifact, @Nonnull final RoleDescriptor peerRoleDescriptor) throws MessageDecodingException {
final var roleDescriptorCriterion = new RoleDescriptorCriterion(peerRoleDescriptor);
final var arsTemplate = (ArtifactResolutionService) XMLObjectSupport.buildXMLObject(ArtifactResolutionService.DEFAULT_ELEMENT_NAME);
arsTemplate.setBinding(SAMLConstants.SAML2_SOAP11_BINDING_URI);
if (artifact instanceof SAMLSourceLocationArtifact) {
arsTemplate.setLocation(((SAMLSourceLocationArtifact) artifact).getSourceLocation());
}
final Integer endpointIndex = SAMLBindingSupport.convertSAML2ArtifactEndpointIndex(artifact.getEndpointIndex());
arsTemplate.setIndex(endpointIndex);
final var endpointCriterion = new EndpointCriterion<ArtifactResolutionService>(arsTemplate, false);
final var criteriaSet = new CriteriaSet(roleDescriptorCriterion, endpointCriterion);
try {
final var ars = artifactEndpointResolver.resolveSingle(criteriaSet);
if (ars != null) {
return ars;
} else {
throw new MessageDecodingException("Unable to resolve ArtifactResolutionService endpoint");
}
} catch (final ResolverException e) {
throw new MessageDecodingException("Unable to resolve ArtifactResolutionService endpoint");
}
}
Aggregations