laravel api 認證


API 通常使用令牌(token)進行認證並且在請求之間不維護會話(Session)狀態

認證步驟如下:

1.首先通過 Composer 包管理器安裝 Passport, 並在config/app.php 的 providers 數組中注冊passport

composer require laravel/passport

2.創建用於存放客戶端和訪問令牌的數據表

php artisan migrate:fresh

3.運行 passport:install 命令,該命令將會創建生成安全訪問令牌(token)所需的加密鍵

php artisan passport:install --force

4.把app目錄下的User.php可以移動到自己指定的路徑下,這是我的項目目錄 app/Models/Account/User.php

5.在app/Provides/AuthServiceProvider 的 boot 方法中調用 Passport::route 方法, 該方法將會頒發訪問令牌, 撤銷訪問令牌, 客戶端以及私人訪問令牌注冊必要的路由

6.在config/auth.php中, 設置api認證 guard 的driver 選項為 passport  這將告知應用在認證輸入的 api 請求時使用 passport 的 TokenGuard, 同時指定User.php的路徑

7.由於官方文檔中沒有提及如何用自定義的用戶名進行授權, 查看源碼, 在laravel\passport\src\Bridge\UserRepository.php 的 getUserEntityByUserCredentials() 函數中會看到這段代碼:

8.這時需要在app\Models\Account\User.php中添加這段代碼, 完成自定義授權用戶名

9.授權流程完成之后, 創建登錄 Controller

10.構建認證路由

11.測試, 用postman調用登錄接口, 看到如下結果則api認證成功

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM