Vue-session login-logout


#1

En mi archivo main.js tengo esto:

import Vue from ‘vue’
import App from ‘./App’
import { createRouter } from ‘./router’
import VModal from ‘vue-js-modal’
import VueSession from ‘vue-session’

Vue.use(VModal)
Vue.use(VueSession)

Vue.config.productionTip = false

var router = createRouter()

/* eslint-disable no-new */
new Vue({
el: ‘#app’,
router,
components: { App },
template: ‘<App/>’,
beforeMount: function () {
PostsService.getToken()
}

})

y el inicio de sesion lo hago en index.vue:
methods: {
async signIn () {
const resp = await PostsService.signIn({
email: this.email,
password: sha256(this.password)
})
var rc = resp.data.data.data.rc
var message = resp.data.data.data.msg
rc = parseInt(rc)
if (rc === 0) {
this.$session.start()
this.$router.push({ name: ‘Dashboard’ })
} else {
if (resp.data.data.data.user.retries === 0) {
if (resp.data.data.status === 400 && resp.data.data.data.rc === ‘-50301’) {
this.message_error = message
} else if (resp.data.data.data.rc === ‘-40301’) {
this.message_error = resp.data.message
} else {
this.message_error = message
document.getElementById(‘errores’).style.display = ‘block’
}
} else {
this.message_error = message
}
}
},

Que me faltaria para capturar un session-id que me de acceso a la aplicacion y luego destruirla cuando presione el boton de logout?


#2

Hola, para poder ayudarte mejor porfavor reescribe tu post de tal modo que:

  • Quede bien formateado, legible y entendible. Sigue estas pautas.
  • Provee mas información sobre el contexto en el que pretendes ejecutar tu Vue App.

#3

Yo lo que hago es guardar en el local storage una variable con los datos del usuario que se ha logueado, incluido el token, si existe esta variable permito el acceso. En cada petición al servidor envio el token y si no coincide o ha caducado llamo a logout.

auth.acceso_token = response.data.acceso_token;
auth.user_id = response.data.user_id;
window.localStorage.setItem('auth_miproject', JSON.stringify(auth));

Cuando hago el logout lo que hago es destruir esta variable.

localStorage.removeItem('auth_miproject');

#4

Ok, y cual es la pregunta o el problema?