簡體   English   中英

Axios 在 Heroku 部署的 MERN 應用程序中未收到 cookies

[英]Axios not receiving cookies in Heroku deployed MERN application

我在 Heroku 上部署了一個 Node/Express 服務器,我用它來發送 httpOnly cookies 來存儲 JWT。 我一直在使用 Axios 來設置 cookies,同時將我的 React 應用程序托管在端口 3000 上,並將 Express 服務器托管在端口 5000 上。

React 應用程序中的 Axios 配置

const myAxios = axios.create({
  withCredentials: true,
  baseURL: "http://localhost:5000/",
});

Express App的index.js

app.use(cors({ origin: true, credentials: true }));

This has been working fine until I deployed my app to Heroku and switched my Axios config to use baseURL:http://app-name.herokuapp.com . 我現在不再收到 cookies(對於 GET 和 POST 請求)。 如果我直接在 Chrome 或 Postman 中訪問http://app-name.herokuapp.com/get-cookie-endpoint ,我仍然會得到 cookies。 但是,當我嘗試從 localhost:3000 上的 React 應用程序調用myAxios.get('/get-cookie-endpoint)時,我不再收到 cookie。 我檢查了 XHR 請求,但仍然收到 Set-Cookie 響應 header。

有任何想法嗎? 我已經嘗試了許多不同的 Axios 和 CORS 設置,但似乎沒有任何效果。

嘗試添加sameSite = 'none'; 在 cookie object 中。 我遇到了這個問題,它對我有用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM