[java-identity-provider] branch main updated: More login modules, convert subset of SPNEGO config into properties.

Scott Cantor cantor.2 at osu.edu
Fri Sep 11 18:45:21 UTC 2020


This is an automated email from the git hooks/post-receive script.

scantor pushed a commit to branch main
in repository java-identity-provider.

View the commit online:
http://git.shibboleth.net/view/?p=java-identity-provider.git;a=commit;h=e51259bcd8a10af564226feb55cc6346b89cc935

The following commit(s) were added to refs/heads/main by this push:
       new  e51259bcd More login modules, convert subset of SPNEGO config into properties.
e51259bcd is described below

commit e51259bcd8a10af564226feb55cc6346b89cc935
Author: Scott Cantor <cantor.2 at osu.edu>
AuthorDate: Fri Sep 11 14:45:11 2020 -0400

    More login modules, convert subset of SPNEGO config into properties.
---
 .../idp/authn/spnego/impl/KerberosSettings.java    | 31 +++++-----------
 .../shibboleth/idp/module/authn/impl/External.java | 41 ++++++++++++++++++++++
 .../idp/module/authn/impl/RemoteUser.java          | 41 ++++++++++++++++++++++
 .../shibboleth/idp/module/authn/impl/SPNEGO.java   | 41 ++++++++++++++++++++++
 .../idp/flows/authn/external-authn-beans.xml       |  6 ++--
 .../idp/flows/authn/remoteuser-authn-beans.xml     |  6 ++--
 .../idp/flows/authn/spnego-authn-beans.xml         | 14 +++++---
 .../idp/module/authn/impl/module.properties        | 21 +++++++++++
 .../module}/conf/authn/external-authn-config.xml   |  0
 .../module}/conf/authn/remoteuser-authn-config.xml |  0
 .../idp/module}/conf/authn/spnego-authn-config.xml | 17 +--------
 .../src/main/resources/conf/authn/authn.properties |  3 ++
 12 files changed, 171 insertions(+), 50 deletions(-)

diff --git a/idp-authn-impl/src/main/java/net/shibboleth/idp/authn/spnego/impl/KerberosSettings.java b/idp-authn-impl/src/main/java/net/shibboleth/idp/authn/spnego/impl/KerberosSettings.java
index b2d1dbb6f..a995c94df 100644
--- a/idp-authn-impl/src/main/java/net/shibboleth/idp/authn/spnego/impl/KerberosSettings.java
+++ b/idp-authn-impl/src/main/java/net/shibboleth/idp/authn/spnego/impl/KerberosSettings.java
@@ -22,22 +22,20 @@ import java.util.Collections;
 import java.util.List;
 
 import javax.annotation.Nonnull;
+import javax.annotation.Nullable;
 
 import net.shibboleth.utilities.java.support.annotation.constraint.NonnullAfterInit;
 import net.shibboleth.utilities.java.support.annotation.constraint.NonnullElements;
 import net.shibboleth.utilities.java.support.annotation.constraint.NotEmpty;
 import net.shibboleth.utilities.java.support.annotation.constraint.NotLive;
 import net.shibboleth.utilities.java.support.annotation.constraint.Unmodifiable;
-import net.shibboleth.utilities.java.support.component.AbstractInitializableComponent;
-import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
-import net.shibboleth.utilities.java.support.component.ComponentSupport;
 import net.shibboleth.utilities.java.support.logic.Constraint;
 import net.shibboleth.utilities.java.support.primitive.StringSupport;
 
 /**
  * Kerberos settings for the SPNEGO authentication flow.
  */
