From bd0c4432609f4b36a5736f5cbeaab1ad57d2c37b Mon Sep 17 00:00:00 2001 From: Tom Butcher Date: Fri, 22 Aug 2025 20:42:00 +0100 Subject: [PATCH] Bugfix: user doesn't persist between session reloads. --- .../Dashboard/context/AuthContext.jsx | 25 +++++++++++-------- 1 file changed, 14 insertions(+), 11 deletions(-) diff --git a/src/components/Dashboard/context/AuthContext.jsx b/src/components/Dashboard/context/AuthContext.jsx index 61c9e21..1c8c8c6 100644 --- a/src/components/Dashboard/context/AuthContext.jsx +++ b/src/components/Dashboard/context/AuthContext.jsx @@ -54,7 +54,7 @@ const AuthProvider = ({ children }) => { // Read token from session storage if present useEffect(() => { const storedToken = sessionStorage.getItem('authToken') - const storedUser = sessionStorage.getItem('user') + const storedUser = JSON.parse(sessionStorage.getItem('user')) const storedExpiresAt = sessionStorage.getItem('authExpiresAt') console.log('stored user', storedUser, storedToken) if (storedToken && storedExpiresAt && storedUser) { @@ -95,7 +95,13 @@ const AuthProvider = ({ children }) => { window.location.href = loginUrl } }, - [messageApi, openExternalUrl, isElectron, location.search] + [ + messageApi, + openExternalUrl, + isElectron, + location.search, + location.pathname + ] ) const getLoginToken = useCallback( @@ -117,16 +123,13 @@ const AuthProvider = ({ children }) => { setUserProfile(response.data) sessionStorage.setItem('authToken', response.data.access_token) sessionStorage.setItem('authExpiresAt', response.data.expires_at) - console.log('SETTING USER', { + const userObject = { ...response.data, - // eslint-disable-next-line - access_token: 'redacted', - // eslint-disable-next-line - refresh_token: 'redacted', - // eslint-disable-next-line - id_token: 'redacted' - }) - sessionStorage.setItem('user', response.data) + access_token: undefined, + refresh_token: undefined, + id_token: undefined + } + sessionStorage.setItem('user', JSON.stringify(userObject)) const searchParams = new URLSearchParams(location.search) searchParams.delete('authCode') const newSearch = searchParams.toString()