簡體   English   中英

為什么 res.cookie 是從郵遞員工作的,而不是從瀏覽器工作的?

[英]Why res.cookie is working from postman and doesn't from browser?

我試圖在登錄后從我的 nodejs 服務器設置一個令牌。 我的客戶端是反應應用程序,我使用 axios 發出發布請求。

當我嘗試從郵遞員登錄時,我在 cookie 中看到了令牌,但在瀏覽器中沒有 cookie。

這是服務器:

res.cookie("token", token, { httpOnly: true }).sendStatus(200);

這是客戶端:

  return axios.post(serviceUrl + "auth/login", data).then(response => {
    return response.data;
  });

我認為原因可能是當您嘗試設置 cookie 時沒有傳遞域選項。 請嘗試傳遞domain : "\\"選項,如

res.cookie("token", token, { httpOnly: true, domain : '\' }).sendStatus(200);

我想到了。 Chrome 不會在本地主機中設置 cookie。 我檢查了邊緣,它按預期工作。

默認情況下,不會為本地主機 (Chrome) 存儲 cookie。 如果你想解決這個問題,你可以簡單地在 chrome 開發工具中添加密鑰。 轉到應用程序>存儲>Cookies並將“令牌”粘貼在里面。

暫無
暫無

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

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