服務(wù)器端如何使用CORS來(lái)允許設(shè)置Cookie
跨域請(qǐng)求能夠設(shè)置Cookie
當(dāng)你使用CORS(跨源資源共享)時(shí),如果你希望跨域請(qǐng)求能夠設(shè)置Cookie,需要滿足以下幾個(gè)條件:
- 服務(wù)器端需要在響應(yīng)頭中設(shè)置
Access-Control-Allow-Credentials
為true
。這表示服務(wù)器允許客戶端在跨域請(qǐng)求中攜帶憑證(包括Cookies和HTTP認(rèn)證信息)。
Node.js中使用Express框架
例如,如果你在Node.js中使用Express框架,可以這樣設(shè)置:
app.use(function(req, res, next) { res.header('Access-Control-Allow-Credentials', true); next(); });
- 客戶端發(fā)起請(qǐng)求時(shí),也需要設(shè)置
withCredentials
為true
。這表示客戶端在發(fā)起跨域請(qǐng)求時(shí)會(huì)攜帶憑證。
瀏覽器中使用Fetch API
例如,如果你在瀏覽器中使用Fetch API,可以這樣設(shè)置:
fetch(url, { credentials: 'include' });
- 另外,當(dāng)
Access-Control-Allow-Credentials
設(shè)置為true
時(shí),服務(wù)器端不能將Access-Control-Allow-Origin
設(shè)置為*
,必須指定具體的域名。例如:
app.use(function(req, res, next) { res.header('Access-Control-Allow-Origin', 'http://example.com'); res.header('Access-Control-Allow-Credentials', true); next(); });
以上就是使用CORS來(lái)允許設(shè)置Cookie的方法詳細(xì)內(nèi)容,更多關(guān)于CORS來(lái)允許設(shè)置Cookie的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
vscode內(nèi)網(wǎng)訪問(wèn)服務(wù)器的方法
這篇文章主要介紹了vscode內(nèi)網(wǎng)訪問(wèn)服務(wù)器的相關(guān)知識(shí),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-06-06Svn安裝和使用_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理
這篇文章主要介紹了Svn安裝和使用,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-08-08Git發(fā)現(xiàn)git push origin master 報(bào)錯(cuò)的解決方法
本篇文章主要介紹了Git發(fā)現(xiàn)git push origin master 報(bào)錯(cuò)的解決方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-11-11cwrsync invalid uid nobody 解決方法
這篇文章主要介紹了使用rsync/cwrsync工具進(jìn)行檔案同步的時(shí)候出現(xiàn)invalid uid nobody錯(cuò)誤的解決方法,需要的朋友可以參考下2016-03-03ubuntu 服務(wù)器中文亂碼問(wèn)題的解決方法
這篇文章主要介紹了ubuntu 服務(wù)器中文亂碼問(wèn)題的解決方法,需要的朋友可以參考下2018-03-03