[java-idp-testbed COMMIT] in /trunk/src/test: java/idp/c14n/actions/SetupForSAML1C14N.java java/idp/c14n/actions/Setu...

noreply at shibboleth.net noreply at shibboleth.net
Tue Feb 25 12:26:05 EST 2014


Author: scantor
Date: Tue Feb 25 12:26:05 2014
New Revision: 160

URL: http://svn.shibboleth.net/view/java-idp-testbed?rev=160&view=rev
Log:
- format cleanup on c14n config
- used resolver encoders to generate NameIDs for test flow consumption

Modified:
    trunk/src/test/java/idp/c14n/actions/SetupForSAML1C14N.java
    trunk/src/test/java/idp/c14n/actions/SetupForSAML2C14N.java
    trunk/src/test/resources/c14n/attribute-resolver-legacy.xml
    trunk/src/test/resources/c14n/attribute-resolver.xml

Modified: trunk/src/test/java/idp/c14n/actions/SetupForSAML1C14N.java
URL: http://svn.shibboleth.net/view/java-idp-testbed/trunk/src/test/java/idp/c14n/actions/SetupForSAML1C14N.java?rev=160&r1=159&r2=160&view=diff
==============================================================================
--- trunk/src/test/java/idp/c14n/actions/SetupForSAML1C14N.java (original)
+++ trunk/src/test/java/idp/c14n/actions/SetupForSAML1C14N.java Tue Feb 25 12:26:05 2014
@@ -20,19 +20,21 @@
 import javax.annotation.Nonnull;
 import javax.security.auth.Subject;
 
+import net.shibboleth.idp.attribute.AttributeEncoder;
+import net.shibboleth.idp.attribute.AttributeEncodingException;
 import net.shibboleth.idp.attribute.context.AttributeContext;
 import net.shibboleth.idp.authn.context.SubjectCanonicalizationContext;
 import net.shibboleth.idp.profile.AbstractProfileAction;
 import net.shibboleth.idp.profile.context.RelyingPartyContext;
 import net.shibboleth.idp.saml.authn.principal.NameIdentifierPrincipal;
+import net.shibboleth.idp.saml.nameid.SAML1NameIdentifierAttributeEncoder;
 
 import org.opensaml.profile.ProfileException;
 import org.opensaml.profile.context.ProfileRequestContext;
 import org.opensaml.saml.saml1.core.NameIdentifier;
-import org.opensaml.saml.saml1.core.impl.NameIdentifierBuilder;
 
 /**
- *
+ * Action to mock up a Subject for C14N.
  */
 public class SetupForSAML1C14N extends AbstractProfileAction {
     
@@ -57,11 +59,21 @@
 
         RelyingPartyContext rpc = profileRequestContext.getSubcontext(RelyingPartyContext.class, false);
 
+        NameIdentifier nid = null;
         AttributeContext ac = rpc.getSubcontext(AttributeContext.class, false);
-
-        NameIdentifier nid = (new NameIdentifierBuilder().buildObject());
-        nid.setNameIdentifier((String) ac.getIdPAttributes().get(getAttributeName()).getValues().iterator().next().getValue());
-        nid.setFormat("urn:oasis:names:tc:SAML:2.0:nameid-format:transient");
+        for (final AttributeEncoder enc : ac.getIdPAttributes().get(getAttributeName()).getEncoders()) {
+            if (enc instanceof SAML1NameIdentifierAttributeEncoder) {
+                try {
+                    nid = ((SAML1NameIdentifierAttributeEncoder) enc).encode(ac.getIdPAttributes().get(getAttributeName()));
+                } catch (AttributeEncodingException e) {
+                    throw new ProfileException(e);
+                }
+            }
+        }
+        
+        if (nid == null) {
+            throw new ProfileException("Unable to encoder source attribute into NameIdentifier");
+        }
 
         NameIdentifierPrincipal nidp = new NameIdentifierPrincipal(nid);
         Subject sub = new Subject();

Modified: trunk/src/test/java/idp/c14n/actions/SetupForSAML2C14N.java
URL: http://svn.shibboleth.net/view/java-idp-testbed/trunk/src/test/java/idp/c14n/actions/SetupForSAML2C14N.java?rev=160&r1=159&r2=160&view=diff
==============================================================================
--- trunk/src/test/java/idp/c14n/actions/SetupForSAML2C14N.java (original)
+++ trunk/src/test/java/idp/c14n/actions/SetupForSAML2C14N.java Tue Feb 25 12:26:05 2014
@@ -20,16 +20,18 @@
 import javax.annotation.Nonnull;
 import javax.security.auth.Subject;
 
+import net.shibboleth.idp.attribute.AttributeEncoder;
+import net.shibboleth.idp.attribute.AttributeEncodingException;
 import net.shibboleth.idp.attribute.context.AttributeContext;
 import net.shibboleth.idp.authn.context.SubjectCanonicalizationContext;
 import net.shibboleth.idp.profile.AbstractProfileAction;
 import net.shibboleth.idp.profile.context.RelyingPartyContext;
 import net.shibboleth.idp.saml.authn.principal.NameIDPrincipal;
+import net.shibboleth.idp.saml.nameid.SAML2NameIDAttributeEncoder;
 
 import org.opensaml.profile.ProfileException;
 import org.opensaml.profile.context.ProfileRequestContext;
 import org.opensaml.saml.saml2.core.NameID;
-import org.opensaml.saml.saml2.core.impl.NameIDBuilder;
 
 /**
  *
@@ -57,11 +59,21 @@
 
         RelyingPartyContext rpc = profileRequestContext.getSubcontext(RelyingPartyContext.class, false);
 
+        NameID nid = null;
         AttributeContext ac = rpc.getSubcontext(AttributeContext.class, false);
-
-        NameID nid = (new NameIDBuilder().buildObject());
-        nid.setValue((String) ac.getIdPAttributes().get(getAttributeName()).getValues().iterator().next().getValue());
-        nid.setFormat("urn:oasis:names:tc:SAML:2.0:nameid-format:transient");

[... 56 lines stripped ...]


More information about the commits mailing list