express - Nuxt Auth + Express:获取登录用户?
问题描述
我在学习如何使用 Nuxt-Auth 的过程中磕磕绊绊,目前我有一个使用 JWT 的本地策略。我现在希望在调用数据库之前获取当前用户(通过 express 在服务器上)。
我的第一个想法是解析请求标头中的 JWT 并获取存储的用户 ID。但是,看到我使用的是 nuxt-auth 中间件,也许有一个内置的方法可用?nuxt-auth 的文档特别简单。
简而言之,我知道如何使用 nuxt-auth 在客户端获取当前用户。有服务器端的方法吗?向我指出任何文档都会非常有帮助。谢谢!
解决方案
搜索 nuxt-auth 解决方案没有产生任何结果,因此我选择编写一个简单的快速中间件来解码 JWT 并将有效负载(包含用户信息)包含在 req 对象中。
编辑:根据@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)
}
}
推荐阅读
- reactjs - react-native 56.0 更新:快照测试不同
- python-3.x - Spyder Python 3.6 窗口大小
- google-cloud-platform - 在 Spanner 上的 Left Join 性能
- c# - MVC 外部 url 文件路径等价于 Server.MapPath
- python - 在 ec2 和 boto3 中使用过滤器的混乱
- jquery - 基于Jquery切换更改输入
- powershell - 从 CSV 重命名工作组计算机
- amazon-web-services - AWS Glue 跳过文件夹
- python - Python 3 中“字符串索引超出范围”的奇怪解决方案 - 不知道为什么?
- rest - 我无法让 PUT 在 Spring Data REST 中工作