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); } }