axios跨域訪問eggjs的坑egg-cors egg-passport passport-local session傳遞問題


在同一機器上寫前端和后端,前端使用webpack-dev-server啟動,后端直接在eggjs項目目錄下使用npm run dev啟動,這種情況下,前端訪問后端就是跨域訪問。
eggjs提供了一個跨域插件egg-cors,官方相關示例配置如下:
// {app_root}/config/config.default.js
exports.cors = {
// {string|Function} origin: '*',
// {string|Array} allowMethods: 'GET,HEAD,PUT,POST,DELETE,PATCH'
};
要讓axios自動發送服務器cookie,必須將axios設置添加上withCredentials:true,這時候,egg-cors配置中origin就不能配置為'*',否則會沖突,應該配置成前端地址(比如我的設置成http://localhost:9528),allowMethods根據需要配置,僅僅這樣還不行!!!
這里egg-cors的配置還:
必須加上credentials:true!
這個坑爬了很長時間,在此記錄下,希望能幫助其他掉入此坑的朋友快速爬出來。


免責聲明!

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



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