Express API | Heroku-JWT(错误-密钥或私钥必须有值)



我将API部署到Heroku,当我尝试使用它时(登录(。我犯了一些错误。

我的代码-

const express = require("express");
const app = express();
const mongoose = require("mongoose");
const dotenv = require("dotenv");
const cors = require("cors");
// IMPORT FILES
const user = require("./routes/user");
// MONGOOSE CONNECTION
mongoose.connect(
"CONNECTION URL HERE",
{ useNewUrlParser: true },
() => {
console.log("Connected to DB");
}
);
// MIDDLEWARE CONFIGS
app.use(cors());
app.use(express.json());
app.use(express.urlencoded({ extended: false }));
mongoose.Promise = global.Promise;
// ROUTES REDIRECTION
app.use("/", user);
// SERVER
const server = app.listen(process.env.PORT || 8080, () => {
const port = server.address().port;
console.log(`Server is running on port ${port}`);
});

JWT文件

const jwt = require("jsonwebtoken");
module.exports = function (req, res, next) {
const token = req.header("token");
if (!token) return res.status(401).send("please login again");
try {
const verify = jwt.verify(token, "JWT SECRET HERE");
req.user = verify;
next();
} catch (err) {
res.status(400).send("invalid token");
}
};

错误的一些图片-

Heroku日志中的错误--跟踪

错误是浏览器

PS:我有.env作为变量,但为了支付费用,我把它们去掉了,因为我得到了应用程序错误。非常感谢。感谢您的帮助。

您是否已将环境变量添加到heroku-config-vars中?

如果没有,请按照heroku文档进行操作。

https://devcenter.heroku.com/articles/config-vars

您可以使用heroku-cli或使用heroku仪表板来添加变量。有关详细说明,请参阅文档。

最新更新