@nitra/vite-boot
Version:
39 lines (33 loc) • 1.14 kB
JavaScript
import { getToken, checkToken } from './token.js'
import { setUser } from './user.js'
// import { router } from './router.js'
// Використовуємо глобальну версію
// import { router } from '@nitra/vite-boot/router'
/**
* Автоматичний вхід користувача
*/
export async function autoLogin() {
const token = getToken()
if (!token) {
return
}
const check = checkToken(token)
if (check.result !== 'ok') {
return
}
return defaultLogin(check.decoded, token)
}
/**
* Вхід або на попередню або на кореневу сторінку
* @param {object} decoded
* @param {string} raw? - необов'язково, але потрібно якщо використовується localStorage
* @param raw
*/
export async function defaultLogin(decoded, raw) {
// Якщо задано що токен з localStorage
localStorage.setItem('__session', raw)
setUser(decoded)
// @ts-ignore
const route = sessionStorage.getItem('url-before-logout') || import.meta.env.BASE_URL
window.location.href = route // router.push(route)
}