From c709ec6c29ada205cd1764f844ea45ee9c71316e Mon Sep 17 00:00:00 2001
From: Karan Hotchandani <33024356+karanh37@users.noreply.github.com>
Date: Fri, 27 Sep 2024 20:40:54 +0530
Subject: [PATCH] GEN-1578: SAML redirect leads to 404 page on UI (#17978)
* move routes to callback router
* move callback routes to global router
* added comments
* make saml and confidential callback route public
---
.../ui/src/components/AppRouter/AppRouter.tsx | 10 ++++++++++
.../components/AppRouter/UnAuthenticatedAppRouter.tsx | 6 +-----
2 files changed, 11 insertions(+), 5 deletions(-)
diff --git a/openmetadata-ui/src/main/resources/ui/src/components/AppRouter/AppRouter.tsx b/openmetadata-ui/src/main/resources/ui/src/components/AppRouter/AppRouter.tsx
index ab449c663ae..f50f6579c3c 100644
--- a/openmetadata-ui/src/main/resources/ui/src/components/AppRouter/AppRouter.tsx
+++ b/openmetadata-ui/src/main/resources/ui/src/components/AppRouter/AppRouter.tsx
@@ -26,6 +26,8 @@ import AppContainer from '../AppContainer/AppContainer';
import Loader from '../common/Loader/Loader';
import { UnAuthenticatedAppRouter } from './UnAuthenticatedAppRouter';
+import SamlCallback from '../../pages/SamlCallback';
+
const AppRouter = () => {
const location = useCustomLocation();
@@ -92,6 +94,14 @@ const AppRouter = () => {
{!isEmpty(currentUser) && }
+
+ {/* When authenticating from an SSO provider page (e.g., SAML Apps), if the user is already logged in,
+ the callbacks should be available. This ensures consistent behavior across different authentication scenarios. */}
+
+
{isAuthenticated ? : }
);
diff --git a/openmetadata-ui/src/main/resources/ui/src/components/AppRouter/UnAuthenticatedAppRouter.tsx b/openmetadata-ui/src/main/resources/ui/src/components/AppRouter/UnAuthenticatedAppRouter.tsx
index f1d2f8dac8a..0b5ba794da4 100644
--- a/openmetadata-ui/src/main/resources/ui/src/components/AppRouter/UnAuthenticatedAppRouter.tsx
+++ b/openmetadata-ui/src/main/resources/ui/src/components/AppRouter/UnAuthenticatedAppRouter.tsx
@@ -18,7 +18,6 @@ import { AuthProvider } from '../../generated/configuration/authenticationConfig
import { useApplicationStore } from '../../hooks/useApplicationStore';
import useCustomLocation from '../../hooks/useCustomLocation/useCustomLocation';
import PageNotFound from '../../pages/PageNotFound/PageNotFound';
-import SamlCallback from '../../pages/SamlCallback';
import AccountActivationConfirmation from '../../pages/SignUp/account-activation-confirmation.component';
import { isProtectedRoute } from '../../utils/AuthProvider.util';
import Auth0Callback from '../Auth/AppCallbacks/Auth0Callback/Auth0Callback';
@@ -76,10 +75,7 @@ export const UnAuthenticatedAppRouter = () => {
{callbackComponent && (
)}
-
+
{!isSigningUp && (