Laravel. Пакет jwt-auth, refresh_token
Для поддержания авторизации, нужен refresh_token токен. Никак не получается обновить access_token. Как это можно сделать?
routes/auth/auth.php
Route::post('/login', [AuthController::class, 'login']);
Route::post('/refresh', [AuthController::class, 'refresh']);
AuthController.php
public function login(Request $request): JsonResponse
{
$validated = $request->validate([
'email' => 'required|email',
'password' => 'required|string|min:6',
]);
$token = auth()->attempt($validated);
return $this->createNewToken($token);
}
public function refresh(): JsonResponse
{
return $this->createNewToken(auth()->refresh());
}
protected function createNewToken(string $token): JsonResponse
{
return response()->json([
'access_token' => $token,
'token_type' => 'bearer',
'expires_in' => auth()->factory()->getTTL() * 60,
'user' => auth()->user()
]);
}