httponly cookie with react nodejs通过应用网络ip地址

问题描述 投票:0回答:1

I具有nodejs后端的React-App应用程序,该App-s后端通过使用httponly cookie来处理身份验证/授权。 我创建了一个静态站点并将其部署在Nodejs Backend应用程序上,并且可以解决LocalHost,但不能使用我的本地网络IP地址。 当我使用网络IP地址时,cookie是在浏览器中创建的,但每个请求不会发送到服务器

在此处使用的代码是后端使用的代码:

...
res.cookie("myAppjwt", token, {
          httpOnly: true,
          sameSite: "None",
          secure: true,
          maxAge: 24 * 60 * 60 * 1000,
        });
...
const app = express();
const allowedOrigins = [
  "http://127.0.0.1:8003",
  "http://localhost:8003",
  "http://MY_NETWOK_IP:8003",
];
app.use((req, res, next) => {
  const origin = req.headers.origin;
   if (allowedOrigins.includes(origin)) {
    res.header("Access-Control-Allow-Credentials", true);
  }
  next();
});
app.use(
  cors({
    origin: allowedOrigins,
    credentials: "true",
  })
);
...
the the前端使用的代码是:

... const response = await axios.get(API_URL,{ withCredentials: true }); ...
    
reactjs node.js authentication cookies httponly
1个回答
0
投票
您的cookie被标记为

secure

意味着cookie只能通过安全连接发送,即

https://

浏览器对Localhost有一个例外,并通过HTTP发送安全的cookie,只是为了使我们的开发人员的生活更轻松。但是,当您使用IP地址时,浏览器对真实域的行为会像实际域一样行为。
您可以在这里阅读更多有关它的信息:
https://developer.mozilla.org/en-us/docs/web/http/cookies#block_access_to_your_cookies

    

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.