簡體   English   中英

MERN項目| Heroku 不設置客戶端 cookie

[英]MERN project | Heroku doesn't set client-side cookie

我的 MERN 項目在本地運行良好,但是當我部署它時,在獲取用戶時出現 401 錯誤。 Heroku 不設置客戶端 cookie。 然后我首先在谷歌上搜索我將我的 cookie-session 更改為 express-session 和其他一些配置,但它仍然無法在 Heroku 上工作。 https://github.com/olcaykaplan/passport_google

核心:

app.use(
  cors({
    origin: "http://localhost:3000",
    credentials: true,
    methods: "GET,HEAD,PUT,PATCH,POST,DELETE",
    allowedHeaders: ['Content-Type', 'Authorization']

  })
);

快速會話:

    app.use(
  express.session({
    secret: "secret",
    resave: false,
    saveUninitialized: true,
    store: sessionStore,
    proxy: true,
    cookie: {
      httpOnly:true,
      secure: true,
      maxAge: oneDay,
    },
  })
);

在此處輸入圖片說明

在此處輸入圖片說明

如果您的客戶端在本地工作,請將安全值更改為 false,刪除代理和相同站點

該項目在以下 cors 和會話信息下運行良好

app.use(
  cors({
    origin: "netlify url",
    credentials: true,
    methods: "GET,HEAD,PUT,PATCH,POST,DELETE",
    allowedHeaders: ['Content-Type', 'Authorization']

  })
);
const oneDay = 1000 * 60 * 60 * 24; // Equals 1 day (1 day * 24 hr/1 day * 60 min/1 hr * 60 sec/1 min * 1000 ms / 1 sec)
app.use(cookieParser("secret"));
app.use(
  express.session({
    secret: "secret",
    resave: false,
    saveUninitialized: true,
    store: sessionStore,
    proxy: true, 
    cookie: {
      sameSite:"none", 
      //path: "/",
      httpOnly:true,
      secure: true, 
      maxAge: oneDay,
    },
  })
);

暫無
暫無

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

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