diff options
| author | kstranacher <kstranacher@d688527b-c9ab-4aba-bd8d-4036d912da1d> | 2010-07-14 15:17:36 +0000 | 
|---|---|---|
| committer | kstranacher <kstranacher@d688527b-c9ab-4aba-bd8d-4036d912da1d> | 2010-07-14 15:17:36 +0000 | 
| commit | b6d6d65334689f60d41a4eba1a1660c12e90d580 (patch) | |
| tree | e7718875ccec36267688e0340bbcd5866fbfdab8 /id/server/idserverlib | |
| parent | 13f101f89f0659aacfc642402de7c31d9eceb658 (diff) | |
| download | moa-id-spss-b6d6d65334689f60d41a4eba1a1660c12e90d580.tar.gz moa-id-spss-b6d6d65334689f60d41a4eba1a1660c12e90d580.tar.bz2 moa-id-spss-b6d6d65334689f60d41a4eba1a1660c12e90d580.zip | |
git-svn-id: https://joinup.ec.europa.eu/svn/moa-idspss/trunk@1173 d688527b-c9ab-4aba-bd8d-4036d912da1d
Diffstat (limited to 'id/server/idserverlib')
2 files changed, 27 insertions, 1 deletions
| diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/servlet/GetForeignIDServlet.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/servlet/GetForeignIDServlet.java index c2de2e3e1..282d7f583 100644 --- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/servlet/GetForeignIDServlet.java +++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/servlet/GetForeignIDServlet.java @@ -9,6 +9,7 @@ import java.util.Map;  import javax.servlet.ServletException;
  import javax.servlet.http.HttpServletRequest;
  import javax.servlet.http.HttpServletResponse;
 +import javax.xml.transform.TransformerException;
  import org.apache.commons.fileupload.FileUploadException;
  import org.w3c.dom.Document;
 @@ -33,6 +34,7 @@ import at.gv.egovernment.moa.id.util.MOAIDMessageProvider;  import at.gv.egovernment.moa.id.util.ParamValidatorUtils;
  import at.gv.egovernment.moa.id.util.SSLUtils;
  import at.gv.egovernment.moa.logging.Logger;
 +import at.gv.egovernment.moa.util.DOMUtils;
  import at.gv.egovernment.moa.util.URLEncoder;
  /**
 @@ -116,11 +118,20 @@ public class GetForeignIDServlet extends AuthServlet {  	    	// make SZR request to the identity link
  	    	CreateIdentityLinkResponse response = getIdentityLink(signature);
 +	   	    	
  	    	if (response.isError()) {	    		
  	    		throw new SZRGWClientException(response.getError());
  	    	}
  	    	else {
 +	    		
  	    		Element samlAssertion = response.getAssertion();
 +	    		
 +	    		try {
 +					System.out.println(DOMUtils.serializeNode(samlAssertion));
 +				} catch (TransformerException e) {
 +					// TODO Auto-generated catch block
 +					e.printStackTrace();
 +				}
  		    	IdentityLinkAssertionParser ilParser = new IdentityLinkAssertionParser(samlAssertion);
  		    	IdentityLink identitylink = ilParser.parseIdentityLink();
 diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/validator/parep/client/szrgw/SZRGWClient.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/validator/parep/client/szrgw/SZRGWClient.java index 2080118d0..9cb7c7ab4 100644 --- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/validator/parep/client/szrgw/SZRGWClient.java +++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/validator/parep/client/szrgw/SZRGWClient.java @@ -18,6 +18,7 @@ package at.gv.egovernment.moa.id.auth.validator.parep.client.szrgw;  import java.io.ByteArrayInputStream;  import java.io.ByteArrayOutputStream; +import java.io.File;  import javax.net.ssl.SSLSocketFactory;  import javax.xml.parsers.DocumentBuilder; @@ -27,6 +28,7 @@ import javax.xml.parsers.ParserConfigurationException;  import org.apache.commons.httpclient.HttpClient;  import org.apache.commons.httpclient.methods.PostMethod;  import org.apache.commons.httpclient.protocol.Protocol; +import org.apache.xpath.XPathAPI;  import org.w3c.dom.Document;  import org.w3c.dom.Element;  import org.w3c.dom.Node; @@ -34,6 +36,7 @@ import org.w3c.dom.NodeList;  import org.w3c.dom.Text;  import at.gv.egovernment.moa.id.auth.validator.parep.ParepUtils; +import at.gv.egovernment.moa.util.Constants;  import at.gv.egovernment.moa.util.DOMUtils; @@ -196,7 +199,19 @@ public class SZRGWClient {        }        else {      	  // set assertion -    	  response.setAssertion(doc.getDocumentElement()); +    	  DocumentBuilder builder = DocumentBuilderFactory.newInstance().newDocumentBuilder(); +          Document newdoc = builder.newDocument(); +           +          Element nameSpaceNode = newdoc.createElement("NameSpaceNode"); +          nameSpaceNode.setAttribute("xmlns:" + Constants.DSIG_PREFIX, Constants.DSIG_NS_URI); +          nameSpaceNode.setAttribute("xmlns:" + Constants.SAML_PREFIX, Constants.SAML_NS_URI); +           +          Element samlAssertion = (Element)XPathAPI.selectSingleNode(doc, "//saml:Assertion[1]", nameSpaceNode); +           +          if (samlAssertion == null) +        	  throw new SZRGWClientException("Could not found a saml:Assertion element in response."); +          else +        	  response.setAssertion(samlAssertion);        }        return response; | 
