From d959a49f8d997c8e65c4b10309b720b0060e1271 Mon Sep 17 00:00:00 2001 From: darth-coder00 <86726556+darth-coder00@users.noreply.github.com> Date: Wed, 2 Mar 2022 15:51:29 +0530 Subject: [PATCH] Fix: restricted actions in insecure mode (#3073) --- .../ui/src/auth-provider/AuthProvider.tsx | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/openmetadata-ui/src/main/resources/ui/src/auth-provider/AuthProvider.tsx b/openmetadata-ui/src/main/resources/ui/src/auth-provider/AuthProvider.tsx index d578770454f..db58e53420e 100644 --- a/openmetadata-ui/src/main/resources/ui/src/auth-provider/AuthProvider.tsx +++ b/openmetadata-ui/src/main/resources/ui/src/auth-provider/AuthProvider.tsx @@ -15,6 +15,7 @@ import { Configuration } from '@azure/msal-browser'; import { MsalProvider } from '@azure/msal-react'; import { LoginCallback } from '@okta/okta-react'; import { AxiosError, AxiosResponse } from 'axios'; +import { CookieStorage } from 'cookie-storage'; import { isEmpty, isNil } from 'lodash'; import { observer } from 'mobx-react'; import { UserPermissions } from 'Models'; @@ -66,6 +67,7 @@ interface AuthProviderProps { children: ReactNode; } +const cookieStorage = new CookieStorage(); const userAPIQueryFields = 'profile,teams,roles'; export const AuthProvider = ({ children }: AuthProviderProps) => { @@ -150,7 +152,16 @@ export const AuthProvider = ({ children }: AuthProviderProps) => { }; const getUpdatedUser = (data: User, user: OidcUser) => { - const getAdminCookie = localStorage.getItem(isAdminUpdated); + let getAdminCookie = localStorage.getItem(isAdminUpdated); + + // TODO: Remove when using cookie no more + if (!getAdminCookie) { + getAdminCookie = cookieStorage.getItem(isAdminUpdated); + if (getAdminCookie) { + localStorage.setItem(isAdminUpdated, getAdminCookie); + } + } + if (getAdminCookie) { appState.updateUserDetails(data); } else { @@ -366,6 +377,10 @@ export const AuthProvider = ({ children }: AuthProviderProps) => { ); }, []); + useEffect(() => { + appState.updateAuthState(isAuthDisabled); + }, [isAuthDisabled]); + useEffect(() => { return history.listen((location) => { if (!isAuthDisabled && !appState.userDetails) {