-public class KerberosSettings extends AbstractInitializableComponent {
+public class KerberosSettings {
 
     /** Class name of JAAS LoginModule to acquire Kerberos credentials. */
     @Nonnull @NotEmpty private String loginModuleClassName;
@@ -60,8 +58,6 @@ public class KerberosSettings extends AbstractInitializableComponent {
      * @param name name of login module class
      */
     public void setLoginModuleClassName(@Nonnull @NotEmpty final String name) {
-        ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
         loginModuleClassName =
                 Constraint.isNotNull(StringSupport.trimOrNull(name), "Class name cannot be null or empty");
     }
@@ -81,8 +77,6 @@ public class KerberosSettings extends AbstractInitializableComponent {
      * @param flag flag to set
      */
     public void setRefreshKrb5Config(final boolean flag) {
-        ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
         refreshKrb5Config = flag;
     }
 
@@ -100,10 +94,12 @@ public class KerberosSettings extends AbstractInitializableComponent {
      * 
      * @param realms realms to set.
      */
-    public void setRealms(@Nonnull @NonnullElements final Collection<KerberosRealmSettings> realms) {
-        ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-        
-        realmSettings = List.copyOf(Constraint.isNotNull(realms, "The realms collection cannot be null"));
+    public void setRealms(@Nullable @NonnullElements final Collection<KerberosRealmSettings> realms) {
+        if (realms != null) {
+            realmSettings = List.copyOf(realms);
+        } else {
+            realmSettings = Collections.emptyList();
+        }
     }
 
     /**
@@ -114,16 +110,5 @@ public class KerberosSettings extends AbstractInitializableComponent {
     @Nonnull @NonnullElements @NotLive @Unmodifiable public Collection<KerberosRealmSettings> getRealms() {
         return realmSettings;
     }
-
-    /** {@inheritDoc} */
-    @Override
-    protected void doInitialize() throws ComponentInitializationException {
-        super.doInitialize();
-
-        if (realmSettings.isEmpty()) {
-            throw new ComponentInitializationException("Realm collection cannot be empty");
-        }
-        
-    }
     
 }
\ No newline at end of file
diff --git a/idp-conf-impl/src/main/java/net/shibboleth/idp/module/authn/impl/External.java b/idp-conf-impl/src/main/java/net/shibboleth/idp/module/authn/impl/External.java
new file mode 100644
index 000000000..9856dca64
--- /dev/null
+++ b/idp-conf-impl/src/main/java/net/shibboleth/idp/module/authn/impl/External.java
@@ -0,0 +1,41 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements.  See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License.  You may obtain a copy of the License at
+ *
+ *    http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package net.shibboleth.idp.module.authn.impl;
+
+import java.io.IOException;
+
+import net.shibboleth.idp.module.IdPModule;
+import net.shibboleth.idp.module.ModuleException;
+import net.shibboleth.idp.module.PropertyDrivenIdPModule;
+
+/**
+ * {@link IdPModule} implementation.
+ */
+public final class External extends PropertyDrivenIdPModule {
+
+    /**
+     * Constructor.
+     *  
+     * @throws ModuleException on error
+     * @throws IOException on error
+     */
+    public External() throws IOException, ModuleException {
+        super(External.class);
+    }
+
+}
\ No newline at end of file
diff --git a/idp-conf-impl/src/main/java/net/shibboleth/idp/module/authn/impl/RemoteUser.java b/idp-conf-impl/src/main/java/net/shibboleth/idp/module/authn/impl/RemoteUser.java
new file mode 100644
index 000000000..c02be366b
--- /dev/null
+++ b/idp-conf-impl/src/main/java/net/shibboleth/idp/module/authn/impl/RemoteUser.java
@@ -0,0 +1,41 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements.  See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License.  You may obtain a copy of the License at
+ *
+ *    http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package net.shibboleth.idp.module.authn.impl;
+
+import java.io.IOException;
+
+import net.shibboleth.idp.module.IdPModule;
+import net.shibboleth.idp.module.ModuleException;
+import net.shibboleth.idp.module.PropertyDrivenIdPModule;
+
+/**
+ * {@link IdPModule} implementation.
+ */
+public final class RemoteUser extends PropertyDrivenIdPModule {
+
+    /**
+     * Constructor.
+     *  
+     * @throws ModuleException on error
+     * @throws IOException on error
+     */
+    public RemoteUser() throws IOException, ModuleException {
+        super(RemoteUser.class);
+    }
+
+}
\ No newline at end of file
diff --git a/idp-conf-impl/src/main/java/net/shibboleth/idp/module/authn/impl/SPNEGO.java b/idp-conf-impl/src/main/java/net/shibboleth/idp/module/authn/impl/SPNEGO.java
new file mode 100644
index 000000000..dfdc30425
--- /dev/null
+++ b/idp-conf-impl/src/main/java/net/shibboleth/idp/module/authn/impl/SPNEGO.java
@@ -0,0 +1,41 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements.  See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License.  You may obtain a copy of the License at
+ *
+ *    http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package net.shibboleth.idp.module.authn.impl;
+
+import java.io.IOException;
+
+import net.shibboleth.idp.module.IdPModule;
+import net.shibboleth.idp.module.ModuleException;
+import net.shibboleth.idp.module.PropertyDrivenIdPModule;
+
+/**
+ * {@link IdPModule} implementation.
+ */
+public final class SPNEGO extends PropertyDrivenIdPModule {
+
+    /**
+     * Constructor.
+     *  
+     * @throws ModuleException on error
+     * @throws IOException on error
+     */
+    public SPNEGO() throws IOException, ModuleException {
+        super(SPNEGO.class);
+    }
+
+}
\ No newline at end of file
diff --git a/idp-conf-impl/src/main/resources/net/shibboleth/idp/flows/authn/external-authn-beans.xml b/idp-conf-impl/src/main/resources/net/shibboleth/idp/flows/authn/external-authn-beans.xml
index ca3ae91cc..457c04dab 100644
--- a/idp-conf-impl/src/main/resources/net/shibboleth/idp/flows/authn/external-authn-beans.xml
+++ b/idp-conf-impl/src/main/resources/net/shibboleth/idp/flows/authn/external-authn-beans.xml
@@ -20,15 +20,15 @@
 
     <!-- Default strategy function to obtain the external path. -->
     <bean id="shibboleth.authn.External.externalAuthnPathStrategy" parent="shibboleth.Functions.Constant"
-        c:target-ref="shibboleth.authn.External.externalAuthnPath" />
+        c:target="#{getObject('shibboleth.authn.External.externalAuthnPath') ?: 'contextRelative:external.jsp'}" />
 
-    <import resource="%{idp.home}/conf/authn/external-authn-config.xml" />
+    <import resource="conditional:%{idp.home}/conf/authn/external-authn-config.xml" />
 
     <bean id="ValidateExternalAuthentication"
         class="net.shibboleth.idp.authn.impl.ValidateExternalAuthentication" scope="prototype"
         p:matchExpression="#{getObject('shibboleth.authn.External.matchExpression')}"
         p:addDefaultPrincipals="#{getObject('shibboleth.authn.External.addDefaultPrincipals') ?: true}"
-        p:classifiedMessages-ref="shibboleth.authn.External.ClassifiedMessageMap"
+        p:classifiedMessages="#{getObject('shibboleth.authn.External.ClassifiedMessageMap')}"
         p:resultCachingPredicate="#{getObject('shibboleth.authn.External.resultCachingPredicate')}"
         c:filterService-ref="shibboleth.AttributeFilterService"
         p:metadataResolver-ref="shibboleth.MetadataResolver" />
diff --git a/idp-conf-impl/src/main/resources/net/shibboleth/idp/flows/authn/remoteuser-authn-beans.xml b/idp-conf-impl/src/main/resources/net/shibboleth/idp/flows/authn/remoteuser-authn-beans.xml
index 259bd71d1..69f3e96b8 100644
--- a/idp-conf-impl/src/main/resources/net/shibboleth/idp/flows/authn/remoteuser-authn-beans.xml
+++ b/idp-conf-impl/src/main/resources/net/shibboleth/idp/flows/authn/remoteuser-authn-beans.xml
@@ -20,16 +20,16 @@
 
     <!-- Default strategy function to obtain the external path. -->
     <bean id="shibboleth.authn.RemoteUser.externalAuthnPathStrategy" parent="shibboleth.Functions.Constant"
-        c:target-ref="shibboleth.authn.RemoteUser.externalAuthnPath" />
+        c:target="#{getObject('shibboleth.authn.RemoteUser.externalAuthnPath') ?: 'contextRelative:Authn/RemoteUser'}" />
     
-    <import resource="%{idp.home}/conf/authn/remoteuser-authn-config.xml" />
+    <import resource="conditional:%{idp.home}/conf/authn/remoteuser-authn-config.xml" />
 
     <bean id="ValidateExternalAuthentication"
         class="net.shibboleth.idp.authn.impl.ValidateExternalAuthentication" scope="prototype"
         p:metricName="net.shibboleth.idp.authn.remoteuser"
         p:matchExpression="#{getObject('shibboleth.authn.RemoteUser.matchExpression')}"
         p:addDefaultPrincipals="#{getObject('shibboleth.authn.RemoteUser.addDefaultPrincipals') ?: true}"
-        p:classifiedMessages-ref="shibboleth.authn.RemoteUser.ClassifiedMessageMap"
+        p:classifiedMessages="#{getObject('shibboleth.authn.RemoteUser.ClassifiedMessageMap')}"
         p:resultCachingPredicate="#{getObject('shibboleth.authn.RemoteUser.resultCachingPredicate')}" />
 
     <bean id="PopulateSubjectCanonicalizationContext"
diff --git a/idp-conf-impl/src/main/resources/net/shibboleth/idp/flows/authn/spnego-authn-beans.xml b/idp-conf-impl/src/main/resources/net/shibboleth/idp/flows/authn/spnego-authn-beans.xml
index 80e3b3a39..63558efdd 100644
--- a/idp-conf-impl/src/main/resources/net/shibboleth/idp/flows/authn/spnego-authn-beans.xml
+++ b/idp-conf-impl/src/main/resources/net/shibboleth/idp/flows/authn/spnego-authn-beans.xml
@@ -22,13 +22,17 @@
         class="net.shibboleth.idp.authn.spnego.impl.KerberosRealmSettings" abstract="true" />
 
     <bean id="shibboleth.authn.SPNEGO.externalAuthnPath" class="java.lang.String"
-        c:_0="servletRelative:%{idp.authn.spnego.externalAuthnPath:/Authn/SPNEGO}" />
+        c:_0="servletRelative:%{idp.authn.SPNEGO.externalAuthnPath:%{idp.authn.spnego.externalAuthnPath:/Authn/SPNEGO}}" />
 
     <!-- Default strategy function to obtain the external path. -->
     <bean id="shibboleth.authn.SPNEGO.externalAuthnPathStrategy" parent="shibboleth.Functions.Constant"
         c:target-ref="shibboleth.authn.SPNEGO.externalAuthnPath" />
 
-    <import resource="%{idp.home}/conf/authn/spnego-authn-config.xml" />
+    <!-- Legacy approach to this setting, needed to allow override and aliasing below. -->
+    <bean id="shibboleth.authn.SPNEGO.EnforceRun" class="java.lang.Boolean" factory-method="valueOf"
+        c:_0="%{idp.authn.SPNEGO.enforceRun:false}" />
+
+    <import resource="conditional:%{idp.home}/conf/authn/spnego-authn-config.xml" />
 
     <!-- Make configurable values available in flow. -->
     
@@ -37,8 +41,8 @@
     <!-- Kerberos settings and realms. -->
     
     <bean id="shibboleth.authn.SPNEGO.Krb5.Settings" class="net.shibboleth.idp.authn.spnego.impl.KerberosSettings"
-        p:refreshKrb5Config-ref="shibboleth.authn.SPNEGO.Krb5.RefreshConfig"
-        p:realms-ref="shibboleth.authn.SPNEGO.Krb5.Realms" />
+        p:refreshKrb5Config="#{getObject('shibboleth.authn.SPNEGO.Krb5.RefreshConfig') ?: %{idp.authn.SPNEGO.refreshKrbConfig:false}}"
+        p:realms="#{getObject('shibboleth.authn.SPNEGO.Krb5.Realms')}" />
 
     <!-- Action beans. -->
 
@@ -46,7 +50,7 @@
             class="net.shibboleth.idp.authn.impl.ValidateExternalAuthentication" scope="prototype"
             p:metricName="net.shibboleth.idp.authn.spnego"
             p:matchExpression="#{getObject('shibboleth.authn.SPNEGO.matchExpression')}"
-            p:classifiedMessages-ref="shibboleth.authn.SPNEGO.ClassifiedMessageMap" />
+            p:classifiedMessages="#{getObject('shibboleth.authn.SPNEGO.ClassifiedMessageMap')}" />
             
     <bean id="SPNEGOAutoLoginManager"
           class="net.shibboleth.idp.authn.spnego.impl.SPNEGOAutoLoginManager"
diff --git a/idp-conf-impl/src/main/resources/net/shibboleth/idp/module/authn/impl/module.properties b/idp-conf-impl/src/main/resources/net/shibboleth/idp/module/authn/impl/module.properties
index 79446c048..5279ac601 100644
--- a/idp-conf-impl/src/main/resources/net/shibboleth/idp/module/authn/impl/module.properties
+++ b/idp-conf-impl/src/main/resources/net/shibboleth/idp/module/authn/impl/module.properties
@@ -1,12 +1,21 @@
 # Properties defining authn modules
 
 # Class to Module ID mappings
+net.shibboleth.idp.module.authn.impl.External = idp.authn.External
 net.shibboleth.idp.module.authn.impl.Function = idp.authn.Function
 net.shibboleth.idp.module.authn.impl.IPAddress = idp.authn.IPAddress
+net.shibboleth.idp.module.authn.impl.RemoteUser = idp.authn.RemoteUser
 net.shibboleth.idp.module.authn.impl.RemoteUserInternal = idp.authn.RemoteUserInternal
+net.shibboleth.idp.module.authn.impl.SPNEGO = idp.authn.SPNEGO
 net.shibboleth.idp.module.authn.impl.X509 = idp.authn.X509
 net.shibboleth.idp.module.authn.impl.X509Internal = idp.authn.X509Internal
 
+idp.authn.External.name = External Authentication
+idp.authn.External.desc = Login flow that delegates authentication to a servlet/JSP.
+idp.authn.External.url = https://wiki.shibboleth.net/confluence/display/IDP4/ExternalAuthnConfiguration
+idp.authn.External.1.src = /net/shibboleth/idp/module/conf/authn/external-authn-config.xml
+idp.authn.External.1.dest = conf/authn/external-authn-config.xml
+
 idp.authn.Function.name = Function Authentication
 idp.authn.Function.desc = Login flow that produces a result from a function.
 idp.authn.Function.url = https://wiki.shibboleth.net/confluence/display/IDP4/FunctionAuthnConfiguration
@@ -19,12 +28,24 @@ idp.authn.IPAddress.url = https://wiki.shibboleth.net/confluence/display/IDP4/IP
 idp.authn.IPAddress.1.src = /net/shibboleth/idp/module/conf/authn/ipaddress-authn-config.xml
 idp.authn.IPAddress.1.dest = conf/authn/ipaddress-authn-config.xml
 
+idp.authn.RemoteUser.name = RemoteUser Authentication
+idp.authn.RemoteUser.desc = Login flow for container-based authentication with a dedicated protected path.
+idp.authn.RemoteUser.url = https://wiki.shibboleth.net/confluence/display/IDP4/RemoteUserAuthnConfiguration
+idp.authn.RemoteUser.1.src = /net/shibboleth/idp/module/conf/authn/remoteuser-authn-config.xml
+idp.authn.RemoteUser.1.dest = conf/authn/remoteuser-authn-config.xml
+
 idp.authn.RemoteUserInternal.name = RemoteUserInternal Authentication
 idp.authn.RemoteUserInternal.desc = Login flow for container-based authentication with no redirects.
 idp.authn.RemoteUserInternal.url = https://wiki.shibboleth.net/confluence/display/IDP4/RemoteUserInternalAuthnConfiguration
 idp.authn.RemoteUserInternal.1.src = /net/shibboleth/idp/module/conf/authn/remoteuser-internal-authn-config.xml
 idp.authn.RemoteUserInternal.1.dest = conf/authn/remoteuser-internal-authn-config.xml
 
+idp.authn.X509.name = SPNEGO Authentication
+idp.authn.X509.desc = Login flow for SPNEGO authentication.
+idp.authn.X509.url = https://wiki.shibboleth.net/confluence/display/IDP4/SPNEGOAuthnConfiguration
+idp.authn.X509.1.src = /net/shibboleth/idp/module/conf/authn/spnego-authn-config.xml
+idp.authn.X509.1.dest = conf/authn/spnego-authn-config.xml
+
 idp.authn.X509.name = X509 Authentication
 idp.authn.X509.desc = Login flow for X.509 authentication with a dedicated protected path.
 idp.authn.X509.url = https://wiki.shibboleth.net/confluence/display/IDP4/X509AuthnConfiguration
diff --git a/idp-conf/src/main/resources/conf/authn/external-authn-config.xml b/idp-conf-impl/src/main/resources/net/shibboleth/idp/module/conf/authn/external-authn-config.xml
similarity index 100%
rename from idp-conf/src/main/resources/conf/authn/external-authn-config.xml
rename to idp-conf-impl/src/main/resources/net/shibboleth/idp/module/conf/authn/external-authn-config.xml
diff --git a/idp-conf/src/main/resources/conf/authn/remoteuser-authn-config.xml b/idp-conf-impl/src/main/resources/net/shibboleth/idp/module/conf/authn/remoteuser-authn-config.xml
similarity index 100%
rename from idp-conf/src/main/resources/conf/authn/remoteuser-authn-config.xml
rename to idp-conf-impl/src/main/resources/net/shibboleth/idp/module/conf/authn/remoteuser-authn-config.xml
diff --git a/idp-conf/src/main/resources/conf/authn/spnego-authn-config.xml b/idp-conf-impl/src/main/resources/net/shibboleth/idp/module/conf/authn/spnego-authn-config.xml
similarity index 80%
rename from idp-conf/src/main/resources/conf/authn/spnego-authn-config.xml
rename to idp-conf-impl/src/main/resources/net/shibboleth/idp/module/conf/authn/spnego-authn-config.xml
index 6c0fa48b7..f3891046e 100644
--- a/idp-conf/src/main/resources/conf/authn/spnego-authn-config.xml
+++ b/idp-conf-impl/src/main/resources/net/shibboleth/idp/module/conf/authn/spnego-authn-config.xml
@@ -12,21 +12,6 @@
        default-init-method="initialize"
        default-destroy-method="destroy">
 
-    <!--  General Configuration -->
-
-    <!--
-    Enforce running SPNEGO for all users, independent of user's autologin state.
-    TRUE means that SPNEGO login is always tried (if available).
-    FALSE means that SPNEGO login is run only if the user has enabled autologin.
-    -->
-    <util:constant id="shibboleth.authn.SPNEGO.EnforceRun" static-field="java.lang.Boolean.FALSE" />
-   
-    <!-- Kerberos Configuration-->
-
-    <!-- General Kerberos Settings -->
-    
-    <util:constant id="shibboleth.authn.SPNEGO.Krb5.RefreshConfig" static-field="java.lang.Boolean.FALSE" />
-
     <!--  Kerberos Service Principal(s) -->
     
     <!--
@@ -48,7 +33,7 @@
 
     <!--
     <bean id="shibboleth.authn.SPNEGO.matchExpression" class="java.util.regex.Pattern" factory-method="compile"
-        c:_0="^(.+)@example\.edu$" />
+        c:_0="^(.+)@example\.org$" />
     -->
 
     <!--
diff --git a/idp-conf/src/main/resources/conf/authn/authn.properties b/idp-conf/src/main/resources/conf/authn/authn.properties
index bb821a6e1..453a3f779 100644
--- a/idp-conf/src/main/resources/conf/authn/authn.properties
+++ b/idp-conf/src/main/resources/conf/authn/authn.properties
@@ -59,6 +59,9 @@ idp.authn.flows = Password
 
 #idp.authn.SPNEGO.order = 1000
 #idp.authn.SPNEGO.nonBrowserSupported = false
+#idp.authn.SPNEGO.externalAuthnPath = /Authn/SPNEGO
+#idp.authn.SPNEGO.enforceRun = false
+#idp.authn.SPNEGO.refreshKrbConfig = false
 #idp.authn.SPNEGO.supportedPrincipals = \
 #    saml2/urn:oasis:names:tc:SAML:2.0:ac:classes:Kerberos, \
 #    saml1/urn:ietf:rfc:1510

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.


More information about the commits mailing list