我正在使用VueJS和Electron构建一个应用程序,现在我正在尝试使用@websanova/vue-auth
包创建一个登录,一切顺利(登录,注销,路由保护等等)唯一的事情我坚持认为,每当我登录并刷新或重新启动电子时,它就会把我踢回登录页面。奇怪的是,它成功刷新了令牌,如果我查看localstorage它会被更新,当我尝试使用REST客户端进行手动请求时,令牌可以正常工作。我无法使用该令牌进入应用程序。
截至今日(19-sep-2016),我正在使用最新版本的VueJS
,vue-router
,vue-resource
和@websanova/vue-auth
。
API端是Laravel 5.3安装,我使用tymondesigns/jwt-auth
包来处理JWT令牌。
这就是我使用路线的方式:
'/': {
auth: true,
name: 'dashboard',
component: HomeView
},
'/login': {
auth: false,
name: 'login',
component: LoginView
}
正在使用browserify和vueify编译视图。
我的登录功能是这样的:
this.$auth.login({
body: this.body,
success: function () {
this.loading = false;
},
error: function () {
this.error.status = true;
this.loading = false;
this.body.password = '';
},
rememberMe: true
});
如果您需要更多信息以便能够帮助我,请告诉我。
修改:如果你想看看,这里是回购的链接:
API:https://github.com/luukhoeben/rmi-app-api
电子应用:https://github.com/luukhoeben/rmi-app-electron
谢谢, Luuk
答案 0 :(得分:0)
如果您设置
Vue.use(Auth, {
router: Router,
http: Vue.$http,
tokenExpired: () => {
return false
}
})
设置tokenExpired
返回false,就像这样,你将一起跳过令牌刷新,这并不是那么糟糕。缺点是您的客户在某些时候会有一个过期的令牌,并将被迫重新登录。
另一种方法是尝试检查令牌何时到期并根据该值进行刷新。