Laravel是一款流行的PHP Web開發框架,它提供了許多強大的功能和工具來簡化Web應用程式的開發和維護。 Laravel Sanctum是Laravel框架的一個插件,它提供了API身份驗證和授權的功能,可以輕鬆保護您的API端點免受未經授權的存取。
在本文中,我們將學習如何使用Laravel Sanctum實現API身分驗證和授權。
一、什麼是Laravel Sanctum?
Laravel Sanctum是一個輕量級的身份驗證包,它提供了簡單但強大的API身份驗證和授權功能。它基於Laravel中間件和HTTP認證,允許我們安全地將身份驗證令牌附加到API請求中。
Laravel Sanctum支援兩種驗證方式:基於Cookie的身份驗證和基於Token的身份驗證。基於Cookie的身份驗證使用Laravel中間件來驗證請求中是否存在有效的認證Cookie。另一種驗證類別Header中的Token並檢查其是否有效。
二、安裝Laravel Sanctum
在開始之前,我們需要先安裝Laravel Sanctum。使用composer套件管理器可以輕鬆安裝Laravel Sanctum:
1 |
|
當然了,也可以透過在composer.json檔案中加入以下要求來手動安裝:
1 2 3 4 5 |
|
完成後,執行以下命令來發布Laravel Sanctum設定檔和資料庫遷移檔:
1 2 3 |
|
三、設定Laravel Sanctum
修改app/Http/kernel.php文件,新增Sanctum中間件:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
|
這將確保在每個請求期間都可以使用Sanctum的基於Cookie的身份驗證。
開啟config/auth.php文件,找到defaults和guards並將它們配置為使用sanctum。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
|
這將允許我們使用Sanctum進行基於Token的身份驗證。
如果您使用的是新版本的Laravel,則不需要新增提供者。如果您使用的是舊版本,請開啟config/app.php檔案並在providers陣列中新增以下行:
1 |
|
四、建立授權令牌
現在,我們已經設定了Laravel Sanctum,接下來我們將了解如何使用Sanctum來建立授權令牌。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
|
1 |
|
五、實現API身份驗證和授權
在創建了授權令牌後,我們可以使用Sanctum來保護API端點免受未經授權的存取。我們可以使用Laravel路由中間件來檢查認證令牌並拒絕未經授權的存取。
1 2 3 4 5 |
|
此路由將使用Sanctum auth中介軟體保護。
1 |
|
現在,可以存取 /api/user 路由以查看已登入的使用者的詳細資訊。現在,如果沒有授權標頭,將不會能夠存取它並傳回401未經授權的HTTP狀態碼。
六、結尾
Laravel Sanctum是一個強大且易於使用的身份驗證和授權解決方案,可以在Laravel Web應用程式和Web API中輕鬆實現身份驗證和授權。它可以輕鬆地保護您的API端點免受未經授權的訪問,並使您可以輕鬆控制哪些使用者可以存取哪些API端點。在這篇文章中,我們學習如何安裝和設定Laravel Sanctum,並了解如何使用它來建立授權令牌和實作API身分驗證和授權。
以上是Laravel開發:如何使用Laravel Sanctum實現API身分驗證與授權?的詳細內容。更多資訊請關注PHP中文網其他相關文章!