Laravel 8 JWT Multi-User Authentication

更新於 發佈於 閱讀時間約 2 分鐘

如上篇,Laravel JWT預設只能認證一種user,但實務上我們可能有不同的role需要各自做Authentication,例如我們有管理員、客戶、員工,等等。

Note: 小弟一開始是參考了網路上各種教學,但都是Laravel較舊版本的教學,經測試在Laravel 8無法work(也有可能是我的問題XD),後來try出這個方法可行。

以下以employee與user來示範。

直接來看程式碼:

這邊是route的配置,與url pattern有關。

raw-image


Models的部分,根據需求新增employee, user兩個model。

raw-image

Controller的部分,以auth:user、auth('user')來說,這個user的guard name,與config/auth.php中的guard name是mapping的。

raw-image

config/auth.php:

raw-image
raw-image

這邊可以看到guards中還有provider,是跟下面的providers mapping的,providers中的model則是對應到設定的model class。

根據這樣的對應關係,登入的時候會到指定的model table裡抓資料,來驗證帳密對不對。


結果demo:

raw-image
raw-image



本筆記參考:
1. https://medium.com/@JinoAntony/multi-user-api-authentication-using-laravel-jwt-8ae572b0c4cf
2. https://linkjian.com/post/laravel-jwt-multi-user/

