NextJS httpsOnly cookie JWT Auth



我正在尝试为我的应用程序使用 JWT 身份验证,并将令牌保存为 httpOnly cookie 以用于后续请求。这些请求在失眠中工作,设置然后使用 cookie 登录,但在我的 NextJS 前端不起作用。

我的前端在 localhost:3000,我的后端在 localhost:3001,但我设置了 cors。

app.use(
cors({
origin: "http://localhost:3000",
optionsSuccessStatus: 200,
credentials: true,
})
);
app.use(cookieParser());

登录后,我对数据的请求如下所示:

const options = {
method: "POST",
headers: {
"Content-Type": "application/json",
},
credentials: "include",
body: JSON.stringify(data),
};
fetch(url, options)
.then((res) => res.json())
.then((res) => {
// Do stuff
});

在服务器上,我使用

res.cookie("token", token, {
httpOnly: true,
secure: true,
});

但是当我在服务器上控制台登录req.cookies.token以进行数据请求时,我得到了undefined.我做错了什么,阻止了 cookie 的设置/发送?

或者这与本地主机没有设置 cookie 有关?我以为这不适用于httpOnly cookie。谢谢!

>您正在为 cookie 设置secure参数。这意味着,如果与您的后端的连接不是通过SSL的,浏览器将丢弃cookie。

您必须将后端配置为使用 SSL(可能带有一些自签名证书)或将 cookie 上的secure参数设置为false

最新更新