首頁 > 後端開發 > Golang > 為什麼我的 HTTPOnly Cookie 沒有在本機上設定?

為什麼我的 HTTPOnly Cookie 沒有在本機上設定?

Susan Sarandon
發布: 2024-11-25 05:02:11
原創
904 人瀏覽過

Why Aren't My HTTPOnly Cookies Being Set on Localhost?

瀏覽器本地主機中未設定HTTPOnly Cookie

問題:

問題:

API 的登入端點發送包含有效負載(JWT) 的HTTPOnly cookie,但該cookie並未被在瀏覽器中設定。這種方法多年來一直有效,但最近停止了。該問題與本機主機環境無關。 Postman 測試確認 cookie 按預期設定。

  • 使用的方法:
在 Go Fiber 和 Node Express 中實作登入端點的核心要素。

將前端剝離為基本登入

調查:

Go 和Node API 都正確地發送設定了HTTPOnly 標誌的Set-Cookie標頭。這表示問題可能出在瀏覽器或 fetch() 方法。

解決方案:

透過新增憑證:「include」屬性解決了問題到前端 JavaScript 中的 fetch() 方法。此屬性指示瀏覽器傳送和接收 cookie。

原因:

HTTPOnly cookie 旨在防止客戶端 JavaScript 存取 cookie 的內容。預設情況下,瀏覽器會透過不在 XHR 或 fetch() 請求中傳送 cookie 來支援這一點。透過新增憑證:「include」屬性,瀏覽器被明確告知將 cookie 與請求一起傳送,從而允許伺服器接收它並進行適當的設定。

  • 附加說明:
如果使用 Axios 進行 HTTP 請求,它會自動在其配置中包含憑證。 對於 Node Express,您可能還需要在請求配置中設定 withCredentials: true 以允許瀏覽器設定 cookie。

以上是為什麼我的 HTTPOnly Cookie 沒有在本機上設定?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板