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

pvillard pushed a commit to branch support/nifi-1.x
in repository https://gitbox.apache.org/repos/asf/nifi.git


The following commit(s) were added to refs/heads/support/nifi-1.x by this push:
     new 711a646197 NIFI-12929: Fix logout infinite redirect loop in case of 
knox
711a646197 is described below

commit 711a64619798a1d79ed5e3629d2b2d0196a98417
Author: Zoltan Kornel Torok <taz19880...@gmail.com>
AuthorDate: Fri Mar 22 13:02:35 2024 +0100

    NIFI-12929: Fix logout infinite redirect loop in case of knox
    
    Signed-off-by: Pierre Villard <pierre.villard...@gmail.com>
    
    This closes #8546.
---
 .../src/main/java/org/apache/nifi/web/filter/LogoutFilter.java | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git 
a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/java/org/apache/nifi/web/filter/LogoutFilter.java
 
b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/java/org/apache/nifi/web/filter/LogoutFilter.java
index 832c2566df..c2f8905dbd 100644
--- 
a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/java/org/apache/nifi/web/filter/LogoutFilter.java
+++ 
b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/java/org/apache/nifi/web/filter/LogoutFilter.java
@@ -41,6 +41,10 @@ public class LogoutFilter implements Filter {
 
     private static final String SAML_SINGLE_LOGOUT_URL = 
"/nifi-api/access/saml/single-logout/request";
 
+    private static final String KNOX_LOGOUT_URL = 
"/nifi-api/access/knox/logout";
+
+    private static final String LOGOUT_COMPLETE_URL = 
"/nifi-api/access/logout/complete";
+
     private ServletContext servletContext;
 
     @Override
@@ -65,14 +69,12 @@ public class LogoutFilter implements Filter {
         if (supportsOidc) {
             sendRedirect(OIDC_LOGOUT_URL, request, response);
         } else if (supportsKnoxSso) {
-            final ServletContext apiContext = 
servletContext.getContext("/nifi-api");
-            
apiContext.getRequestDispatcher("/access/knox/logout").forward(request, 
response);
+            sendRedirect(KNOX_LOGOUT_URL, request, response);
         } else if (supportsSaml) {
             final String logoutUrl = supportsSamlSingleLogout ? 
SAML_SINGLE_LOGOUT_URL : SAML_LOCAL_LOGOUT_URL;
             sendRedirect(logoutUrl, request, response);
         } else {
-            final ServletContext apiContext = 
servletContext.getContext("/nifi-api");
-            
apiContext.getRequestDispatcher("/access/logout/complete").forward(request, 
response);
+            sendRedirect(LOGOUT_COMPLETE_URL, request, response);
         }
     }
 

Reply via email to