SASLRequest.java revision f948ca04a28ccfeed9633bf4b0fb0d2c59c37478
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * Copyright (c) 2006 Sun Microsystems Inc. All Rights Reserved
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * The contents of this file are subject to the terms
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * of the Common Development and Distribution License
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * (the License). You may not use this file except in
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * compliance with the License.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * You can obtain a copy of the License at
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * https://opensso.dev.java.net/public/CDDLv1.0.html or
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * See the License for the specific language governing
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * permission and limitations under the License.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * When distributing Covered Code, include this CDDL
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * Header Notice in each file and include the License file
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * If applicable, add the following below the CDDL Header,
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * with the fields enclosed by brackets [] replaced by
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * your own identifying information:
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * "Portions Copyrighted [year] [name of copyright owner]"
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * $Id: SASLRequest.java,v 1.2 2008/06/25 05:47:08 qcheng Exp $
f948ca04a28ccfeed9633bf4b0fb0d2c59c37478David Luna * Portions Copyrighted 2014 ForgeRock AS.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Fosterpackage com.sun.identity.liberty.ws.authnsvc.protocol;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Fosterimport com.sun.identity.liberty.ws.authnsvc.AuthnSvcConstants;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Fosterimport com.sun.identity.liberty.ws.authnsvc.AuthnSvcException;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Fosterimport com.sun.identity.liberty.ws.authnsvc.AuthnSvcUtils;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * The <code>SASLRequest</code> class represents <code>SASLRequest</code>
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * element defined in Authentication Service schema.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @supported.all.api
f948ca04a28ccfeed9633bf4b0fb0d2c59c37478David Luna * @deprecated since 12.0.0
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * Constructs a <code>SASLRequest</code> instance.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @param mechanism Mechanism attribute value.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * Constructs a <code>SAMLRequest</code> with a
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * <code>org.w3c.dom.Element</code>.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @param element a <code>SASLRequest</code> element
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @exception AuthnSvcException if an error occurs while parsing the
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * <code>SASLRequest</code> element
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster public SASLRequest(Element element) throws AuthnSvcException {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster if (child.getNodeType() == Node.ELEMENT_NODE) {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster String localName = childElement.getLocalName();
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster String namespaceURI = childElement.getNamespaceURI();
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster if (AuthnSvcConstants.NS_AUTHN_SVC.equals(namespaceURI) &&
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster AuthnSvcConstants.TAG_DATA.equals(localName)) {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster throw new AuthnSvcException("tooManyDataInReq");
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster throw new AuthnSvcException("invalidSeqInReq");
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster } else if (AuthnSvcConstants.NS_PROTOCOLS_SCHEMA
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster throw new AuthnSvcException("tooManyReqAuthnCon");
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster throw new AuthnSvcException("invalidChildReq");
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster mechanism = XMLUtils.getNodeAttributeValue(element,
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster String msg = AuthnSvcUtils.getString("missingMechanism");
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster AuthnSvcUtils.debug.error("SASLRequest: " + msg);
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster authzID = XMLUtils.getNodeAttributeValue(element,
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster advisoryAuthnID = XMLUtils.getNodeAttributeValue(element,
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * Returns value of Element 'Data'.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @return value of Element 'Data'
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @see #setData(byte[])
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster public byte[] getData() {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * Returns Element <code>RequestAuthnContext</code>.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @return Element <code>RequestAuthnContext</code>
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @see #setRequestAuthnContext(Element)
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * Returns value of <code>mechanism</code> attribute.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @return value of <code>mechanism</code> attribute
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @see #setMechanism(String)
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * Returns value of <code>authzID</code> attribute.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @return value of <code>authzID</code> attribute
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @see #setAuthzID(String)
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * Returns value of <code>advisoryAuthnID</code> attribute.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @return value of <code>advisoryAuthnID</code> attribute
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @see #setAdvisoryAuthnID(String)
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * Returns value of <code>id</code> attribute.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @return value of <code>id</code> attribute
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @see #setId(String)
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * Returns value of <code>messageID</code> attribute of
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * <code>CorrelationHeader</code>.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @return value of <code>messageID</code> attribute
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @see #setMessageID(String)
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * Returns value of <code>refToMessageID</code> attribute of
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * <code>CorrelationHeader</code>.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @return value of <code>refToMessageID</code> attribute
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @see #setRefToMessageID(String)
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * Sets value of Element 'Data'.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @param data value of Element 'Data'
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @see #getData()
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * Sets Element <code>RequestAuthnContext</code>.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @param requestAuthnContext Element <code>RequestAuthnContext</code>
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @see #getRequestAuthnContext()
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster public void setRequestAuthnContext(Element requestAuthnContext) {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster this.requestAuthnContext = requestAuthnContext;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * Sets value of <code>mechanism</code> attribute
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @param mechanism value of <code>mechanism</code> attribute
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @see #getMechanism()
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * Sets value of <code>authzID</code> attribute.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @param authzID value of <code>authzID</code> attribute
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @see #getAuthzID()
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * Sets value of <code>advisoryAuthnID</code> attribute.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @param advisoryAuthnID value of <code>advisoryAuthnID</code> attribute
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @see #getAdvisoryAuthnID()
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster public void setAdvisoryAuthnID(String advisoryAuthnID) {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * Sets value of <code>id</code> attribute.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @param id value of <code>id</code> attribute
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @see #getId()
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * Sets value of <code>messageID</code> attribute of
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * <code>CorrelationHeader</code>.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @param messageID value of <code>messageID</code> attribute
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @see #getMessageID()
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * Sets value of <code>refToMessageID</code> attribute of
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * <code>CorrelationHeader</code>.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @param refToMessageID value of <code>refToMessageID</code> attribute
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @see #getRefToMessageID()
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster public void setRefToMessageID(String refToMessageID) {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * Returns <code>SASLRequest</code> in <code>org.w3c.dom.Element</code>
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @return <code>SASLRequest</code> in <code>org.w3c.dom.Element</code>
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @exception AuthnSvcException if an error occurs while creating the
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * <code>SASLRequest</code> element
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster public Element toElement() throws AuthnSvcException {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster AuthnSvcUtils.debug.error("SASLRequest:toElement", ex);
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster Element saslReqE = doc.createElementNS(AuthnSvcConstants.NS_AUTHN_SVC,
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster saslReqE.setAttributeNS(AuthnSvcConstants.NS_XML,
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster saslReqE.setAttributeNS(AuthnSvcConstants.NS_XML,
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster saslReqE.setAttributeNS(null, AuthnSvcConstants.ATTR_id, id);
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster Element dataE = doc.createElementNS(AuthnSvcConstants.NS_AUTHN_SVC,