为了登录,我将调用第三方API,该API将向我提供访问令牌。
这是我的包含vuex的store.js代码
/* eslint-disable */
import Vue from 'vue'
import Vuex from 'vuex'
Vue.use(Vuex)
export default new Vuex.Store({
strict: true,
state: {
token: null,
isUserLoggedIn: false,
userEmailAddress: null
},
mutations: {
setToken (state, token) {
state.token = token
if (token) {
state.isUserLoggedIn = true
} else {
state.isUserLoggedIn = false
this.$router.push('login')
}
},
setEmailAddress (state, emailAddress) {
state.userEmailAddress = emailAddress
}
},
actions: {
setToken ({commit}, token) {
commit('setToken', token)
},
setEmailAddress ({commit}, emailAddress) {
commit('setEmailAddress', emailAddress)
}
}
})
由于我没有使用护照,即使刷新页面后如何使用户保持登录状态?
答案 0 :(得分:1)
您可以将令牌存储在localStorage中,即localStorage.setItem("token", token)
。应用加载后,您可以使用localStorage.getItem("token")
检查令牌是否存在,并可能还要检查其有效性。
编辑: 实际上有一个很好的教程,介绍了如何使用我提到的技术来详细实现这一目标:https://medium.com/front-end-hacking/persisting-user-authentication-with-vuex-in-vue-b1514d5d3278