护照没有设置饼干

发布于 2025-02-06 12:53:30 字数 940 浏览 1 评论 0原文

如果我在Localhost中打开Express和React Server,则效果很好。但是,如果我在AWS(HTTP)中打开Express Server,则未设置Cookie。

这是我的Express index.ts代码。

const app = express();

app.use(express.json());
app.use(express.urlencoded({ extended: true }));

app.use(
  session({
    secret: sessionSecret,
    resave: false,
    saveUninitialized: false,
    cookie: {
      secure: false,
      sameSite: "none",
    },
  })
);

app.use(cors({ origin: frontendOrigin, credentials: true }));
app.use(passport.initialize());
app.use(passport.session());

app.use("/", router);
app.listen(8000, () => {
  console.log("Server has been started...");
});

我尝试删除cookie在Express-Session中的选项,Origin:trueonement:False CORS中的false 。

我喜欢这样的

const res = await fetch(`${backend}/api/profile`, {
  credentials: "include",
});

原因,为什么它只能在Localhost中起作用? OFC我打开了AWS端口8000。

if i open express and react server in localhost, it works well. but if i open express server in aws(http), the cookie is not set.

here is my express index.ts code.

const app = express();

app.use(express.json());
app.use(express.urlencoded({ extended: true }));

app.use(
  session({
    secret: sessionSecret,
    resave: false,
    saveUninitialized: false,
    cookie: {
      secure: false,
      sameSite: "none",
    },
  })
);

app.use(cors({ origin: frontendOrigin, credentials: true }));
app.use(passport.initialize());
app.use(passport.session());

app.use("/", router);
app.listen(8000, () => {
  console.log("Server has been started...");
});

i tried remove cookie options in express-session, origin: true and origin: false in cors.

and i fetch like this

const res = await fetch(`${backend}/api/profile`, {
  credentials: "include",
});

why it only works in localhost? ofc i opened aws port 8000.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文