Passport , Breeze, Fortify , Sanctum 不負責任比較
我覺得 Laravel 的 Authentication 其實變了很多。
從一開始可以使用php artisan make:auth
做一個簡單的auth
起手架以後,往後變成要下載package,到現在可以根據不同的情境使用不同的package。
真不知道該說這是變得麻煩還是越來越進步?(我私心覺得,是進步!)
- Breeze
如果懷念以前的make:auth
的時光可以使用這個package,附帶前端UI, 使用 Tailwind CSS 作為樣式配置
教學文件可以參考:https://laravel.com/docs/9.x/starter-kits
- Sanctum
我最近開了一個新的laravel專案,最近就有附帶這個package,他有點像是firebase
那一種,總之如果你要簡單實作token based 的系統可以使用這個package,但他最大的缺點就是沒有支援oauth
,如果要使用oauth
請左轉去用Passport
,否則他其實和passport
很像的。
詳細教學可以參考:https://laravel.com/docs/9.x/sanctum#main-content
- Passport
他比Sanctum
早出生很多,或許在implement token based 以前專案都會使用這個套件,我自己目前還沒玩過(聽說未來我新公司會用,蠻期待的)。
和sanctum
最大的差別似乎就是他有額外支持oauth
的部分,如果你有oauth
的需求請直接使用這個套件拉
詳細教學可以參考:https://laravel.com/docs/9.x/passport
- Fortify
這個套件有點神秘,他一個與其他auth相關套件最大的差別就是他沒有前端實現 所以我個人認為應該是比較適合已經存在的專案之類的,或者你只是想要 純後端實現的認證系統。
相關教學可以參考:https://laravel.com/docs/9.x/fortify#main-content
小君曰:我個人自己有在玩
Breeze
&Sanctum
,不得不說,Sanctum
真的很不錯,我喜歡。