Author: anil.saldhana(a)jboss.com
Date: 2009-09-14 18:48:59 -0400 (Mon, 14 Sep 2009)
New Revision: 790
Modified:
identity-federation/trunk/jboss-identity-bindings/src/main/java/org/jboss/identity/federation/bindings/tomcat/sp/SPUtil.java
identity-federation/trunk/jboss-identity-fed-core/src/main/java/org/jboss/identity/federation/core/saml/v2/util/StatementUtil.java
identity-federation/trunk/jboss-identity-fed-core/src/test/java/org/jboss/test/identity/federation/core/saml/v2/X500AttributeUnitTestCase.java
identity-federation/trunk/jboss-identity-web/src/main/java/org/jboss/identity/federation/web/util/IDPWebRequestUtil.java
Log:
JBID-152: x500 attrib support
Modified:
identity-federation/trunk/jboss-identity-bindings/src/main/java/org/jboss/identity/federation/bindings/tomcat/sp/SPUtil.java
===================================================================
---
identity-federation/trunk/jboss-identity-bindings/src/main/java/org/jboss/identity/federation/bindings/tomcat/sp/SPUtil.java 2009-09-14
20:32:37 UTC (rev 789)
+++
identity-federation/trunk/jboss-identity-bindings/src/main/java/org/jboss/identity/federation/bindings/tomcat/sp/SPUtil.java 2009-09-14
22:48:59 UTC (rev 790)
@@ -33,6 +33,7 @@
import org.jboss.identity.federation.api.saml.v2.request.SAML2Request;
import org.jboss.identity.federation.core.exceptions.ConfigurationException;
import org.jboss.identity.federation.core.saml.v2.common.IDGenerator;
+import org.jboss.identity.federation.core.saml.v2.common.StatementLocal;
import org.jboss.identity.federation.core.saml.v2.constants.JBossSAMLURIConstants;
import org.jboss.identity.federation.core.saml.v2.exceptions.AssertionExpiredException;
import org.jboss.identity.federation.core.saml.v2.util.AssertionUtil;
@@ -112,6 +113,9 @@
String userName = nameID.getValue();
List<String> roles = new ArrayList<String>();
+ //Set it on a thread local for JBID integrators
+
StatementLocal.statements.set(assertion.getStatementOrAuthnStatementOrAuthzDecisionStatement());
+
//Let us get the roles
AttributeStatementType attributeStatement = (AttributeStatementType)
assertion.getStatementOrAuthnStatementOrAuthzDecisionStatement().get(0);
List<Object> attList =
attributeStatement.getAttributeOrEncryptedAttribute();
Modified:
identity-federation/trunk/jboss-identity-fed-core/src/main/java/org/jboss/identity/federation/core/saml/v2/util/StatementUtil.java
===================================================================
---
identity-federation/trunk/jboss-identity-fed-core/src/main/java/org/jboss/identity/federation/core/saml/v2/util/StatementUtil.java 2009-09-14
20:32:37 UTC (rev 789)
+++
identity-federation/trunk/jboss-identity-fed-core/src/main/java/org/jboss/identity/federation/core/saml/v2/util/StatementUtil.java 2009-09-14
22:48:59 UTC (rev 790)
@@ -21,8 +21,6 @@
*/
package org.jboss.identity.federation.core.saml.v2.util;
-import java.util.ArrayList;
-import java.util.List;
import java.util.Map;
import java.util.Set;
@@ -35,7 +33,6 @@
import org.jboss.identity.federation.saml.v2.assertion.AttributeStatementType;
import org.jboss.identity.federation.saml.v2.assertion.AttributeType;
import org.jboss.identity.federation.saml.v2.assertion.ObjectFactory;
-import org.jboss.identity.federation.saml.v2.assertion.StatementAbstractType;
/**
* Deals with SAML2 Statements
@@ -49,10 +46,14 @@
private static ObjectFactory factory = new ObjectFactory();
- public static List<StatementAbstractType>
createStatements(Map<String,Object> attributes)
+ /**
+ * Create an attribute statement with all the attributes
+ * @param attributes a map with keys from {@link AttributeConstants}
+ * @return
+ */
+ public static AttributeStatementType createAttributeStatement(Map<String,Object>
attributes)
{
- AttributeStatementType attrStatement = null;
- List<StatementAbstractType> statements = new
ArrayList<StatementAbstractType>();
+ AttributeStatementType attrStatement = null;
int i = 0;
@@ -92,8 +93,7 @@
att.getAttributeValue().add(value);
attrStatement.getAttributeOrEncryptedAttribute().add(att);
}
- statements.add(attrStatement);
- return statements;
+ return attrStatement;
}
private static AttributeType getX500Attribute()
Modified:
identity-federation/trunk/jboss-identity-fed-core/src/test/java/org/jboss/test/identity/federation/core/saml/v2/X500AttributeUnitTestCase.java
===================================================================
---
identity-federation/trunk/jboss-identity-fed-core/src/test/java/org/jboss/test/identity/federation/core/saml/v2/X500AttributeUnitTestCase.java 2009-09-14
20:32:37 UTC (rev 789)
+++
identity-federation/trunk/jboss-identity-fed-core/src/test/java/org/jboss/test/identity/federation/core/saml/v2/X500AttributeUnitTestCase.java 2009-09-14
22:48:59 UTC (rev 790)
@@ -23,12 +23,13 @@
import java.io.ByteArrayOutputStream;
import java.util.HashMap;
-import java.util.List;
import java.util.Map;
import javax.xml.bind.JAXBElement;
import javax.xml.bind.Marshaller;
+import junit.framework.TestCase;
+
import org.jboss.identity.federation.core.constants.AttributeConstants;
import org.jboss.identity.federation.core.saml.v2.common.IDGenerator;
import org.jboss.identity.federation.core.saml.v2.constants.JBossSAMLURIConstants;
@@ -40,15 +41,13 @@
import org.jboss.identity.federation.core.saml.v2.util.DocumentUtil;
import org.jboss.identity.federation.core.saml.v2.util.StatementUtil;
import org.jboss.identity.federation.saml.v2.assertion.AssertionType;
-import org.jboss.identity.federation.saml.v2.assertion.StatementAbstractType;
+import org.jboss.identity.federation.saml.v2.assertion.AttributeStatementType;
import org.jboss.identity.federation.saml.v2.protocol.ResponseType;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
-import junit.framework.TestCase;
-
/**
* Unit test the X500 Profile of SAML2
* @author Anil.Saldhana(a)redhat.com
@@ -62,8 +61,7 @@
attributes.put(AttributeConstants.EMAIL_ADDRESS, "test@a");
attributes.put(AttributeConstants.GIVEN_NAME, "anil");
- List<StatementAbstractType>
- statementList = StatementUtil.createStatements(attributes);
+ AttributeStatementType attrStat =
StatementUtil.createAttributeStatement(attributes);
IssuerInfoHolder issuerHolder = new IssuerInfoHolder("http://idp");
issuerHolder.setStatusCode(JBossSAMLURIConstants.STATUS_SUCCESS.get());
@@ -76,7 +74,7 @@
assertNotNull(rt);
AssertionType assertion = (AssertionType)
rt.getAssertionOrEncryptedAssertion().get(0);
-
assertion.getStatementOrAuthnStatementOrAuthzDecisionStatement().addAll(statementList);
+ assertion.getStatementOrAuthnStatementOrAuthzDecisionStatement().add(attrStat);
ByteArrayOutputStream baos = new ByteArrayOutputStream();
Modified:
identity-federation/trunk/jboss-identity-web/src/main/java/org/jboss/identity/federation/web/util/IDPWebRequestUtil.java
===================================================================
---
identity-federation/trunk/jboss-identity-web/src/main/java/org/jboss/identity/federation/web/util/IDPWebRequestUtil.java 2009-09-14
20:32:37 UTC (rev 789)
+++
identity-federation/trunk/jboss-identity-web/src/main/java/org/jboss/identity/federation/web/util/IDPWebRequestUtil.java 2009-09-14
22:48:59 UTC (rev 790)
@@ -46,10 +46,9 @@
import org.jboss.identity.federation.core.config.IDPType;
import org.jboss.identity.federation.core.config.TrustType;
import org.jboss.identity.federation.core.exceptions.ConfigurationException;
-import org.jboss.identity.federation.core.exceptions.ParsingException;
-import org.jboss.identity.federation.core.interfaces.AttributeManager;
-import org.jboss.identity.federation.core.saml.v2.common.IDGenerator;
-import org.jboss.identity.federation.core.saml.v2.common.StatementLocal;
+import org.jboss.identity.federation.core.exceptions.ParsingException;
+import org.jboss.identity.federation.core.interfaces.AttributeManager;
+import org.jboss.identity.federation.core.saml.v2.common.IDGenerator;
import org.jboss.identity.federation.core.saml.v2.constants.JBossSAMLURIConstants;
import
org.jboss.identity.federation.core.saml.v2.exceptions.IssueInstantMissingException;
import org.jboss.identity.federation.core.saml.v2.exceptions.IssuerNotTrustedException;
@@ -57,13 +56,12 @@
import org.jboss.identity.federation.core.saml.v2.holders.IDPInfoHolder;
import org.jboss.identity.federation.core.saml.v2.holders.IssuerInfoHolder;
import org.jboss.identity.federation.core.saml.v2.holders.SPInfoHolder;
-import org.jboss.identity.federation.core.saml.v2.util.DocumentUtil;
-import org.jboss.identity.federation.core.saml.v2.util.StatementUtil;
+import org.jboss.identity.federation.core.saml.v2.util.DocumentUtil;
+import org.jboss.identity.federation.core.saml.v2.util.StatementUtil;
import org.jboss.identity.federation.saml.v2.assertion.AssertionType;
import org.jboss.identity.federation.saml.v2.assertion.AttributeStatementType;
-import org.jboss.identity.federation.saml.v2.assertion.StatementAbstractType;
import org.jboss.identity.federation.saml.v2.protocol.RequestAbstractType;
-import org.jboss.identity.federation.saml.v2.protocol.ResponseType;
+import org.jboss.identity.federation.saml.v2.protocol.ResponseType;
import org.jboss.identity.federation.web.interfaces.TrustKeyManager;
import org.w3c.dom.Document;
import org.xml.sax.SAXException;
@@ -181,11 +179,8 @@
{
Map<String, Object> attribs =
attributeManager.getAttributes(userPrincipal, this.attribKeys);
- List<StatementAbstractType> stats =
StatementUtil.createStatements(attribs);
-
assertion.getStatementOrAuthnStatementOrAuthzDecisionStatement().addAll(stats);
-
- //Set it on a thread local for JBID integrators
- StatementLocal.statements.set(stats);
+ AttributeStatementType attStatement =
StatementUtil.createAttributeStatement(attribs);
+
assertion.getStatementOrAuthnStatementOrAuthzDecisionStatement().add(attStatement);
}
catch(Exception e)
{
Show replies by date