国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術文章
文章詳情頁

node.js - koa 無法將cookie寫入到客戶端

瀏覽:102日期:2024-07-30 14:25:05

問題描述

登錄接口在 api.site.com 下,登錄之后會把用戶的access_token 以cookie 的方式往 site.com 這個域名下寫,但是刷新頁面之后在請求頭里面看不到cookie,this.cookies.get()也是undefined,說明沒有寫成功。

使用的是本地開發環境,api.site.com 和 www.site.com 實際上都是 localhost(127.0.0.1),改的host實現的

代碼如下:

if(validateEmail && validateUsername) { let [User] = yield this.db.query(sql, user); let id = User.id const token = yield user.generateAccessToken(id); this.cookies.set(’access_token’, token, {domain: ’.site.com’ }) this.body = User;}

求大神支招

更新

整了個 nginx 代理,問題依然存在

可以在response header 里面看到服務器端有寫入的 set-cookiesnode.js - koa 無法將cookie寫入到客戶端

但是在瀏覽器的cookies 里面看不到,頁面請求也沒有攜帶這個cookie

問題解答

回答1:

這兩天搜遍了google,so,尼瑪終于找到問題了,覺得非常有必要自己記錄一下。全都是因為這個鬼東西 Request.credentials

The credentials read-only property of the Request interface indicates whether the user agent should send cookies from the other domain in the case of cross-origin requests. This is similar to XHR’s withCredentials flag, but with three available values (instead of two):omit: Never send cookies.same-origin: Only send cookies if the URL is on the same origin as the calling script.include: Always send cookies, even for cross-origin calls.

當我們在發送跨域請求時,request 的 credentials屬性表示是否允許其他域發送cookie,該屬性有3個值:omit: 默認屬性,不允許其他域發送cookiesame-origin: 只允許同域發送cookieinclude: 總是允許發送cookie

所以必須在發送post請求時加上 credentials: include,使用jq的話就是

$.ajax({url: ’http://api.site.com/users’,type: ’POST’,data: postData,xhrFields: { withCredentials: true},success: function (data) { console.log(data)} })

同時在服務端必須加上:

‘Access-Control-Allow-Credentials’:true

這個問題困擾了好多天,還是讀書太少。。。

回答2:

用token

回答3:

先用瀏覽器F12看一下cookies里面確定有了你放的token

回答4:

朋友我跟你同樣的問題,后臺代碼是

this.cookies.set(’c’, ’3’,{domain:’localhost’,httpOnly:true);

前臺同樣是在response Headers 里面能看到Set-Cookies

你是說后臺

this.cookies.set(’c’, ’3’,{domain:’localhost’,httpOnly:true,’Access-Control-Allow-Credentials’:true})

這樣子改嗎?前端請求怎么辦?我的前端請求是這個樣子的:

$.post('http://localhost:8080/user/userlogin?username='+username+'&password='+password,function(data,status){ alert('Data: ' + data.toString()+ 'nStatus: ' + status); let userinfo = data[0]; $('#txtUsername').html(userinfo.username); $('#txtp').show();});

需要怎么調整?

相關文章:
主站蜘蛛池模板: 二级毛片在线播放 | www亚洲免费 | 亚洲精品人成在线观看 | 免费精品国产日韩热久久 | 亚洲男女免费视频 | 久久精品视频免费 | avtt加勒比手机版天堂网 | 日本高清福利视频在线观看 | 国产三级全黄 | 国产a级三级三级三级中国 国产a级特黄的片子视频 | 欧美经典成人在观看线视频 | 欧美黑寡妇特a级做爰 | 国产日韩精品欧美一区 | 亚洲经典乱码在线播 | 精品特级一级毛片免费观看 | 精品国产一区二区三区免费 | 中文字幕一级 | 欧美亚洲精品在线 | 国产成人精品一区二区三在线观看 | 亚洲永久中文字幕在线 | 色婷婷激婷婷深爱五月老司机 | 日韩毛片免费视频一级特黄 | 成年人网站在线观看免费 | 5x性区m免费毛片视频看看 | www日本高清视频 | 成人国产精品免费软件 | 中文国产成人精品久久一 | 欧美xx在线观看 | 国产高清三级 | 欧美高清一级啪啪毛片 | 欧日韩美香蕉在线观看 | 国产一级小视频 | 欧美日韩高清性色生活片 | 在线 | 一区二区三区四区 | 欧美日本在线三级视频 | 亚洲精品日韩中文字幕久久久 | 三级伦理网站 | 国产成人a大片大片在线播放 | 一本大道香蕉久在线不卡视频 | 在线观看亚洲视频 | 在线视频观看一区 |