axios express設置跨域允許傳遞cookie


通常我們后端這樣設置跨域頭

服務端將響應頭設置成Access-Control-Allow-Origin:域名

有時,前端需要向后端發送cookie來進行身份驗證

此時,服務器還需向響應頭設置Access-Control-Allow-Credentials:true,表示跨域時,允許cookie添加到請求中。
另外設置Access-Control-Allow-Credentials:true后,要將Access-Control-Allow-Origin指定到具體的域,否則cookie不會帶到客戶端。

在express中如何設置

npm install cors
var cors = require('cors')
app.use(cors({credentials: true, origin: 'http://localhost:3002'}));

XMLHttpRequest的withCredentials標志設置為true,從而使得Cookies可以隨着請求發送。因為這是一個簡單的GET請求,所以瀏覽器不會發送一個“預請求”。但是,如果服務器端的響應中,如果沒有返回Access-Control-Allow-Credentials: true的響應頭,那么瀏覽器將不會把響應結果傳遞給發出請求的腳步程序,以保證信息的安全

在axios中這樣設置

axios.defaults.withCredentials = true


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM