37 lines
767 B
JavaScript
37 lines
767 B
JavaScript
import jwt from 'jsonwebtoken';
|
|
|
|
export const state = () => ({
|
|
token: null,
|
|
user: null,
|
|
})
|
|
|
|
export const mutations = {
|
|
setToken(state, token) {
|
|
if (!token) {
|
|
state.token = null;
|
|
state.user = null;
|
|
return;
|
|
}
|
|
|
|
let user;
|
|
try {
|
|
user = jwt.verify(token, process.env.PUBLIC_KEY, {
|
|
algorithm: 'RS256',
|
|
audience: process.env.BASE_URL,
|
|
issuer: process.env.BASE_URL,
|
|
});
|
|
} catch {
|
|
user = null;
|
|
}
|
|
|
|
if (user && user.authenticated) {
|
|
state.token = token;
|
|
state.user = user;
|
|
return;
|
|
}
|
|
|
|
state.token = null;
|
|
state.user = null;
|
|
}
|
|
}
|