Author: ruchith
Date: Sat Feb 23 03:52:07 2008
New Revision: 14078

Log:

Make sure we don't miss the namespaces when we obtain ds:KeyInfo from the 
InfoCard request
Added SAML 2.0 relaying party into javarp
Some minor formatting



Modified:
   
trunk/solutions/identity/modules/identity-provider/src/main/java/org/wso2/solutions/identity/sts/mex/MexGetService.java
   
trunk/solutions/identity/modules/identity-provider/src/main/java/org/wso2/solutions/identity/sts/mex/XferGetServiceAdapter.java
   
trunk/solutions/identity/modules/samples/servlet-filter/src/main/webapp/index.html
   
trunk/solutions/identity/modules/token-verifier-core/src/main/java/org/wso2/solutions/identity/relyingparty/saml/SAMLTokenConsumer.java

Modified: 
trunk/solutions/identity/modules/identity-provider/src/main/java/org/wso2/solutions/identity/sts/mex/MexGetService.java
==============================================================================
--- 
trunk/solutions/identity/modules/identity-provider/src/main/java/org/wso2/solutions/identity/sts/mex/MexGetService.java
     (original)
+++ 
trunk/solutions/identity/modules/identity-provider/src/main/java/org/wso2/solutions/identity/sts/mex/MexGetService.java
     Sat Feb 23 03:52:07 2008
@@ -15,14 +15,6 @@
  */
 package org.wso2.solutions.identity.sts.mex;
 
-import java.security.cert.X509Certificate;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import javax.xml.crypto.dsig.XMLSignature;
-import javax.xml.namespace.QName;
-
 import org.apache.axiom.om.OMElement;
 import org.apache.axiom.om.OMFactory;
 import org.apache.axiom.om.OMNamespace;
@@ -31,7 +23,6 @@
 import org.apache.axis2.addressing.AddressingConstants;
 import org.apache.axis2.addressing.EndpointReference;
 import org.apache.axis2.addressing.EndpointReferenceHelper;
-import org.apache.axis2.context.ConfigurationContext;
 import org.apache.axis2.context.MessageContext;
 import org.apache.axis2.mex.om.Metadata;
 import org.apache.axis2.mex.om.MetadataSection;
@@ -45,6 +36,14 @@
 import org.wso2.solutions.identity.sts.KeyUtil;
 import org.wso2.wsas.admin.service.ServiceAdmin;
 
