iT邦幫忙

0

laravel API不能存取cookie的問題

抓後台資料需要先判斷有cookie才會繼續執行
否則會跳到登入頁面
我想用fetch抓後台資料
請問能做到不把cookie的資料放在body上
又可以抓到cookie嗎?

小魚 iT邦大師 1 級 ‧ 2019-12-10 07:47:10 檢舉
話說你的標題跟你的內容好像不大一樣..
adha9990 iT邦新手 5 級 ‧ 2019-12-10 12:01:26 檢舉
不好意思補充一下
我登入的用戶id是放在cookie
我想用這個cookie去fetch後台
卡在api不能存取的問題
adha9990 iT邦新手 5 級 ‧ 2019-12-10 12:03:53 檢舉
fetch後端更正

2 個回答

1
小魚
iT邦大師 1 級 ‧ 2019-12-10 07:18:28

你是怕放在前端會被人看到嗎?
那放在後端呢?

到底是前端還是前台 還是後端 還是後台/images/emoticon/emoticon46.gif

adha9990 iT邦新手 5 級 ‧ 2019-12-10 12:01:31 檢舉

是把cookie改成session嗎?

0

我推測他要用的是session之類的。
但使用的是現成api路由的控制。
其預設是未載入session跟cookie相關的物件。
導致無法使用。

這邊要先說說所謂的api。大多數來說,api不會用session或是cookie之類的做儲存對應處理。
所以這也是為何laravel的api路由預設不跑session物件的原因之一

畢竟,api連接有些是會透過如curl的方式連接。這樣子的連結是不能被存在session或cookie的應用。雖然用from的方式或是ajax比較沒這樣的問題。
但在api連接還採用cookie或是session的方式是很不妥的。且也不安全。

如果有需要的話,建議你另開一組路由來當api處理。且載入必要的mg

adha9990 iT邦新手 5 級 ‧ 2019-12-10 12:07:49 檢舉

如果我要fetch需要經過cookie權限判斷的資料
就需要另開一組路由當api處理?

這是為了不要去碰原本api路由的特性。
當然,如果你覺得沒必要另開路由的話。你也可以針對api路由去掛載你要的。
從其 app http內的ke。來將你預設的 $middlewareGroups
下去掛載。
你因該可以看到api的部份是沒掛載任何服務的。
但web有掛載一些。

我要發表回答

立即登入回答