Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 4 additions & 2 deletions src/ContentProcessorWeb/.env
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
REACT_APP_API_BASE_URL=APP_API_BASE_URL
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
Expand All @@ -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
REACT_APP_CONSOLE_LOG_ENABLED = APP_CONSOLE_LOG_ENABLED

REACT_APP_AUTH_ENABLED = APP_AUTH_ENABLED
40 changes: 22 additions & 18 deletions src/ContentProcessorWeb/src/Components/Header/Header.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,8 @@ const HeaderPage: React.FC<HeaderPageProps> = ({ 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,
Expand Down Expand Up @@ -126,24 +128,26 @@ const HeaderPage: React.FC<HeaderPageProps> = ({ toggleTheme, isDarkMode }) => {
</div>

{/* Tools Section */}
<div className="headerTools">
<Menu hasIcons positioning={{ autoSize: true }}>
<MenuTrigger disableButtonEnhancement>
<Avatar
color="colorful"
name={user?.name}
aria-label="App"
className="clickable-avatar"
/>
</MenuTrigger>
<MenuPopover style={{ minWidth: "192px" }}>
<MenuList>
<MenuDivider />
<MenuItem icon={<ArrowExit />} onClick={logout}>Logout</MenuItem>
</MenuList>
</MenuPopover>
</Menu>
</div>
{ authEnabled &&
<div className="headerTools">
<Menu hasIcons positioning={{ autoSize: true }}>
<MenuTrigger disableButtonEnhancement>
<Avatar
color="colorful"
name={user?.name}
aria-label="App"
className="clickable-avatar"
/>
</MenuTrigger>
<MenuPopover style={{ minWidth: "192px" }}>
<MenuList>
<MenuDivider />
<MenuItem icon={<ArrowExit />} onClick={logout}>Logout</MenuItem>
</MenuList>
</MenuPopover>
</Menu>
</div>
}
</Header>
);
};
Expand Down
9 changes: 7 additions & 2 deletions src/ContentProcessorWeb/src/msal-auth/AuthWrapper.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -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?.toLowerCase() !== '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}</>
};
Expand Down
Loading