diff --git a/frontend/src/services/OAuth2/OAuthContext.ts b/frontend/src/services/OAuth2/OAuthContext.ts index 10c4d3821689f1ab3a1a28d679446ea2265788ba..32d272c2851b94b2465da98255547cbfbf9f3d97 100644 --- a/frontend/src/services/OAuth2/OAuthContext.ts +++ b/frontend/src/services/OAuth2/OAuthContext.ts @@ -3,6 +3,7 @@ import { createContext } from "react"; export interface OAuthContextProps extends IOAuthState { signinPopup(): void; + logout(): void; } export const OAuthContext = createContext<OAuthContextProps | undefined>(undefined); diff --git a/frontend/src/services/OAuth2/OAuthProvider.tsx b/frontend/src/services/OAuth2/OAuthProvider.tsx index feb36a15c3c03a899c36d1de6ebcfd689d311333..21af44b4bfb308c98abb46a4c41b8ef0bc15177e 100644 --- a/frontend/src/services/OAuth2/OAuthProvider.tsx +++ b/frontend/src/services/OAuth2/OAuthProvider.tsx @@ -168,10 +168,15 @@ export const OAuthProvider = (props: OAuthProviderProps): JSX.Element => { }, [props]); + const logout = useCallback(() => { + setOAuthState(initialOAuthState); + }, []); + return ( <OAuthContext.Provider value={{ signinPopup: signinPopup, + logout: logout, isAuthenticated: oAuthState.isAuthenticated, isLoading: oAuthState.isLoading, error: oAuthState.error,