check-auth.js 672 B

123456789101112131415161718192021
  1. import { getUserFromCookie, getUserFromLocalStorage } from '~/utils'
  2. export default function ({ store, req }) {
  3. if (process.server && !req) {
  4. return undefined
  5. }
  6. const userData = process.server ? getUserFromCookie(req) : getUserFromLocalStorage()
  7. if (!userData) {
  8. return undefined
  9. } else if (!userData.jwt || Date.now() > userData.expiresIn) {
  10. store.commit('clearToken')
  11. store.commit('clearUser')
  12. } else {
  13. store.commit('setToken', userData.jwt)
  14. store.commit('setUser', { email: userData.user, avatar: userData.avatar })
  15. const timeToLogout = userData.expiresIn - Date.now()
  16. store.dispatch('setLogoutTimer', timeToLogout)
  17. }
  18. }