You are viewing a plain text version of this content. The canonical link for it is here.
Posted to rampart-dev@ws.apache.org by mu...@apache.org on 2007/08/01 06:24:41 UTC

svn commit: r561641 - in /webservices/rampart/trunk/java/modules/rampart-trust/src/main/java/org/apache/rahas/impl: ./ util/

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;
 	}
 		
 }