快递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 仪表板添加变量。请参阅文档以获取详细说明。