Author: muthulee
Date: Tue Jul 31 21:24:38 2007
New Revision: 561641

URL: http://svn.apache.org/viewvc?view=rev&rev=561641
Log:
Enabling SAML to get different Assertions and NameIdentifiers. 

Modified:
    
webservices/rampart/trunk/java/modules/rampart-trust/src/main/java/org/apache/rahas/impl/SAMLTokenIssuer.java
    
webservices/rampart/trunk/java/modules/rampart-trust/src/main/java/org/apache/rahas/impl/util/SAMLAttributeCallback.java
    
webservices/rampart/trunk/java/modules/rampart-trust/src/main/java/org/apache/rahas/impl/util/SAMLCallback.java
    
webservices/rampart/trunk/java/modules/rampart-trust/src/main/java/org/apache/rahas/impl/util/SAMLCallbackHandler.java
    
webservices/rampart/trunk/java/modules/rampart-trust/src/main/java/org/apache/rahas/impl/util/SAMLNameIdentifierCallback.java

Modified: 
webservices/rampart/trunk/java/modules/rampart-trust/src/main/java/org/apache/rahas/impl/SAMLTokenIssuer.java
URL: 
http://svn.apache.org/viewvc/webservices/rampart/trunk/java/modules/rampart-trust/src/main/java/org/apache/rahas/impl/SAMLTokenIssuer.java?view=diff&rev=561641&r1=561640&r2=561641
==============================================================================
--- 
webservices/rampart/trunk/java/modules/rampart-trust/src/main/java/org/apache/rahas/impl/SAMLTokenIssuer.java
 (original)
+++ 
webservices/rampart/trunk/java/modules/rampart-trust/src/main/java/org/apache/rahas/impl/SAMLTokenIssuer.java
 Tue Jul 31 21:24:38 2007
@@ -262,9 +262,8 @@
                        callbackHandler.handle(cb);
                        nameId = cb.getNameId();
                }else{
-                       //TODO Remove
-                       nameId = new SAMLNameIdentifier(
-                                       principal.getName(), null, 
SAMLNameIdentifier.FORMAT_EMAIL);
+                       nameId = new SAMLNameIdentifier(
+                       principal.getName(), null, 
SAMLNameIdentifier.FORMAT_EMAIL);
                }
                
                 return createAuthAssertion(doc, SAMLSubject.CONF_BEARER,
@@ -440,6 +439,7 @@
             if(config.getCallbackHander() != null){
                SAMLAttributeCallback cb = new SAMLAttributeCallback(data);
                SAMLCallbackHandler handler = config.getCallbackHander();
+               handler.handle(cb);
                attrs = cb.getAttributes();
             }else{
                //TODO Remove this after discussing

Modified: 
webservices/rampart/trunk/java/modules/rampart-trust/src/main/java/org/apache/rahas/impl/util/SAMLAttributeCallback.java
URL: 
http://svn.apache.org/viewvc/webservices/rampart/trunk/java/modules/rampart-trust/src/main/java/org/apache/rahas/impl/util/SAMLAttributeCallback.java?view=diff&rev=561641&r1=561640&r2=561641
==============================================================================
--- 
webservices/rampart/trunk/java/modules/rampart-trust/src/main/java/org/apache/rahas/impl/util/SAMLAttributeCallback.java
 (original)
+++ 
webservices/rampart/trunk/java/modules/rampart-trust/src/main/java/org/apache/rahas/impl/util/SAMLAttributeCallback.java
 Tue Jul 31 21:24:38 2007
@@ -29,5 +29,8 @@
                
        }
 
+       public RahasData getData() {
+               return data;
+       }
 
 }

Modified: 
webservices/rampart/trunk/java/modules/rampart-trust/src/main/java/org/apache/rahas/impl/util/SAMLCallback.java
URL: 
http://svn.apache.org/viewvc/webservices/rampart/trunk/java/modules/rampart-trust/src/main/java/org/apache/rahas/impl/util/SAMLCallback.java?view=diff&rev=561641&r1=561640&r2=561641
==============================================================================
--- 
webservices/rampart/trunk/java/modules/rampart-trust/src/main/java/org/apache/rahas/impl/util/SAMLCallback.java
 (original)
