Advertisement
Guest User

Untitled

a guest
Nov 19th, 2018
116
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. // import localforage from "localforage";
  2.  
  3. class Auth {
  4.     constructor() {
  5.         this.token = window.localStorage.getItem('token');
  6.  
  7.         let userData = window.localStorage.getItem('user');
  8.         this.user = userData ? JSON.parse(userData) : null;
  9.  
  10.         if (this.token) {
  11.             axios.defaults.headers.common['Authorization'] = 'Bearer ' + this.token;
  12.  
  13.             this.getUser();
  14.         }
  15.     }
  16.  
  17.     getUser() {
  18.         axios.get('/api/get-auth-user')
  19.             .then(({data}) => {
  20.                 this.user = data;
  21.             })
  22.             .catch(({response}) => {
  23.                 if (response.status === 401) {
  24.                     this.logout();
  25.                 }
  26.             });
  27.     }
  28.  
  29.     login(token, user) {
  30.         window.localStorage.setItem('token', token);
  31.         window.localStorage.setItem('user', JSON.stringify(user));
  32.  
  33.         axios.defaults.headers.common['Authorization'] = 'Bearer ' + token;
  34.  
  35.         this.token = token;
  36.         this.user = user;
  37.  
  38.         Event.$emit('userLoggedIn');
  39.     }
  40.  
  41.     check() {
  42.         return !! this.token;
  43.     }
  44.  
  45.     logout() {
  46.         window.localStorage.removeItem('token');
  47.         window.localStorage.removeItem('user');
  48.  
  49.         delete axios.defaults.headers.common["Authorization"];
  50.  
  51.         Event.$emit('userLoggedOut');
  52.     }
  53. }
  54.  
  55. export default Auth;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement