iT邦幫忙

1

Laravel 8 用 Passport 驗證 Api 那 View 能怎麽驗證?

最近在做一個小專案
目前前端跟後端是分開寫,中間透過 axios 傳送資料
後端部分已經透過 Passport 做 token 的保護((token 存在 LocalStorage
而 token 則需透過帳號密碼登入取得
但問題來了,想請問 api 能透過 middleware 檢查,沒有就轉回登入
那其他的 View 我能否透過 Passport 的 token 檢查做登入驗證呢?
同樣是訪問每個 View 時沒有 token 就轉回登入頁
或是有更的做法再勞煩前輩指點

2 個回答

1
小魚
iT邦大師 1 級 ‧ 2021-05-13 22:17:49
最佳解答

前端就做前端的事,
不要想做後端的事.

想請問前端的 View 有建議的未登入防堵方式嗎?

小魚 iT邦大師 1 級 ‧ 2021-05-14 08:31:22 檢舉

就跟前後端分離一樣,
送到後端檢查.

Laravel其實可以直接透過中介層,
我之前寫那篇應該有寫到.
如何用Laravel寫一個簡單的部落格網站

剛看一下,
在第34篇,
不過如果你Laravel不熟其實建議從前面看.

最終透過中介層做Session檢查token,失敗就踢回登入畫面,感謝

0

你不是已經有 LocalStorage 的資料了,檢查它不就好了。
再來就是靠後端幫你了。

畢竟,真正驗証的還是只能在後端。前端能做的事有限。

我前端的判斷條件。
基本先檢查有無 token 資料。token 資料其實我是有設定時效性的。
當 token 的資料剩下一定時間時,會跟後端做reToken。

這邊要注意,一定不能等時間到才拿token。
這樣會因為token失效而只能靠登入取得token。
要在還沒失效前。做重發token的動作。

再來,就是利用一下Laravel的特性了。
基本上在處理 axios 時,拿到401的錯誤。
就是一視同仁回登入頁

我要發表回答

立即登入回答