簡體   English   中英

當使用與應用程序不同的端口時,Express session 不會在瀏覽器上設置 cookie

[英]Express session does not set cookie on browser when using different port than application

我的反應應用程序在 localhost:3000 和我的節點服務器 api 在 localhost:9000 上運行

app.use(cors());

app.use(session({
    secret: 'secret'
    resave: false,
    saveUninitialized: false,
    cookie: {
        domain: 'localhost',
        secure: false
    },
    store: new MongoStore({
        mongooseConnection: db,
        autoRemoveInterval: 1,
        ttl: 259200 // 3 days
    })
}));

當用戶進行身份驗證時,這僅在我從 localhost:9000 而不是從 localhost:3000 提供我的應用程序時才有效。 我知道規則是瀏覽器不會從不同的域設置 cookies 。 但是有沒有一種方法可以在不使用瀏覽器中的本地或 session 存儲的情況下實現我的嘗試?

這可以在 create-react-app 中解決

https://create-react-app.dev/docs/proxying-api-requests-in-development/#configuring-the-proxy-manually

我最終遵循了這一點,並且效果很好。 我還在我的開發服務器上啟用了 cors 進行開發。

暫無
暫無

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

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