本篇內(nèi)容介紹了“cookie跨域共享的使用方法”的有關(guān)知識,在實(shí)際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!
創(chuàng)新互聯(lián)主打移動網(wǎng)站、網(wǎng)站建設(shè)、做網(wǎng)站、網(wǎng)站改版、網(wǎng)絡(luò)推廣、網(wǎng)站維護(hù)、域名注冊、等互聯(lián)網(wǎng)信息服務(wù),為各行業(yè)提供服務(wù)。在技術(shù)實(shí)力的保障下,我們?yōu)榭蛻舫兄Z穩(wěn)定,放心的服務(wù),根據(jù)網(wǎng)站的內(nèi)容與功能再決定采用什么樣的設(shè)計(jì)。最后,要實(shí)現(xiàn)符合網(wǎng)站需求的內(nèi)容、功能與設(shè)計(jì),我們還會規(guī)劃穩(wěn)定安全的技術(shù)方案做保障。
需要解決前端pc跟服務(wù)端(java),跨域后都能獲取到同一個cookie。
使用二級域名共享cookie有一個限制條件,就是兩個域名的二級域名必須相同
前端pc訪問域名:a.b.com
后端接口域名:a-gateway.b.com
這兩個域名同屬一個二級域名:b.com
服務(wù)器nginx增加以下配置,即可解決跨域訪問的問題。也可以在程序中通過代碼解決跨域訪問。
nginx配置文件
location / { #是否允許跨域發(fā)送Cookie add_header Access-Control-Allow-Credentials true; add_header Access-Control-Allow-Origin 'http://a.b.com'; add_header Access-Control-Allow-Methods 'GET, POST, OPTIONS'; add_header Access-Control-Allow-Headers 'DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authorization'; if ($request_method = 'OPTIONS') { return 204; } }
如果需要允許跨域攜帶發(fā)送cookie的話,nignx則需要以下參數(shù)配置
nginx配置
"Access-Control-Allow-Credentials":可選字段。它的值是一個布爾值,表示是否允許發(fā)送Cookie。默認(rèn)情況下,Cookie不包括在CORS請求之中。設(shè)為true,即表示服務(wù)器明確許可,Cookie可以包含在請求中,一起發(fā)給服務(wù)器。這個值也只能設(shè)為true,如果服務(wù)器不要瀏覽器發(fā)送Cookie,刪除該字段即可。
對于附帶身份憑證的請求,服務(wù)器不得設(shè)置 Access-Control-Allow-Origin 的值為'*'。這是因?yàn)檎埱蟮氖撞恐袛y帶了Cookie信息,如果 Access-Control-Allow-Origin 的值為'*',請求將會失敗。而將 Access-Control-Allow-Origin 的值設(shè)置為 http://a.b.com,則請求將成功執(zhí)行。也就是說Access-Control-Allow-Credentials設(shè)置為true的情況下 Access-Control-Allow-Origin不能設(shè)置為*。
前端配置
以vue請求為例:
import axios from 'axios'; axios.defaults.withCredentials=true //允許攜帶cookie
java設(shè)置cookie
public static void addCookie(HttpServletResponse response,String cookieName,String cookieValue,int maxAge){ Cookie cookie =new Cookie(cookieName,cookieValue); cookie.setDomain("b.com");//指定域名 cookie.setPath("/");//設(shè)置cookie的生命周期 cookie.setHttpOnly(false); if(maxAge>0){ cookie.setMaxAge(maxAge); } response.addCookie(cookie); }
“cookie跨域共享的使用方法”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!
當(dāng)前名稱:cookie跨域共享的使用方法
URL地址:http://jinyejixie.com/article38/pgehpp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供動態(tài)網(wǎng)站、網(wǎng)站營銷、網(wǎng)站維護(hù)、ChatGPT、手機(jī)網(wǎng)站建設(shè)、App設(shè)計(jì)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)