+import javax.xml.crypto.dsig.XMLSignature;
+import javax.xml.namespace.QName;
+
+import java.security.cert.X509Certificate;
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
 public class MexGetService {
 
     private static Log log = LogFactory.getLog(MexGetService.class);
@@ -104,6 +103,7 @@
         List lst = new ArrayList();
         lst.add(section);
 
+        
         Metadata mdata = new Metadata();
         mdata.setMetadatSections(lst);
 

Modified: 
trunk/solutions/identity/modules/identity-provider/src/main/java/org/wso2/solutions/identity/sts/mex/XferGetServiceAdapter.java
==============================================================================
--- 
trunk/solutions/identity/modules/identity-provider/src/main/java/org/wso2/solutions/identity/sts/mex/XferGetServiceAdapter.java
     (original)
+++ 
trunk/solutions/identity/modules/identity-provider/src/main/java/org/wso2/solutions/identity/sts/mex/XferGetServiceAdapter.java
     Sat Feb 23 03:52:07 2008
@@ -20,11 +20,9 @@
 
 import org.apache.axiom.om.OMElement;
 import org.apache.axis2.AxisFault;
-import org.apache.axis2.addressing.EndpointReference;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.wso2.xfer.WSTransferException;
-import org.wso2.xfer.WSTransferFactory;
 import org.wso2.xfer.WSTransferOperations;
 
 public class XferGetServiceAdapter implements WSTransferOperations {

Modified: 
trunk/solutions/identity/modules/samples/servlet-filter/src/main/webapp/index.html
==============================================================================
--- 
trunk/solutions/identity/modules/samples/servlet-filter/src/main/webapp/index.html
  (original)
+++ 
trunk/solutions/identity/modules/samples/servlet-filter/src/main/webapp/index.html
  Sat Feb 23 03:52:07 2008
@@ -24,6 +24,24 @@
   </form>
 <hr/>
 
+<hr/>
+
+<h2>SAML 2.0 Token with CardSpace</h2>
+<form name="frm" id="frm" method="post" action="login.jsp">  
+                       <input type="hidden" name="InfoCardSignin" value="Log 
in" /><br/>
+            <OBJECT type="application/x-informationCard" name="xmlToken">
+                <PARAM  Name="tokenType"
+                        Value="urn:oasis:names:tc:SAML:2.0:assertion">
+
+                <PARAM  Name="requiredClaims"
+                        
Value="http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname 
http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname 
http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress 
http://schemas.xmlsoap.org/ws/2005/05/identity/claims/privatepersonalidentifier";>
+                <PARAM Name='optionalClaims' 
value='http://schemas.xmlsoap.org/ws/2005/05/identity/claims/webpage'>     
+            </OBJECT>
+          <input type="submit" name="submit" value="Login" />   
+  </form>
+<hr/>
+
+
 <h2>OpenID Simple Registration Demo</h2>
 OpenID Simple Registration is an extension to the OpenID Authentication 
protocol that allows for very light-weight profile exchange. It is designed to 
pass eight commonly requested pieces of information when an End User goes to 
register a new account with a web service.
 

Modified: 
trunk/solutions/identity/modules/token-verifier-core/src/main/java/org/wso2/solutions/identity/relyingparty/saml/SAMLTokenConsumer.java
==============================================================================
--- 
trunk/solutions/identity/modules/token-verifier-core/src/main/java/org/wso2/solutions/identity/relyingparty/saml/SAMLTokenConsumer.java
     (original)
+++ 
trunk/solutions/identity/modules/token-verifier-core/src/main/java/org/wso2/solutions/identity/relyingparty/saml/SAMLTokenConsumer.java
     Sat Feb 23 03:52:07 2008
@@ -12,17 +12,21 @@
 import javax.xml.stream.XMLStreamReader;
 
 import org.apache.axiom.om.OMAbstractFactory;
+import org.apache.axiom.om.OMDocument;
 import org.apache.axiom.om.OMElement;
 import org.apache.axiom.om.OMFactory;
 import org.apache.axiom.om.OMNamespace;
 import org.apache.axiom.om.impl.builder.StAXOMBuilder;
+import org.apache.axiom.om.impl.dom.factory.OMDOMFactory;
 import org.apache.axiom.om.util.Base64;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.apache.ws.security.util.DOM2Writer;
 import org.opensaml.DefaultBootstrap;
 import org.opensaml.xml.ConfigurationException;
+import org.w3c.dom.Document;
 import org.w3c.dom.Element;
+import org.w3c.dom.Node;
 import org.wso2.solutions.identity.IdentityConstants;
 import org.wso2.solutions.identity.i18n.Messages;
 import org.wso2.solutions.identity.relyingparty.RelyingPartyException;
@@ -217,7 +221,13 @@
 
             omKeyInfo = null;
             if (keyInfo != null) {
-                String value = DOM2Writer.nodeToString(keyInfo);
+                
+                //Make sure we don't loose namespaces
+                OMDOMFactory fac = new OMDOMFactory();
+                OMDocument doc = fac.createOMDocument();
+                //Import the node as an AXIOM-DOOM node and use toSting()
+                Node node = ((Document)doc).importNode(keyInfo, true);
+                String value = node.toString();
                 XMLStreamReader parser = XMLInputFactory.newInstance()
                         .createXMLStreamReader(new StringReader(value));
                 StAXOMBuilder builder = new StAXOMBuilder(parser);
@@ -233,7 +243,11 @@
         }
 
         if (omKeyInfo != null) {
-            issuerInfo = issuerInfo + omKeyInfo.toString();
+            if(issuerInfo != null) {
+                issuerInfo = issuerInfo + omKeyInfo.toString();
+            } else {
+                issuerInfo = omKeyInfo.toString();
+            }
         }
 
         return issuerInfo;

_______________________________________________
Identity-dev mailing list
[email protected]
http://wso2.org/cgi-bin/mailman/listinfo/identity-dev

Reply via email to