Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import axios from 'axios'
- import jwtDecode from 'jwt-decode'
- export const moduleLoginStore = {
- state: {
- jwt: localStorage.getItem('t'),
- endpoints: {
- obtainJWT: 'http://localhost/api/v1/token/auth/',
- refreshJWT: 'http://localhost/api/v1/token/refresh/'
- }
- },
- mutations: {
- updateToken (state, newToken) {
- localStorage.setItem('token', newToken)
- state.jwt = newToken
- },
- removeToken (state) {
- localStorage.removeItem('token')
- state.jwt = null
- }
- },
- actions: {
- obtainToken ({state, commit}, {username, password}) {
- const payload = {
- username: username,
- password: password
- }
- axios.post(state.endpoints.obtainJWT, payload).then((response) => {
- commit('updateToken', response.data.token)
- }).catch((error) => {
- console.log(error)
- })
- },
- refreshToken ({state, commit}) {
- const payload = {
- token: state.jwt
- }
- axios.post(state.endpoints.refreshJWT, payload)
- .then((response) => {
- commit('updateToken', response.data.token)
- })
- .catch((error) => {
- console.log(error)
- })
- }
- }
- }
Add Comment
Please, Sign In to add comment