NodeJS 如何在cookie中保存jwt令牌

j9per5c4  于 2022-11-22  发布在  Node.js
关注(0)|答案(1)|浏览(160)

如何将此jwt令牌保存在我的cookie中?
试了这么多次我还是没在饼干里看到
我不知道错误来自何处
此外,我没有得到任何错误或警告
这是我的authController代码

const token = jwt.sign(
            {
              id: userCreate._id,
              email: userCreate.email,
              userName: userCreate.userName,
              image: userCreate.image,
              registerTime: userCreate.createdAt,
            },
            process.env.SECRET,
            {
              expiresIn: process.env.TOKEN_EXP,
            }
          );
          const options = {
            expires: new Date(
              Date.now() + process.env.COOKIE_EXP * 24 * 60 * 60 * 1000
            ),
          };
          res.status(201).cookie("authToken", token, options).json({
            successMessage: "Your Registration is successful",
            token,
          });
        } else {
          res.status(500).json({
            error: {
              errorMessage: ["Internal server error"],
            },
          });
        }

那么这就是我的服务器js
这里我传递bodyParser和cookieParser

const bodyParser = require("body-parser");
const cookieParser = require("cookie-parser");
const { readdirSync } = require("fs");
const dotenv = require("dotenv");
const { handleNotFound } = require("./utils/helper");
const { errorHandler } = require("./middlewares/error");
dotenv.config();
const app = express();

app.use(bodyParser.json());
app.use(cookieParser());
app.use(cors());
app.use(bodyParser.urlencoded({ extended: false }));
ulydmbyx

ulydmbyx1#

设置credentials:include属性到你的前端fetch方法中,这个方法用来和这个路由交互。或者如果你使用axios,把属性withCredentials设置为true

相关问题