Search in sources :

Example 1 with SAML11QueryAbstractType

use of org.keycloak.dom.saml.v1.protocol.SAML11QueryAbstractType in project keycloak by keycloak.

the class SAML11RequestWriter method write.

public void write(SAML11RequestType request) throws ProcessingException {
    StaxUtil.writeStartElement(writer, PROTOCOL_PREFIX, SAML11Constants.REQUEST, namespace);
    StaxUtil.writeNameSpace(writer, PROTOCOL_PREFIX, namespace);
    StaxUtil.writeNameSpace(writer, ASSERTION_PREFIX, SAML11Constants.ASSERTION_11_NSURI);
    StaxUtil.writeDefaultNameSpace(writer, namespace);
    // Attributes
    StaxUtil.writeAttribute(writer, SAML11Constants.REQUEST_ID, request.getID());
    StaxUtil.writeAttribute(writer, SAML11Constants.MAJOR_VERSION, request.getMajorVersion() + "");
    StaxUtil.writeAttribute(writer, SAML11Constants.MINOR_VERSION, request.getMinorVersion() + "");
    StaxUtil.writeAttribute(writer, JBossSAMLConstants.ISSUE_INSTANT.get(), request.getIssueInstant().toString());
    List<String> assertionIDRefs = request.getAssertionIDRef();
    for (String assertionIDRef : assertionIDRefs) {
        StaxUtil.writeStartElement(writer, ASSERTION_PREFIX, SAML11Constants.ASSERTION_ID_REF, SAML11Constants.ASSERTION_11_NSURI);
        StaxUtil.writeCharacters(writer, assertionIDRef);
        StaxUtil.writeEndElement(writer);
    }
    List<String> assertionArtifacts = request.getAssertionArtifact();
    for (String assertionArtifact : assertionArtifacts) {
        StaxUtil.writeStartElement(writer, PROTOCOL_PREFIX, SAML11Constants.ASSERTION_ARTIFACT, namespace);
        StaxUtil.writeCharacters(writer, assertionArtifact);
        StaxUtil.writeEndElement(writer);
    }
    SAML11QueryAbstractType query = request.getQuery();
    if (query instanceof SAML11AuthenticationQueryType) {
        SAML11AuthenticationQueryType authQuery = (SAML11AuthenticationQueryType) query;
        write(authQuery);
    } else if (query instanceof SAML11AttributeQueryType) {
        SAML11AttributeQueryType attQuery = (SAML11AttributeQueryType) query;
        write(attQuery);
    } else if (query instanceof SAML11AuthorizationDecisionQueryType) {
        SAML11AuthorizationDecisionQueryType attQuery = (SAML11AuthorizationDecisionQueryType) query;
        write(attQuery);
    }
    StaxUtil.writeEndElement(writer);
    StaxUtil.flush(writer);
}
Also used : SAML11AuthorizationDecisionQueryType(org.keycloak.dom.saml.v1.protocol.SAML11AuthorizationDecisionQueryType) SAML11AuthenticationQueryType(org.keycloak.dom.saml.v1.protocol.SAML11AuthenticationQueryType) SAML11QueryAbstractType(org.keycloak.dom.saml.v1.protocol.SAML11QueryAbstractType) SAML11AttributeQueryType(org.keycloak.dom.saml.v1.protocol.SAML11AttributeQueryType)

Aggregations

SAML11AttributeQueryType (org.keycloak.dom.saml.v1.protocol.SAML11AttributeQueryType)1 SAML11AuthenticationQueryType (org.keycloak.dom.saml.v1.protocol.SAML11AuthenticationQueryType)1 SAML11AuthorizationDecisionQueryType (org.keycloak.dom.saml.v1.protocol.SAML11AuthorizationDecisionQueryType)1 SAML11QueryAbstractType (org.keycloak.dom.saml.v1.protocol.SAML11QueryAbstractType)1