有件事情我一直蠻困惑的,就是 Laravel 好像每過一段時間就會推出幾個看起來好棒棒的認證機制。從最早出現的 Passport, Sanctum, Fortify 到近期的 Breeze, Jetstream,每個套件介紹看起來都好棒好厲害,但是遇到有選擇障礙的程式小萌新…………… 當然還是乖乖一個一個學起來
懶人包:
以下紀錄比較完整的套件差異:
認證機制
- session: Fortify, Breeze, Sanctum
- OAuth: Passport, Socialite
提供介面
- 有提供 UI: Breeze (Tailwind CSS)
- 無提供 UI: Passport, Fortify, Sanctum
- 註:在 Laravel 5.8 之後,UI 部分被移出到
laravel/ui
Sanctum 適用場景
- 前後端處在同域: 使用 session auth
- 前後端處在不同域: 使用 token auth
- 使用在 mobie: 使用 token auth
支援 2FA
以上,這份筆記未來還會不定期更新,希望對迷失在 Laravel 套件海的小萌新們有一點幫助