[java-identity-provider COMMIT] in /trunk: idp-profile-api/src/main/java/net/shibboleth/idp/profile/config/Authentica...

noreply at shibboleth.net noreply at shibboleth.net
Thu Jan 23 22:46:54 EST 2014


Author: scantor
Date: Thu Jan 23 22:46:53 2014
New Revision: 5237

URL: http://svn.shibboleth.net/view/java-identity-provider?rev=5237&view=rev
Log:
Add name identifier format precedence to authn profile configs.

Modified:
    trunk/idp-profile-api/src/main/java/net/shibboleth/idp/profile/config/AuthenticationProfileConfiguration.java
    trunk/idp-profile-api/src/test/java/net/shibboleth/idp/relyingparty/MockAuthenticationProfileConfiguration.java
    trunk/idp-saml-api/src/main/java/net/shibboleth/idp/saml/profile/config/saml1/BrowserSSOProfileConfiguration.java
    trunk/idp-saml-api/src/main/java/net/shibboleth/idp/saml/profile/config/saml2/BrowserSSOProfileConfiguration.java

Modified: trunk/idp-profile-api/src/main/java/net/shibboleth/idp/profile/config/AuthenticationProfileConfiguration.java
URL: http://svn.shibboleth.net/view/java-identity-provider/trunk/idp-profile-api/src/main/java/net/shibboleth/idp/profile/config/AuthenticationProfileConfiguration.java?rev=5237&r1=5236&r2=5237&view=diff
==============================================================================
--- trunk/idp-profile-api/src/main/java/net/shibboleth/idp/profile/config/AuthenticationProfileConfiguration.java (original)
+++ trunk/idp-profile-api/src/main/java/net/shibboleth/idp/profile/config/AuthenticationProfileConfiguration.java Thu Jan 23 22:46:53 2014
@@ -36,4 +36,11 @@
      */
     @Nonnull @NonnullElements @NotLive @Unmodifiable public List<Principal> getDefaultAuthenticationMethods();
 
+    /**
+     * Get the name identifier formats to use with this relying party, in order of preference.
+     * 
+     * @return  name identifier formats to use
+     */
+    @Nonnull @NonnullElements @NotLive @Unmodifiable public List<String> getNameIDFormatPrecedence();
+
 }

Modified: trunk/idp-profile-api/src/test/java/net/shibboleth/idp/relyingparty/MockAuthenticationProfileConfiguration.java
URL: http://svn.shibboleth.net/view/java-identity-provider/trunk/idp-profile-api/src/test/java/net/shibboleth/idp/relyingparty/MockAuthenticationProfileConfiguration.java?rev=5237&r1=5236&r2=5237&view=diff
==============================================================================
--- trunk/idp-profile-api/src/test/java/net/shibboleth/idp/relyingparty/MockAuthenticationProfileConfiguration.java (original)
+++ trunk/idp-profile-api/src/test/java/net/shibboleth/idp/relyingparty/MockAuthenticationProfileConfiguration.java Thu Jan 23 22:46:53 2014
@@ -18,6 +18,7 @@
 package net.shibboleth.idp.relyingparty;
 
 import java.security.Principal;
+import java.util.Collections;
 import java.util.List;
 
 import javax.annotation.Nonnull;
@@ -42,6 +43,9 @@
 
     /** Selects, and limits, the authentication methods to use for requests. */
     @Nonnull @NonnullElements private List<Principal> defaultAuthenticationMethods;
+
+    /** Precedence of name identifier formats to use for requests. */
+    @Nonnull @NonnullElements private List<String> nameIDFormatPrecedence;
     
     /**
      * Constructor.
@@ -51,11 +55,25 @@
      */
     public MockAuthenticationProfileConfiguration(@Nonnull @NotEmpty final String id,
             @Nonnull @NonnullElements final List<Principal> methods) {
+        this(id, methods, Collections.<String>emptyList());
+    }
+
+    /**
+     * Constructor.
+     * 
+     * @param id ID of this profile
+     * @param methods default authentication methods to use
+     * @param formats name identifier formats to use
+     */
+    public MockAuthenticationProfileConfiguration(@Nonnull @NotEmpty final String id,
+            @Nonnull @NonnullElements final List<Principal> methods,
+            @Nonnull @NonnullElements final List<String> formats) {
         super(id);
         setSecurityConfiguration(new SecurityConfiguration());
         setDefaultAuthenticationMethods(methods);
+        setNameIDFormatPrecedence(formats);
     }
-
+    
     /** {@inheritDoc} */
     @Override
     @Nonnull @NonnullElements @NotLive @Unmodifiable public List<Principal> getDefaultAuthenticationMethods() {
@@ -73,4 +91,21 @@
         defaultAuthenticationMethods = Lists.newArrayList(Collections2.filter(methods, Predicates.notNull()));
     }
     
+    /** {@inheritDoc} */
+    @Override
+    @Nonnull @NonnullElements @NotLive @Unmodifiable public List<String> getNameIDFormatPrecedence() {
+        return ImmutableList.copyOf(nameIDFormatPrecedence);
+    }
+
+    /**
+     * Set the name identifier formats to use.
+     * 
+     * @param formats   name identifier formats to use
+     */
+    public void setNameIDFormatPrecedence(@Nonnull @NonnullElements final List<String> formats) {
+        Constraint.isNotNull(formats, "List of formats cannot be null");
+        
+        nameIDFormatPrecedence = Lists.newArrayList(Collections2.filter(formats, Predicates.notNull()));
+    }
+
 }

Modified: trunk/idp-saml-api/src/main/java/net/shibboleth/idp/saml/profile/config/saml1/BrowserSSOProfileConfiguration.java

[... 98 lines stripped ...]


More information about the commits mailing list