環境
- Laravel 6.0
- tymon/jwt-auth 1.0.0-rc.5
概要
jwt-auth では、JWT トークンを以下の順番で検索する。
- Authorization ヘッダ (Bearer)
- Request->query('token')
- Request->input('token')
- Route パラメタ (token)
- Cookie (token)
ということで、トークンを発行したら、token
という名前の Cookie を設定してあげればよい。
設定手順
Cookie 設定例
class AuthController extends Controller
{
public function login(Request $request, CookieJar $cookie): Response
{
$credentials = request(['email', 'password']);
$token = auth()->attempt($credentials);
...
return response(...)
->withCookie($cookie->make(
'token',
$token,
config('jwt.refresh_ttl'), // minutes
null, // path
null, // domain
$request->getScheme() === 'https', // secure
true // httpOnly
));
}
}