快递API | Heroku - JWT(错误 - 秘密或私钥必须有一个值)
Express API | Heroku - JWT (error - secret or private key must have a value)
我将 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");
}
};
部分图片错误-
Error in Heroku logs --tails
error is browser
PS:我为变量设置了 .env,但由于出现应用程序错误,为了延迟的缘故,我把它们去掉了。
谢谢你!感谢帮助。
您是否已将环境变量添加到 heroku 配置变量中?
如果没有,请按照 heroku 文档进行操作。
https://devcenter.heroku.com/articles/config-vars
您可以使用 heroku cli 或使用 heroku 仪表板添加变量。请参阅文档以获取详细说明。
我将 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");
}
};
部分图片错误-
Error in Heroku logs --tails
error is browser
PS:我为变量设置了 .env,但由于出现应用程序错误,为了延迟的缘故,我把它们去掉了。 谢谢你!感谢帮助。
您是否已将环境变量添加到 heroku 配置变量中?
如果没有,请按照 heroku 文档进行操作。
https://devcenter.heroku.com/articles/config-vars
您可以使用 heroku cli 或使用 heroku 仪表板添加变量。请参阅文档以获取详细说明。