前端跨域攜帶cookie問題

2022-08-13 12:18:19 字數 577 閱讀 2643

access-control-allow-origin為*的時候,前端設定withcredentials:true,將不能傳送cookie到服務端。

此外,前端要傳送cookie到服務端,還要 xmlhttprequest 的 withcredentials 標誌設定為 true,且

伺服器端的響應中未攜帶access-control-allow-credentials: true。

xmlhttprequest 的 withcredentials 標誌設定為 true,是為了客戶端向服務端傳送cookie,

響應中access-control-allow-credentials: true,是為了客戶端能夠接收cookie,無此標記,瀏覽器將不會把響應內容返回給請求的傳送者。

因此,前端要攜帶cookie到服務端,需要三個條件:

1. access-control-allow-origin不能為*,應為具體網域名稱

2. 服務端access-control-allow-credentials應為true

3. 客戶端xmlhttprequest 的 withcredentials=true

跨域請求攜帶cookie

之前寫過乙個第三方登入的方案,就是利用tomcat session和cookie配合的方式來完成第三方跨域登入。在時間做的過程中碰到了乙個問題,就是在回寫瀏覽器的cookie時發現一直寫不進去,針對這個問題做了仔細的檢查,原來的採用ajax傳送跨域請求的時候預設是不會攜帶cookie的,如果需要允許...

ajax 跨域攜帶COOKIE

背景 專案中用pdf.js外掛程式開啟pdf流文件 這個問題屬於ajax跨域攜帶cookie的問題,找了一篇博文的解決方案。1,原生ajax請求方式 xhr.withcredentials true 支援跨域傳送cookies xhr.send 2,jquery的方法請求 ajax crossdom...

CORS 跨域攜帶 Cookie 傳送請求

當在 a.com 進行訪問時,如何向 b.com 攜帶 b.com 的 cookie 傳送乙個請求?a.com 是乙個第三方 需要通過訪問 b.com 的介面來獲取使用者的一些資訊。這時候,b.com 上的使用者已經登入了。我們知道,在傳送跨域請求時,需要後端設定一些請求頭,否則瀏覽器不會允許客戶端...