[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