fix(#518): multiple tabs logout pr fix

pull/192/head
Rakov 3 years ago
parent f31a83629d
commit b0b7ab6073
  1. 25
      src/features/AuthStore/hooks/useAuth.tsx

@ -7,7 +7,7 @@ import {
import { useHistory } from 'react-router' import { useHistory } from 'react-router'
import type { User } from 'oidc-client' import type { User } from 'oidc-client'
// @ts-ignore // @ts-expect-error
import duel from 'dueljs' import duel from 'dueljs'
import isString from 'lodash/isString' import isString from 'lodash/isString'
@ -23,14 +23,12 @@ import {
readToken, readToken,
setCookie, setCookie,
removeCookie, removeCookie,
TOKEN_KEY,
} from 'helpers' } from 'helpers'
import { import {
useLocalStore, useLocalStore,
useSessionStore, useSessionStore,
useToggle, useToggle,
useEventListener,
} from 'hooks' } from 'hooks'
import { useLexicsStore } from 'features/LexicsStore' import { useLexicsStore } from 'features/LexicsStore'
@ -174,27 +172,6 @@ export const useAuth = () => {
markUserLoaded, markUserLoaded,
]) ])
useEventListener({
callback: useCallback(async (e: StorageEvent) => {
const loadedUser = await userManager.getUser()
if (
e.storageArea !== localStorage
|| e.key !== TOKEN_KEY
|| !e.newValue
|| !loadedUser
|| loadedUser.access_token === e.newValue
) return
userManager.storeUser({
...loadedUser,
access_token: e.newValue,
toStorageString: loadedUser.toStorageString,
})
}, []),
event: 'storage',
})
useEffect(() => { useEffect(() => {
const isRedirectedBackFromAuthProvider = history.location.pathname === '/redirect' const isRedirectedBackFromAuthProvider = history.location.pathname === '/redirect'
isRedirectedBackFromAuthProvider ? signinRedirectCallback() : checkUser() isRedirectedBackFromAuthProvider ? signinRedirectCallback() : checkUser()

Loading…
Cancel
Save