我正在跌跌撞撞地学习如何使用Nuxt-Auth,目前我有一个与JWT合作的本地化策略。我现在希望在调用数据库之前获取当前用户(通过express在服务器上)。
我的第一个想法是解析请求头部中的JWT并获取存储的用户id。但是,既然我使用的是nuxt-auth中间件,那么是否有可用的内置方法呢?nuxt-auth的文档特别少。
简而言之,我知道如何使用nuxt-auth获取客户端的当前用户。有没有服务器端的方法?给我指点任何文档都会非常有帮助。谢谢!
发布于 2020-04-28 00:30:06
搜索nuxt-auth解决方案没有产生任何结果,所以我选择编写一个简单的express中间件来解码JWT,并在请求对象中包含有效负载(包含用户信息)。
编辑:根据@kamal的请求:
const jsonwebtoken = require('jsonwebtoken')
const tokenSecret = 'whateversecrethere'
const accessTokenExpiry = 15 * 1000 // 15 seconds
// @param user {object} - contains user information. eg: { id, name, email }
// returns {object} - access token and refresh token
_createJWTs(user) {
try {
let refreshTokenID = Math.floor(Math.random() * (1000000000000000 - 1 + 1)) + 1
let refresh = { userID: user.id, tokenID: refreshTokenID }
let accessToken = jsonwebtoken.sign(user, tokenSecret, { expiresIn: accessTokenExpiry })
let refreshToken = jsonwebtoken.sign(refresh, tokenSecret)
return { accessToken, refreshToken }
} catch (err) {
console.log(err)
}
}https://stackoverflow.com/questions/61312946
复制相似问题