Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // import localforage from "localforage";
- class Auth {
- constructor() {
- this.token = window.localStorage.getItem('token');
- let userData = window.localStorage.getItem('user');
- this.user = userData ? JSON.parse(userData) : null;
- if (this.token) {
- axios.defaults.headers.common['Authorization'] = 'Bearer ' + this.token;
- this.getUser();
- }
- }
- getUser() {
- axios.get('/api/get-auth-user')
- .then(({data}) => {
- this.user = data;
- })
- .catch(({response}) => {
- if (response.status === 401) {
- this.logout();
- }
- });
- }
- login(token, user) {
- window.localStorage.setItem('token', token);
- window.localStorage.setItem('user', JSON.stringify(user));
- axios.defaults.headers.common['Authorization'] = 'Bearer ' + token;
- this.token = token;
- this.user = user;
- Event.$emit('userLoggedIn');
- }
- check() {
- return !! this.token;
- }
- logout() {
- window.localStorage.removeItem('token');
- window.localStorage.removeItem('user');
- delete axios.defaults.headers.common["Authorization"];
- Event.$emit('userLoggedOut');
- }
- }
- export default Auth;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement