Проверить авторизован ли пользователь

Реализовал авторизацию на vue.js + php. На стороне клиента посылаю запрос на сервер и в ответ получаю jwt токен и храню его в localStorage. Это часть работает нормально. Возник вопрос как мне проверить авторизацию пользователя (например, чтобы скрыть некоторые кнопки)?


Ответы (1 шт):

Автор решения: Ilia Brykin

Вот вам простенький пример для авторизации с VUEX. На основе переменной user вы можете проверять авторизацию.

Vue.use(Vuex);
const store = new Vuex.Store({
  state: {
    user: undefined,
  },
  mutations: {
    setUser(state, { user }) {
      state.user = user;
    },
  }
});

new Vue({
  el: '#app',
  template: `
    <div>
      <button type="button" @click="setUser">Set User</button>
      <div>USER: {{ user }}</div>
    </div>
  `,
  computed: {
    user() {
      return store.state.user;
    }
  },
  methods: {
    setUser() {
      store.commit("setUser", { user: { id: 1 } });
    },
  },
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/vuex/3.2.0/vuex.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.16/vue.js"></script>
<div id="app"></div>

→ Ссылка