mirror of
https://github.com/open-metadata/OpenMetadata.git
synced 2026-01-08 13:36:32 +00:00
This commit is contained in:
parent
4d2bde4fe7
commit
0a499dc7ed
@ -127,6 +127,7 @@ export const AuthProvider = ({
|
||||
appState.updateUserDetails({} as User);
|
||||
appState.updateUserPermissions({} as UserPermissions);
|
||||
localStorage.removeItem(oidcTokenKey);
|
||||
setIsUserAuthenticated(false);
|
||||
setLoadingIndicator(false);
|
||||
if (forceLogout) {
|
||||
onLogoutHandler();
|
||||
|
||||
@ -54,6 +54,7 @@ describe('Test SigninPage Component', () => {
|
||||
isAuthDisabled: false,
|
||||
authConfig: { provider: 'google' },
|
||||
onLoginHandler: jest.fn(),
|
||||
onLogoutHandler: jest.fn(),
|
||||
});
|
||||
const { container } = render(<SigninPage />, {
|
||||
wrapper: MemoryRouter,
|
||||
@ -81,6 +82,7 @@ describe('Test SigninPage Component', () => {
|
||||
isAuthDisabled: false,
|
||||
authConfig: { provider },
|
||||
onLoginHandler: jest.fn(),
|
||||
onLogoutHandler: jest.fn(),
|
||||
});
|
||||
const { container } = render(<SigninPage />, {
|
||||
wrapper: MemoryRouter,
|
||||
@ -99,6 +101,7 @@ describe('Test SigninPage Component', () => {
|
||||
isAuthDisabled: false,
|
||||
authConfig: { provider: 'custom-oidc', providerName: 'Custom OIDC' },
|
||||
onLoginHandler: jest.fn(),
|
||||
onLogoutHandler: jest.fn(),
|
||||
});
|
||||
const { container } = render(<SigninPage />, {
|
||||
wrapper: MemoryRouter,
|
||||
|
||||
@ -13,11 +13,12 @@
|
||||
|
||||
import { isEmpty } from 'lodash';
|
||||
import { observer } from 'mobx-react';
|
||||
import React from 'react';
|
||||
import React, { useEffect, useMemo } from 'react';
|
||||
import { useHistory } from 'react-router-dom';
|
||||
import appState from '../../AppState';
|
||||
import loginBG from '../../assets/img/login-bg.png';
|
||||
import { useAuthContext } from '../../authentication/auth-provider/AuthProvider';
|
||||
import Loader from '../../components/Loader/Loader';
|
||||
import LoginButton from '../../components/LoginButton/LoginButton';
|
||||
import { ROUTES } from '../../constants/constants';
|
||||
import { AuthTypes } from '../../enums/signin.enum';
|
||||
@ -26,7 +27,11 @@ import LoginCarousel from './LoginCarousel';
|
||||
|
||||
const SigninPage = () => {
|
||||
const history = useHistory();
|
||||
const { isAuthDisabled, authConfig, onLoginHandler } = useAuthContext();
|
||||
const { isAuthDisabled, authConfig, onLoginHandler, onLogoutHandler } =
|
||||
useAuthContext();
|
||||
const isAlreadyLoggedIn = useMemo(() => {
|
||||
return isAuthDisabled || !isEmpty(appState.userDetails);
|
||||
}, [isAuthDisabled, appState.userDetails]);
|
||||
|
||||
const handleSignIn = () => {
|
||||
onLoginHandler && onLoginHandler();
|
||||
@ -82,10 +87,20 @@ const SigninPage = () => {
|
||||
);
|
||||
};
|
||||
|
||||
// If user is neither logged in or nor security is disabled
|
||||
// invoke logout handler to clean-up any slug storage
|
||||
useEffect(() => {
|
||||
if (!isAlreadyLoggedIn) {
|
||||
onLogoutHandler();
|
||||
}
|
||||
}, []);
|
||||
|
||||
// If the user is already logged in or if security is disabled
|
||||
// redirect the user to the home page.
|
||||
if (isAuthDisabled || !isEmpty(appState.userDetails)) {
|
||||
if (isAlreadyLoggedIn) {
|
||||
history.push(ROUTES.HOME);
|
||||
|
||||
return <Loader />;
|
||||
}
|
||||
|
||||
return (
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user