Laravel Passport 之api登入鑑權

_Mikasa發表於2022-03-13

配置passport

用passport實現介面的登入和jwt生成(生成token)
安裝passport外掛

composer require laravel/passport


執遷遷移檔案,生成資料表,儲存token資料

php artisan migrate

注:如果此處報錯如下,那可能是因為你的框架下database/migrations目錄中框架自帶的三個遷移檔案造成的,刪除三個檔案即可

生成客戶端授權碼

php artisan passport:install

修改介面賬號模型(登入賬號的資訊模型)

修改config/auth.php檔案中的api配置
(新增的apiweb是解決auth在介面中登入沒有attempt問題,apiweb可隨意起)


注:auth.php中的guards中的provider項是與auth.php中providers中的配置項一一對應,切記

令牌的有效期:在app/Proivders/AuthServiceProvide.php檔案中的boot方法新增有效期

登入驗證(auth驗證)並生成token

postman進行測試
定義測試路由

測試登入生成token
測試token

如果你修改一下token

就會重定向到上面第一個路由中,這個不是固定的是可以修改的
修改如下:
注意:新增優雅!!!
優雅連結
Apache
Laravel 中包含了一個 public/.htaccess 檔案,通常用於在資源路徑中隱藏 index.php 的前端控制器。在用 Apache 為 Laravel 提供服務之前,確保啟用了 mod_rewrite 模組,這樣 .htaccess 檔案才能被伺服器解析。
如果 Laravel 附帶的 .htaccess 檔案不起作用,嘗試下面的方法替代:

Options +FollowSymLinks -Indexes
RewriteEngine On

RewriteCond %{HTTP:Authorization} .
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
本作品採用《CC 協議》,轉載必須註明作者和本文連結

相關文章