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