【发布时间】:2020-08-24 06:25:28
【问题描述】:
当我在 Heroku 上部署 Node.js API 时,它给了我一个错误的响应。
res.json({"user":user,"auth-token":token});
localhost:3000/auth/login
{
"user": {
"email": "name1@gmail.com",
"username": "name1",
"fullname": "fullname 1"
},
"auth-token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyaWQiOiI1ZjMxN2I0OTFhZTc4YzFjOWNjMjZjZWUiLCJ1c2VybmFtZSI6Im5pa2hpbGt1bWEiLCJmdWxsbmFtZSI6Ik5pa2hpbCBrdW1hciBTaW5naCIsImlhdCI6MTU5ODI0OTA3M30"
}
在heroku上部署后
name.herokuapp.com/auth/login
{
"user": {
"email": "name1@gmail.com",
"username": "name1",
"fullname": "fullname 1"
}
}
【问题讨论】:
-
你能展示一下你是如何获得令牌的代码吗?
-
你能给我看看 .env 文件和令牌生成代码吗?
-
看起来
token是假的,因此它从最终响应中删除。部署在 heroku 上时,能否检查 JWT 令牌生成是否正常工作? -
@Prathamesh 更感谢。出现问题是因为我在 .env 文件
jwt.verify(token,process.env.JWT_SECRET_KEY);中使用了 jwt 密钥提及,而我只是用简单的字符串jwt.verify(token,"sdfahflkhow8e90fr980");替换它工作正常。 -
嘿,我添加了一个解决方案!不要在 Heroku 上上传 .env 文件。 Heroku 有
Config Vars。
标签: node.js express heroku httpresponse heroku-api