+++ 
webservices/rampart/trunk/java/modules/rampart-trust/src/main/java/org/apache/rahas/impl/util/SAMLCallback.java
 Tue Jul 31 21:24:38 2007
@@ -1,5 +1,9 @@
 package org.apache.rahas.impl.util;
 
+/**
+ * All SAML data retrieving call backs will implement this interface
+ * 
+ */
 public interface SAMLCallback {
        
        /**
@@ -12,6 +16,10 @@
         */
        public static final int NAME_IDENTIFIER_CALLBACK = 2;
        
+       /**
+        * Returns the type of callback
+        * @return
+        */
        int getCallbackType();
 
 }

Modified: 
webservices/rampart/trunk/java/modules/rampart-trust/src/main/java/org/apache/rahas/impl/util/SAMLCallbackHandler.java
URL: 
http://svn.apache.org/viewvc/webservices/rampart/trunk/java/modules/rampart-trust/src/main/java/org/apache/rahas/impl/util/SAMLCallbackHandler.java?view=diff&rev=561641&r1=561640&r2=561641
==============================================================================
--- 
webservices/rampart/trunk/java/modules/rampart-trust/src/main/java/org/apache/rahas/impl/util/SAMLCallbackHandler.java
 (original)
+++ 
webservices/rampart/trunk/java/modules/rampart-trust/src/main/java/org/apache/rahas/impl/util/SAMLCallbackHandler.java
 Tue Jul 31 21:24:38 2007
@@ -2,8 +2,27 @@
 
 import org.opensaml.SAMLException;
 
+/**
+ * SAMLCallback Handler enables you to add data to the
+ * to the SAMLAssertion.
+ * 
+ * For example Assertions, NameIdentifiers.
+ * 
+ */
 public interface SAMLCallbackHandler {
 
+       /**
+        * SAMLCallback object has indicates what kind of data is required.
+        * if(callback.getCallbackType() == SAMLCallback.ATTR_CALLBACK)
+        * {
+        *              SAMLAttributeCallback attrCallback = 
(SAMLAttributeCallback)callback;
+        *              \//Retrieve required data from the RahasData inside 
SAMLAttributeCallback 
+        *              \//Add your SAMLAttributes to the attrCallback here.
+        *              
+        * }
+        * @param callback
+        * @throws SAMLException
+        */
        public void handle(SAMLCallback callback) throws SAMLException;
 
 }

Modified: 
webservices/rampart/trunk/java/modules/rampart-trust/src/main/java/org/apache/rahas/impl/util/SAMLNameIdentifierCallback.java
URL: 
http://svn.apache.org/viewvc/webservices/rampart/trunk/java/modules/rampart-trust/src/main/java/org/apache/rahas/impl/util/SAMLNameIdentifierCallback.java?view=diff&rev=561641&r1=561640&r2=561641
==============================================================================
--- 
webservices/rampart/trunk/java/modules/rampart-trust/src/main/java/org/apache/rahas/impl/util/SAMLNameIdentifierCallback.java
 (original)
+++ 
webservices/rampart/trunk/java/modules/rampart-trust/src/main/java/org/apache/rahas/impl/util/SAMLNameIdentifierCallback.java
 Tue Jul 31 21:24:38 2007
@@ -3,6 +3,13 @@
 import org.apache.rahas.RahasData;
 import org.opensaml.SAMLNameIdentifier;
 
+/**
+ * This is used retrieve data for the SAMLNameIdentifier.
+ * SAMLNameIdentifier can have different formats.
+ * Depending on it, NameIdentifier must have different values.
+ * It should be implementation specific.
+ *
+ */
 public class SAMLNameIdentifierCallback implements SAMLCallback{
        
        private SAMLNameIdentifier nameId = null;
@@ -31,6 +38,10 @@
 
        public String getUserId() {
                return userId;
+       }
+
+       public RahasData getData() {
+               return data;
        }
                
 }


Reply via email to