【发布时间】:2020-11-17 04:42:13
【问题描述】:
我正在使用以下代码生成 JWT 令牌:
jwt.sign(id, TOKEN_SECRET, { expiresIn: '24h' });
生成后,我将令牌发送给客户端,客户端将其存储在 cookie 中:
document.cookie = `session=${token}` + ';' + expires + ';path=/'
此外,我正在使用 vue.js 路由器进行导航。据我了解,如果在路由器文件中添加以下代码,可以插入中间件以保护某些路由。
router.beforeEach((to, from, next) => {
if (to.meta.requiresAuth) {
let token = Vue.cookie.get('session')
if (token == null) {
next({
path: '/',
params: { nextUrl: to.fullPath }
})
}
} else {
next()
}
})
但是,我很难理解如何使用这种方法验证 JWT 令牌的有效性,这需要在存储 TOKEN_SECRET 的服务器上而不是在客户端上完成。
【问题讨论】:
标签: javascript node.js vue.js jwt vue-router