From 571042f50bd2be517cd40fa19e657eabccd6b636 Mon Sep 17 00:00:00 2001 From: Jacopo Gasparetto <jacopo.gasparetto@cnaf.infn.it> Date: Mon, 17 Apr 2023 09:34:08 +0200 Subject: [PATCH] Add OAuth2 logout function --- frontend/src/services/OAuth2/OAuthContext.ts | 1 + frontend/src/services/OAuth2/OAuthProvider.tsx | 5 +++++ 2 files changed, 6 insertions(+) diff --git a/frontend/src/services/OAuth2/OAuthContext.ts b/frontend/src/services/OAuth2/OAuthContext.ts index 10c4d38..32d272c 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 feb36a1..21af44b 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, -- GitLab