From dfe2244274f4e7997d530bef12e2f59be3537178 Mon Sep 17 00:00:00 2001 From: Harsh-Microsoft Date: Mon, 5 May 2025 07:36:40 +0000 Subject: [PATCH 1/2] feat: added flag based authentication using AUTH_ENABLED --- src/ContentProcessorWeb/.env | 6 ++++-- src/ContentProcessorWeb/src/msal-auth/AuthWrapper.tsx | 9 +++++++-- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/src/ContentProcessorWeb/.env b/src/ContentProcessorWeb/.env index ecf8f866..73c64ea2 100644 --- a/src/ContentProcessorWeb/.env +++ b/src/ContentProcessorWeb/.env @@ -1,4 +1,4 @@ -REACT_APP_API_BASE_URL=APP_API_BASE_URL +REACT_APP_API_BASE_URL=https://ca-cps-d4ecoervb6ab-api.salmonbay-e4fea35b.eastus2.azurecontainerapps.io/ REACT_APP_WEB_CLIENT_ID = APP_WEB_CLIENT_ID REACT_APP_WEB_AUTHORITY = APP_WEB_AUTHORITY @@ -10,4 +10,6 @@ REACT_APP_POST_REDIRECT_URL = "/" REACT_APP_WEB_SCOPE = APP_WEB_SCOPE REACT_APP_API_SCOPE = APP_API_SCOPE -REACT_APP_CONSOLE_LOG_ENABLED = APP_CONSOLE_LOG_ENABLED \ No newline at end of file +REACT_APP_CONSOLE_LOG_ENABLED = APP_CONSOLE_LOG_ENABLED + +REACT_APP_AUTH_ENABLED=false \ No newline at end of file diff --git a/src/ContentProcessorWeb/src/msal-auth/AuthWrapper.tsx b/src/ContentProcessorWeb/src/msal-auth/AuthWrapper.tsx index bfbae666..915ccb71 100644 --- a/src/ContentProcessorWeb/src/msal-auth/AuthWrapper.tsx +++ b/src/ContentProcessorWeb/src/msal-auth/AuthWrapper.tsx @@ -10,12 +10,17 @@ import useAuth from './useAuth'; const AuthWrapper: React.FC<{ children: React.ReactNode }> = ({ children }) => { const { isAuthenticated, login, inProgress,token } = useAuth(); + const authEnabled = process.env.REACT_APP_AUTH_ENABLED !== 'false'; // Defaults to true if not set useEffect(() => { - if (!isAuthenticated && inProgress === InteractionStatus.None) { + if (authEnabled && !isAuthenticated && inProgress === InteractionStatus.None) { login(); } - }, [isAuthenticated, inProgress]); + }, [authEnabled, isAuthenticated, inProgress]); + + if (!authEnabled) { + return <>{children}; + } return <>{(isAuthenticated && token) && children} }; From b20c5a3158ed1c6951c902bfd4a7b06beefaa104 Mon Sep 17 00:00:00 2001 From: Harsh-Microsoft Date: Tue, 6 May 2025 12:31:20 +0000 Subject: [PATCH 2/2] fix: update environment variables for API base URL and authentication flag --- src/ContentProcessorWeb/.env | 4 +- .../src/Components/Header/Header.tsx | 40 ++++++++++--------- .../src/msal-auth/AuthWrapper.tsx | 2 +- 3 files changed, 25 insertions(+), 21 deletions(-) diff --git a/src/ContentProcessorWeb/.env b/src/ContentProcessorWeb/.env index 73c64ea2..8b85deed 100644 --- a/src/ContentProcessorWeb/.env +++ b/src/ContentProcessorWeb/.env @@ -1,4 +1,4 @@ -REACT_APP_API_BASE_URL=https://ca-cps-d4ecoervb6ab-api.salmonbay-e4fea35b.eastus2.azurecontainerapps.io/ +REACT_APP_API_BASE_URL = APP_API_BASE_URL REACT_APP_WEB_CLIENT_ID = APP_WEB_CLIENT_ID REACT_APP_WEB_AUTHORITY = APP_WEB_AUTHORITY @@ -12,4 +12,4 @@ REACT_APP_WEB_SCOPE = APP_WEB_SCOPE REACT_APP_API_SCOPE = APP_API_SCOPE REACT_APP_CONSOLE_LOG_ENABLED = APP_CONSOLE_LOG_ENABLED -REACT_APP_AUTH_ENABLED=false \ No newline at end of file +REACT_APP_AUTH_ENABLED = APP_AUTH_ENABLED \ No newline at end of file diff --git a/src/ContentProcessorWeb/src/Components/Header/Header.tsx b/src/ContentProcessorWeb/src/Components/Header/Header.tsx index 2e4cce41..5abbbe2d 100644 --- a/src/ContentProcessorWeb/src/Components/Header/Header.tsx +++ b/src/ContentProcessorWeb/src/Components/Header/Header.tsx @@ -57,6 +57,8 @@ const HeaderPage: React.FC = ({ toggleTheme, isDarkMode }) => { const { shortcutLabel } = useHeaderHooks({ toggleTheme, isDarkMode }); const { user, logout, getToken } = useAuth(); + const authEnabled = process.env.REACT_APP_AUTH_ENABLED?.toLowerCase() !== 'false'; // Defaults to true if not set + const { openSwaggerUI } = useSwaggerPreview(); const store = useSelector((state: RootState) => ({ swaggerJSON: state.leftPanel.swaggerJSON, @@ -126,24 +128,26 @@ const HeaderPage: React.FC = ({ toggleTheme, isDarkMode }) => { {/* Tools Section */} -
- - - - - - - - } onClick={logout}>Logout - - - -
+ { authEnabled && +
+ + + + + + + + } onClick={logout}>Logout + + + +
+ } ); }; diff --git a/src/ContentProcessorWeb/src/msal-auth/AuthWrapper.tsx b/src/ContentProcessorWeb/src/msal-auth/AuthWrapper.tsx index 915ccb71..6df2d600 100644 --- a/src/ContentProcessorWeb/src/msal-auth/AuthWrapper.tsx +++ b/src/ContentProcessorWeb/src/msal-auth/AuthWrapper.tsx @@ -10,7 +10,7 @@ import useAuth from './useAuth'; const AuthWrapper: React.FC<{ children: React.ReactNode }> = ({ children }) => { const { isAuthenticated, login, inProgress,token } = useAuth(); - const authEnabled = process.env.REACT_APP_AUTH_ENABLED !== 'false'; // Defaults to true if not set + const authEnabled = process.env.REACT_APP_AUTH_ENABLED?.toLowerCase() !== 'false'; // Defaults to true if not set useEffect(() => { if (authEnabled && !isAuthenticated && inProgress === InteractionStatus.None) {