1

我正在使用 VueJS 和 Electron 构建一个应用程序,现在我正在尝试使用该@websanova/vue-auth包创建一个登录名,并且一切顺利(登录、注销、路由保护等)我唯一坚持的是每次我登录并刷新或重新启动电子,它让我回到登录页面。奇怪的是,它成功刷新了令牌,如果我查看本地存储,它会更新,当我尝试使用 REST 客户端发出手动请求时,令牌可以工作。我只是无法使用该令牌进入应用程序。

我正在使用最新版本的VueJSvue-router和截至今天(2016vue-resource@websanova/vue-auth9 月 19 日)。

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

谢谢, 卢克

4

1 回答 1

0

如果你设置

Vue.use(Auth, {
   router: Router,
   http: Vue.$http,
   tokenExpired: () => {
     return false
   }
})

设置tokenExpired为返回 false,像这样,您将一起跳过令牌刷新,这还不错。缺点是您的客户将在某个时候拥有过期的令牌,并将被迫重新登录。

另一种方法是尝试检查令牌何时到期并据此刷新。

于 2016-10-06T13:51:02.837 回答