|
|
|
|
@ -55,6 +55,15 @@ export const useAuth = () => { |
|
|
|
|
const [isNewDeviceLogin, setIsNewDeviceLogin] = useState(false) |
|
|
|
|
const [userInfo, setUserInfo] = useState<UserInfo>() |
|
|
|
|
|
|
|
|
|
const saveToken = (value: string) => { |
|
|
|
|
writeToken(value) |
|
|
|
|
setCookie({ |
|
|
|
|
exdays: 1, |
|
|
|
|
name: 'access_token', |
|
|
|
|
value, |
|
|
|
|
}) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
const login = useCallback(async () => { |
|
|
|
|
userManager.signinRedirect({ extraQueryParams: { lang } }) |
|
|
|
|
}, [lang]) |
|
|
|
|
@ -75,29 +84,18 @@ export const useAuth = () => { |
|
|
|
|
|
|
|
|
|
const storeUser = useCallback((loadedUser: User) => { |
|
|
|
|
setUser(loadedUser) |
|
|
|
|
writeToken(loadedUser.access_token) |
|
|
|
|
setCookie({ |
|
|
|
|
exdays: 1, |
|
|
|
|
name: 'access_token', |
|
|
|
|
value: loadedUser.access_token, |
|
|
|
|
}) |
|
|
|
|
saveToken(loadedUser.access_token) |
|
|
|
|
}, []) |
|
|
|
|
|
|
|
|
|
const checkUser = useCallback(async () => { |
|
|
|
|
const loadedUser = await userManager.getUser() |
|
|
|
|
|
|
|
|
|
if (!loadedUser) { |
|
|
|
|
if (window.location.pathname.includes(PAGES.mailings)) { |
|
|
|
|
if (history.location.pathname.includes(PAGES.mailings)) { |
|
|
|
|
const url = new URL(window.location.href) |
|
|
|
|
const access_token = url.searchParams.get('access_token') || '' |
|
|
|
|
|
|
|
|
|
writeToken(access_token) |
|
|
|
|
setCookie({ |
|
|
|
|
exdays: 1, |
|
|
|
|
name: 'access_token', |
|
|
|
|
value: access_token, |
|
|
|
|
}) |
|
|
|
|
|
|
|
|
|
saveToken(access_token) |
|
|
|
|
access_token && await fetchUserInfo() |
|
|
|
|
return Promise.resolve() |
|
|
|
|
} |
|
|
|
|
@ -151,12 +149,7 @@ export const useAuth = () => { |
|
|
|
|
try { |
|
|
|
|
const { access_token } = await getTokenVirtualUser() |
|
|
|
|
|
|
|
|
|
writeToken(access_token) |
|
|
|
|
setCookie({ |
|
|
|
|
exdays: 1, |
|
|
|
|
name: 'access_token', |
|
|
|
|
value: access_token, |
|
|
|
|
}) |
|
|
|
|
saveToken(access_token) |
|
|
|
|
return access_token |
|
|
|
|
// eslint-disable-next-line no-empty
|
|
|
|
|
} catch { |
|
|
|
|
|