|
|
|
|
@ -89,8 +89,9 @@ export const useAuth = () => { |
|
|
|
|
if (!readToken()) { |
|
|
|
|
const token = await getTemporaryToken() |
|
|
|
|
token && await fetchUserInfo() |
|
|
|
|
return Promise.resolve() |
|
|
|
|
} |
|
|
|
|
return Promise.resolve() |
|
|
|
|
return Promise.reject() |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
storeUser(loadedUser) |
|
|
|
|
@ -204,21 +205,24 @@ export const useAuth = () => { |
|
|
|
|
}, [reChekNewDevice, userManager]) |
|
|
|
|
|
|
|
|
|
useEffect(() => { |
|
|
|
|
if (!needCheckNewDeviсe) return undefined |
|
|
|
|
if (!needCheckNewDeviсe && !user) return undefined |
|
|
|
|
const startCheckDevice = setInterval(checkNewDevice, 20000) |
|
|
|
|
isNewDeviceLogin && clearInterval(startCheckDevice) |
|
|
|
|
return () => clearInterval(startCheckDevice) |
|
|
|
|
}, [checkNewDevice, |
|
|
|
|
|
|
|
|
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
|
|
|
}, [ |
|
|
|
|
checkNewDevice, |
|
|
|
|
isNewDeviceLogin, |
|
|
|
|
setIsNewDeviceLogin, |
|
|
|
|
]) |
|
|
|
|
|
|
|
|
|
useEffect(() => { |
|
|
|
|
// попытаемся обновить токен используя refresh_token
|
|
|
|
|
const tryRenewToken = () => { |
|
|
|
|
userManager.signinSilent() |
|
|
|
|
.catch(() => user && logout()) |
|
|
|
|
} |
|
|
|
|
// попытаемся обновить токен используя refresh_token
|
|
|
|
|
// если запросы вернули 401 | 403
|
|
|
|
|
window.addEventListener('FORBIDDEN_REQUEST', tryRenewToken) |
|
|
|
|
|
|
|
|
|
|