所以在我的应用程序的Authentication
章中,我有一些问题。
首先,我有多个组件/路由,其中两个是register
和login
。
Register
使用我的api可以正常工作,作为响应,我得到了username
和account_id
,它们都存储在数据库中。
当尝试进行log in
时,作为响应,我得到username
和token
。现在,当我访问网站中的其他路由时,只有登录后才能访问,我需要检测是否存在令牌。我该如何使它像具有token
值的全局变量,并且可以被其他组件轻松访问?
答案 0 :(得分:1)
将令牌存储在cookie / localstorage中,如果您正在使用vuex,则也可以将其存储在状态中。
如果您正在使用Axios或任何其他工具来进行Ajax请求,则可以在标头中传递令牌,然后只需从cookie / localstorage中提取即可。
state: {
token: Cookie.getJSON('token') || null,
},
mutations: {
setToken: (state, data) => {
state.token = data
Cookie.set('token', data)
}
},
actions: {
setToken (context, data) {
context.commit('setToken', data.token)
}
}