我如何访问 vuex 商店中的 vue-cookies?

How can I access vue-cookies in a vuex store?

在一个动作中,我在做:

this.$cookies.set("token", response.token, "7d");
this.$cookies.set("UserId", response.UserId, "7d");

可惜$cookies没有定义

您可以安装 js-cookie 库,然后在 vuex 商店中像这样访问 cookie:

import Cookies from 'js-cookie'

const getters = {
  isLoggedIn: function (state) {
    return !!state.email && !!Cookies.get('access_token')
  }
}

你可以做到(在 store.js

import Vue from 'vue'

...

someAction () {
    Vue.prototype.$cookies.set("token", response.token, "7d");
}

在您的应用中使用 vue-cookies

在您的 store.js 中,您可以

import cookie from 'vue-cookies'

.....

action(){
   cookie.get('token');
}

绝不允许 JS 访问 JWT cookie。这为您打开了很多安全漏洞。永远不应实施已接受的答案。

仅对生产应用程序使用仅 http 和安全 cookie。如果您正在构建生产环境,请重新设计此部分