留言
avatar-img
留言分享你的想法!
avatar-img
Vic Lin的沙龍
20會員
161內容數
Vic Lin的沙龍的其他內容
2023/08/13
父元件 傳遞方法使用@ <template>    ...    <Login @modalClose="modalClose"/> ... </template> <script setup>     const _modal = ref();     function m
2023/08/13
父元件 傳遞方法使用@ <template>    ...    <Login @modalClose="modalClose"/> ... </template> <script setup>     const _modal = ref();     function m
2023/03/25
前情提要 由於我的筆電已經用了10年,無法再戰下去了,且有預算考量,加上使用電腦幾乎都是定點,只有偶爾回家的時候會需要攜帶,因此最終選擇了迷你電腦,體積小不占空間,又方便攜帶,剛好符合我的需求。 菜單 由於這台無法裝獨顯,所以CPU的部分選擇 AMD R5 3400G(含Vega 11內
Thumbnail
2023/03/25
前情提要 由於我的筆電已經用了10年,無法再戰下去了,且有預算考量,加上使用電腦幾乎都是定點,只有偶爾回家的時候會需要攜帶,因此最終選擇了迷你電腦,體積小不占空間,又方便攜帶,剛好符合我的需求。 菜單 由於這台無法裝獨顯,所以CPU的部分選擇 AMD R5 3400G(含Vega 11內
Thumbnail
2023/03/10
Nuxt3中可使用useFetch來獲取數據,不須再引用axios,相當方便: 本筆記參考: https://juejin.cn/post/7104071421160063012 https://juejin.cn/post/7086472647575339045
2023/03/10
Nuxt3中可使用useFetch來獲取數據,不須再引用axios,相當方便: 本筆記參考: https://juejin.cn/post/7104071421160063012 https://juejin.cn/post/7086472647575339045
看更多
你可能也想看
Thumbnail
家中修繕或裝潢想要找各種小零件時,直接上網採買可以省去不少煩惱~看看Sylvia這回為了工地買了些什麼吧~
Thumbnail
家中修繕或裝潢想要找各種小零件時,直接上網採買可以省去不少煩惱~看看Sylvia這回為了工地買了些什麼吧~
Thumbnail
👜簡單生活,從整理包包開始!我的三款愛用包+隨身小物清單開箱,一起來看看我每天都帶些什麼吧🌿✨
Thumbnail
👜簡單生活,從整理包包開始!我的三款愛用包+隨身小物清單開箱,一起來看看我每天都帶些什麼吧🌿✨
Thumbnail
創作者營運專員/經理(Operations Specialist/Manager)將負責對平台成長及收入至關重要的 Partnership 夥伴創作者開發及營運。你將發揮對知識與內容變現、影響力變現的精準判斷力,找到你心中的潛力新星或有聲量的中大型創作者加入 vocus。
Thumbnail
創作者營運專員/經理(Operations Specialist/Manager)將負責對平台成長及收入至關重要的 Partnership 夥伴創作者開發及營運。你將發揮對知識與內容變現、影響力變現的精準判斷力,找到你心中的潛力新星或有聲量的中大型創作者加入 vocus。
Thumbnail
本篇純粹紀錄實作流程,以方便未來可以照此版繼續優化改進作法,這篇會使用Laravel 9版本並搭配Boostrap 5來做開發。 發現將每一次的實作作筆記,回頭再看的時候,就可以發現實作差異並進行改正,沒搞懂的底層操作也能在覆盤的時候理解,建議大家都要筆記自己的實作流程。
Thumbnail
本篇純粹紀錄實作流程,以方便未來可以照此版繼續優化改進作法,這篇會使用Laravel 9版本並搭配Boostrap 5來做開發。 發現將每一次的實作作筆記,回頭再看的時候,就可以發現實作差異並進行改正,沒搞懂的底層操作也能在覆盤的時候理解,建議大家都要筆記自己的實作流程。
Thumbnail
建立middleware指令: 假設建立一個Test middleware: 新增的middleware檔案會在app/Http/Middleware路徑中。 註冊Middleware: Global Middleware: 2. Route Middleware route group用法如下:
Thumbnail
建立middleware指令: 假設建立一個Test middleware: 新增的middleware檔案會在app/Http/Middleware路徑中。 註冊Middleware: Global Middleware: 2. Route Middleware route group用法如下:
Thumbnail
在Laravel中除了用Validator來驗證資料,還可以用Form Request Validation,建立一個驗證class,在request進入controller之前,會先在這邊做驗證,若驗證失敗則不會繼續執行Controller。 建立form request: 範例程式碼:
Thumbnail
在Laravel中除了用Validator來驗證資料,還可以用Form Request Validation,建立一個驗證class,在request進入controller之前,會先在這邊做驗證,若驗證失敗則不會繼續執行Controller。 建立form request: 範例程式碼:
Thumbnail
本筆記會以簡單的例子說明,如何在Laravel中進行unit test 與 feature test。 phpunit.xml則是設定檔,可以設定哪些檔案要做測試,哪些要排除在外等等。 使用命令建立新的test case: 建立feature test: 建立unit test: 執行測試:
Thumbnail
本筆記會以簡單的例子說明,如何在Laravel中進行unit test 與 feature test。 phpunit.xml則是設定檔,可以設定哪些檔案要做測試,哪些要排除在外等等。 使用命令建立新的test case: 建立feature test: 建立unit test: 執行測試:
Thumbnail
本文使用網站的 FB 登入做示範 採用 Laravel 8 + Socialite 5 使用 Session 記錄狀態 不同版本可能會有些許語法及方法上的差異,請自行調整 前言 最近因為碰到需要實作 OAuth 第三方登入的需求,只好把之前隨便看看的東西撿回來研究並實作。不過我找到多數現存的中文文章
Thumbnail
本文使用網站的 FB 登入做示範 採用 Laravel 8 + Socialite 5 使用 Session 記錄狀態 不同版本可能會有些許語法及方法上的差異,請自行調整 前言 最近因為碰到需要實作 OAuth 第三方登入的需求,只好把之前隨便看看的東西撿回來研究並實作。不過我找到多數現存的中文文章
Thumbnail
GCP: API和服務 -> 資訊主頁 -> +啟用API和服務 搜尋google+ 啟用: 設定 OAuth 同意畫面: 選擇外部後,開始填寫資料: 建立憑證: 假如有多個應用程式平台,如網頁、app,都要各自建立OAuth用戶。 已授權的重新導向URI: 使用者透過 G
Thumbnail
GCP: API和服務 -> 資訊主頁 -> +啟用API和服務 搜尋google+ 啟用: 設定 OAuth 同意畫面: 選擇外部後,開始填寫資料: 建立憑證: 假如有多個應用程式平台,如網頁、app,都要各自建立OAuth用戶。 已授權的重新導向URI: 使用者透過 G
Thumbnail
如上篇,Laravel JWT預設只能認證一種user,但實務上我們可能有不同的role需要各自做Authentication,例如我們有管理員、客戶、員工,等等。 Note: 小弟一開始是參考了網路上各種教學,但都是Laravel較舊版本的教學,經測試在Laravel 8無法work(也有可能是我
Thumbnail
如上篇,Laravel JWT預設只能認證一種user,但實務上我們可能有不同的role需要各自做Authentication,例如我們有管理員、客戶、員工,等等。 Note: 小弟一開始是參考了網路上各種教學,但都是Laravel較舊版本的教學,經測試在Laravel 8無法work(也有可能是我
Thumbnail
Laravel本身是MVC架構的Framework,但隨著專案越來越龐大,若不把系統架構分工再切細一點,可能會導致日後維護的困難。 例如可能會很常發生controller要與model溝通拿資料,又要處理商業邏輯,就會導致controller越來越肥,因此本文要介紹的是....
Thumbnail
Laravel本身是MVC架構的Framework,但隨著專案越來越龐大,若不把系統架構分工再切細一點,可能會導致日後維護的困難。 例如可能會很常發生controller要與model溝通拿資料,又要處理商業邏輯,就會導致controller越來越肥,因此本文要介紹的是....
Thumbnail
本文模擬user註冊的情境來簡單演示,在Laravel中如何透過ajax來存取資料,以post request為例。 前端透過post把user資料送到controller中,並且透過model把資料塞進DB,最後回傳json response。 完整source cod
Thumbnail
本文模擬user註冊的情境來簡單演示,在Laravel中如何透過ajax來存取資料,以post request為例。 前端透過post把user資料送到controller中,並且透過model把資料塞進DB,最後回傳json response。 完整source cod
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News