diff options
| -rw-r--r-- | id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/builder/assertion/PVP2AssertionBuilder.java | 14 | 
1 files changed, 12 insertions, 2 deletions
| diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/builder/assertion/PVP2AssertionBuilder.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/builder/assertion/PVP2AssertionBuilder.java index 1454ee297..7f5e2420e 100644 --- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/builder/assertion/PVP2AssertionBuilder.java +++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/builder/assertion/PVP2AssertionBuilder.java @@ -53,6 +53,8 @@ import org.opensaml.saml2.metadata.RequestedAttribute;  import org.opensaml.saml2.metadata.SPSSODescriptor;  import org.w3c.dom.Element; +import edu.emory.mathcs.backport.java.util.Arrays; +  import at.gv.e_government.reference.namespace.mandates._20040701_.Mandate;  import at.gv.e_government.reference.namespace.persondata._20020228_.CorporateBodyType;  import at.gv.e_government.reference.namespace.persondata._20020228_.IdentificationType; @@ -313,9 +315,17 @@ public class PVP2AssertionBuilder implements PVPConstants {  			List<NameIDFormat> metadataNameIDFormats = spSSODescriptor.getNameIDFormats();  			if (metadataNameIDFormats != null) { -				if (metadataNameIDFormats.size() == 1) -					nameIDFormat = metadataNameIDFormats.get(0).getFormat(); +				for (NameIDFormat el : metadataNameIDFormats) { +					if (NameID.PERSISTENT.equals(el.getFormat())) { +						nameIDFormat = NameID.PERSISTENT; +						break; +						 +					} else if (NameID.TRANSIENT.equals(el.getFormat()) || +							NameID.UNSPECIFIED.equals(el.getFormat())) +						break; +										 +				}				  			}  		} | 
