This is an automated email from the ASF dual-hosted git repository.

andreapatricelli pushed a commit to branch 4_0_X
in repository https://gitbox.apache.org/repos/asf/syncope.git


The following commit(s) were added to refs/heads/4_0_X by this push:
     new 46aa008a32 [SYNCOPE-1872] Allow to control force mfa execution 
configuration on authentication policy (#1057)
46aa008a32 is described below

commit 46aa008a3271f800eb3588271d6423bf859d7aaf
Author: Andrea Patricelli <[email protected]>
AuthorDate: Thu Apr 17 12:12:06 2025 +0200

    [SYNCOPE-1872] Allow to control force mfa execution configuration on 
authentication policy (#1057)
---
 .../syncope/client/console/policies/AuthPolicyModalPanel.java  |  6 ++++++
 .../syncope/client/console/policies/AuthPolicyModalPanel.html  |  3 +++
 .../client/console/policies/PolicyDirectoryPanel.properties    |  1 +
 .../console/policies/PolicyDirectoryPanel_fr_CA.properties     |  1 +
 .../client/console/policies/PolicyDirectoryPanel_it.properties |  1 +
 .../client/console/policies/PolicyDirectoryPanel_ja.properties |  1 +
 .../console/policies/PolicyDirectoryPanel_pt_BR.properties     |  1 +
 .../client/console/policies/PolicyDirectoryPanel_ru.properties |  1 +
 .../syncope/common/lib/policy/DefaultAuthPolicyConf.java       | 10 ++++++++++
 .../apache/syncope/wa/starter/mapping/DefaultAuthMapper.java   |  2 +-
 10 files changed, 26 insertions(+), 1 deletion(-)

diff --git 
a/client/am/console/src/main/java/org/apache/syncope/client/console/policies/AuthPolicyModalPanel.java
 
b/client/am/console/src/main/java/org/apache/syncope/client/console/policies/AuthPolicyModalPanel.java
index 76833d3574..d1bc313fd0 100644
--- 
a/client/am/console/src/main/java/org/apache/syncope/client/console/policies/AuthPolicyModalPanel.java
+++ 
b/client/am/console/src/main/java/org/apache/syncope/client/console/policies/AuthPolicyModalPanel.java
@@ -87,6 +87,12 @@ public class AuthPolicyModalPanel extends 
AbstractModalPanel<AuthPolicyTO> {
                 new PropertyModel<>(model.getObject().getConf(), 
"bypassEnabled"),
                 false));
 
+        add(new AjaxCheckBoxPanel(
+                "forceMfaExecution",
+                "forceMfaExecution",
+                new PropertyModel<>(model.getObject().getConf(), 
"forceMfaExecution"),
+                false));
+        
         add(new AjaxTextFieldPanel(
                 "bypassPrincipalAttributeName",
                 "bypassPrincipalAttributeName",
diff --git 
a/client/am/console/src/main/resources/org/apache/syncope/client/console/policies/AuthPolicyModalPanel.html
 
b/client/am/console/src/main/resources/org/apache/syncope/client/console/policies/AuthPolicyModalPanel.html
index e66a972c85..b5923fc5df 100644
--- 
a/client/am/console/src/main/resources/org/apache/syncope/client/console/policies/AuthPolicyModalPanel.html
+++ 
b/client/am/console/src/main/resources/org/apache/syncope/client/console/policies/AuthPolicyModalPanel.html
@@ -27,6 +27,9 @@ under the License.
     <div class="form-group">
       <span wicket:id="bypassEnabled"/>
     </div>
+    <div class="form-group">
+      <span wicket:id="forceMfaExecution"/>
+    </div>
     <div class="form-group">
       <span wicket:id="bypassPrincipalAttributeName"/>
     </div>
diff --git 
a/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/policies/PolicyDirectoryPanel.properties
 
b/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/policies/PolicyDirectoryPanel.properties
index d5451c65bd..bf29479340 100644
--- 
a/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/policies/PolicyDirectoryPanel.properties
+++ 
b/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/policies/PolicyDirectoryPanel.properties
@@ -56,5 +56,6 @@ enable.proxyTgtConf=Enable Proxy TGT
 enable.proxyStConf=Enable Proxy ST
 auditHistory.title=Configuration history
 bypassEnabled=Enable Bypass
+forceMfaExecution=Force multifactor authentication
 bypassPrincipalAttributeName=Bypass Principal Attribute Name
 bypassPrincipalAttributeValue=Bypass Principal Attribute Value
diff --git 
a/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/policies/PolicyDirectoryPanel_fr_CA.properties
 
b/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/policies/PolicyDirectoryPanel_fr_CA.properties
index a951aa0562..96c63e1e03 100644
--- 
a/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/policies/PolicyDirectoryPanel_fr_CA.properties
+++ 
b/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/policies/PolicyDirectoryPanel_fr_CA.properties
@@ -56,5 +56,6 @@ enable.proxyTgtConf=Enable Proxy TGT
 enable.proxyStConf=Enable Proxy ST
 auditHistory.title=Historique de configuration
 bypassEnabled=Enable Bypass
+forceMfaExecution=Forcer l'authentification multifacteur
 bypassPrincipalAttributeName=Bypass Principal Attribute Name
 bypassPrincipalAttributeValue=Bypass Principal Attribute Value
diff --git 
a/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/policies/PolicyDirectoryPanel_it.properties
 
b/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/policies/PolicyDirectoryPanel_it.properties
index a55a004688..de8714010b 100644
--- 
a/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/policies/PolicyDirectoryPanel_it.properties
+++ 
b/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/policies/PolicyDirectoryPanel_it.properties
@@ -56,5 +56,6 @@ enable.proxyTgtConf=Abilita Proxy TGT
 enable.proxyStConf=Abilita Proxy ST
 auditHistory.title=Storico delle configurazioni
 bypassEnabled=Abilita Bypass
+forceMfaExecution=Forza l'autenticazione multifattore
 bypassPrincipalAttributeName=Bypass Nome Attributo
 bypassPrincipalAttributeValue=Bypass Valore Attributo
diff --git 
a/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/policies/PolicyDirectoryPanel_ja.properties
 
b/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/policies/PolicyDirectoryPanel_ja.properties
index bd417f8aad..622c6c13d7 100644
--- 
a/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/policies/PolicyDirectoryPanel_ja.properties
+++ 
b/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/policies/PolicyDirectoryPanel_ja.properties
@@ -56,6 +56,7 @@ enable.proxyTgtConf=Enable Proxy TGT
 enable.proxyStConf=Enable Proxy ST
 auditHistory.title=\u8a2d\u5b9a\u5c65\u6b74
 bypassEnabled=Enable Bypass
+forceMfaExecution=\u591a\u8981\u7d20\u8a8d\u8a3c\u3092\u5f37\u5236\u3059\u308b
 bypassPrincipalAttributeName=Bypass Principal Attribute Name
 bypassPrincipalAttributeValue=Bypass Principal Attribute Value
 
diff --git 
a/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/policies/PolicyDirectoryPanel_pt_BR.properties
 
b/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/policies/PolicyDirectoryPanel_pt_BR.properties
index f189b1abdd..5342aecfa6 100644
--- 
a/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/policies/PolicyDirectoryPanel_pt_BR.properties
+++ 
b/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/policies/PolicyDirectoryPanel_pt_BR.properties
@@ -56,5 +56,6 @@ enable.proxyTgtConf=Enable Proxy TGT
 enable.proxyStConf=Enable Proxy ST
 auditHistory.title=Hist\u00f3rico de configura\u00e7\u00e3o
 bypassEnabled=Enable Bypass
+forceMfaExecution=For\u00e7ar autentica\u00e7\u00e3o multifator
 bypassPrincipalAttributeName=Bypass Principal Attribute Name
 bypassPrincipalAttributeValue=Bypass Principal Attribute Value
diff --git 
a/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/policies/PolicyDirectoryPanel_ru.properties
 
b/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/policies/PolicyDirectoryPanel_ru.properties
index e767cb8b71..26b25636da 100644
--- 
a/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/policies/PolicyDirectoryPanel_ru.properties
+++ 
b/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/policies/PolicyDirectoryPanel_ru.properties
@@ -57,5 +57,6 @@ enable.proxyTgtConf=Enable Proxy TGT
 enable.proxyStConf=Enable Proxy ST
 auditHistory.title=\u0418\u0441\u0442\u043e\u0440\u0438\u044f 
\u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438
 bypassEnabled=Enable Bypass
+forceMfaExecution=\u041f\u0440\u0438\u043d\u0443\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u0430\u044f
 
\u043c\u043d\u043e\u0433\u043e\u0444\u0430\u043a\u0442\u043e\u0440\u043d\u0430\u044f
 
\u0430\u0443\u0442\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u044f
 bypassPrincipalAttributeName=Bypass Principal Attribute Name
 bypassPrincipalAttributeValue=Bypass Principal Attribute Value
diff --git 
a/common/am/lib/src/main/java/org/apache/syncope/common/lib/policy/DefaultAuthPolicyConf.java
 
b/common/am/lib/src/main/java/org/apache/syncope/common/lib/policy/DefaultAuthPolicyConf.java
index b0a4b4f789..0d0584f748 100644
--- 
a/common/am/lib/src/main/java/org/apache/syncope/common/lib/policy/DefaultAuthPolicyConf.java
+++ 
b/common/am/lib/src/main/java/org/apache/syncope/common/lib/policy/DefaultAuthPolicyConf.java
@@ -31,6 +31,8 @@ public class DefaultAuthPolicyConf implements AuthPolicyConf {
 
     private boolean bypassEnabled;
 
+    private boolean forceMfaExecution = true;
+    
     private String bypassPrincipalAttributeName;
 
     private String bypassPrincipalAttributeValue;
@@ -53,6 +55,14 @@ public class DefaultAuthPolicyConf implements AuthPolicyConf 
{
         this.bypassEnabled = bypassEnabled;
     }
 
+    public boolean isForceMfaExecution() {
+        return forceMfaExecution;
+    }
+
+    public void setForceMfaExecution(final boolean forceMfaExecution) {
+        this.forceMfaExecution = forceMfaExecution;
+    }
+
     public String getBypassPrincipalAttributeName() {
         return bypassPrincipalAttributeName;
     }
diff --git 
a/wa/starter/src/main/java/org/apache/syncope/wa/starter/mapping/DefaultAuthMapper.java
 
b/wa/starter/src/main/java/org/apache/syncope/wa/starter/mapping/DefaultAuthMapper.java
index 859b983ae4..60adf1ecaa 100644
--- 
a/wa/starter/src/main/java/org/apache/syncope/wa/starter/mapping/DefaultAuthMapper.java
+++ 
b/wa/starter/src/main/java/org/apache/syncope/wa/starter/mapping/DefaultAuthMapper.java
@@ -124,7 +124,7 @@ public class DefaultAuthMapper implements AuthMapper {
                 mfaPolicy.setBypassEnabled(policyConf.isBypassEnabled());
             }
 
-            mfaPolicy.setForceExecution(true);
+            mfaPolicy.setForceExecution(policyConf.isForceMfaExecution());
             mfaPolicy.setMultifactorAuthenticationProviders(mfaProviders);
         }
 

Reply via email to