Код помощника класса (Vue
AppStroage.js
class AppStroage{
storeToken(token) {
localStorage.setItem('token', token);
}
storeUser(user){
localStorage.setItem('user', user)
}
store(token,user){
this.storeToken(token)
this.storeUser(user)
}
getToken(){
localStorage.getItem('token')
}
getUser(){
localStorage.getItem('user')
}
clear(){
localStorage.removeItem('token')
localStorage.removeItem('user')
}
}
export default AppStroage = new AppStroage();
Token.js
class Token{
isValid(token){
const payload = this.payload(token);
if(payload){
return payload.iss == "http://localhost:8000/api/auth/login" || "http://localhost:8000/api/auth/register" ? true : false;
}
return false;
}
payload(token){
const payload = token.split('.')[1];
return this.decode(payload)
}
decode(payload){
console.log(payload);
return JSON.parse(atob(payload));
}
}
export default Token = new Token();
App.js
import AppStroage from "./AppStroage"
import Token from "./Token"
class User {
responseAfterLogin(res) {
const access_token = res.data.access_token
const username = res.data.name
console.log(username)
console.log(access_token)
if (Token.isValid(access_token)) {
AppStroage.store(access_token, username);
}
}
hasToken() {
const storeToken = localStorage.getItem("token");
if (storeToken) {
return Token.isValid(storeToken) ? true : false;
}
return false;
}
logedIn() {
return this.hasToken();
}
logedOut() {
AppStroage.clear();
window.location = '/';
}
name() {
if (this.logedIn) {
return localStorage.getItem("user");
}
}
id() {
if (this.logedIn) {
const payload = Token.payload(localStorage.getItem("token"));
return payload.sub;
}
}
}
export default User = new User();
YellowSnowman85