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 <[email protected]>
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 <[email protected]>
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);
}
}