本文重心放在前後端分離時,使用 JWT(JSON Web Token)驗證 (Authentication) 使用者身份的機制,以及如何使用 Laravel JWT Package: jwt-auth/Laravel
前後端分離,通常使用 JWT(JSON Web Token)等無狀態的 token 機制 替代 Session ,作為 使用者身份驗證的授權 (Authentication) 機制,所謂無狀態驗證指的是不需要透過 DB 就可以驗證 Token 是否正確。
$token = auth()->attempt($credentials);
.
將JWT token 分成三個部份 :
在 Laravel 下載 JWT套件 流程,參照 jwt-auth 網站的 Installation and Quick start
composer require tymon/jwt-auth
config/jwt.php
,JWT 細部設定,諸如: JWT 驗證密鑰 (JWT Authentication Secret), JWT 到期時間設置 (JWT TTL), JWT Authentication Secret..等php artisan vendor:publish --provider="Tymon\JWTAuth\Providers\LaravelServiceProvider"
php artisan jwt:secret
關於 jwt-auth/Quick start 下篇文章再講,Quick start 講解: 使用者提供 Request (資訊: 帳號, 信箱, 電話…等) 經過 Server 收到 Request 之後,去 DB 做驗證,確定驗證成功之後,Server 用 secret 建立一組 token (JWT) 回傳給使用者 (Client 端)。
1 What Is JWT and Why Should You Use JWT
2 jwt.io
3 jwt-auth