Я просто пытался JWT Auth с Laravel и это https://github.com/tymondesigns/jwt-authЯ не понимаю поведение JWT ReFRESH лексемы (Laravel)
Но есть что-то я не могу понять. В своей конфигурации они поставили:
'ttl' => env('JWT_TTL', 60), // in munutes
'refresh_ttl' => env('JWT_REFRESH_TTL', 20160), // in minutes
Что я understant: лексема поживем является 1час и может обновляться в течение 2-х недель
Но после 3 часов, если я пытаюсь запросить что-то, он говорит: «Срок действия маркера истек» ,
Эта система означает, что пользователь должен обновить/обновить свой токен в течение каждого часа, но с лимитом в 2 недели? Я не понимаю.
Как пользователь может сохранить логин с помощью такой системы? Как обновить токен полезно, когда после первого часа, хотя еще не было 2 недели, я не могу получить новый токен?
благодарит
ОБНОВЛЕНИЕ: КОД
конфигурации/jwt.php
'ttl' => 2, // 2 minutes
'refresh_ttl' => 5, // 5 minutes
маршруты/api.php
Route::post('/login', '[email protected]');
Route::get('/test', '[email protected]')->middleware('jwt.auth', 'jwt.refresh');
HTTP/Контроллеры/AuthController
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use JWTAuth;
use Tymon\JWTAuth\Exceptions\JWTException;
class AuthController extends Controller
{
public function test()
{
return response()->json(['coucou' => 1]);
}
public function login(Request $request)
{
// grab credentials from the request
$credentials = $request->only('email', 'password');
try {
// attempt to verify the credentials and create a token for the user
if (! $token = JWTAuth::attempt($credentials)) {
return response()->json(['error' => 'invalid_credentials'], 401);
}
} catch (JWTException $e) {
// something went wrong whilst attempting to encode the token
return response()->json(['error' => 'could_not_create_token'], 500);
}
// all good so return the token
return response()->json(compact('token'));
}
}
И ЭТО ПОТОК:
запрос к /Войти с {имя пользователя: ххх, пароль: ххх} ответ из /Войти> {лексем: XXXXXXX}
запрос до /тест прямо после (10 секунд) с Носитель xxxxxx ответа из /тест> хорошего ответа JSON с новым токеном в HEADER
запрос к /теста после 3 минут (так 3mins 10 секунд есть прошлое в настоящее время, меньше 5мина предела обновления) ответ из /тест> маркер истек
Я не понимаю.
ну, это не работает, даже с токеном обновления, он говорит: токен истек через час – darkylmnx
Возможно, я делаю это неправильно, как я могу это понять: «вы можете использовать токен обновления, чтобы получить новый токен доступа, не спрашивая пользователя о вводе "? – darkylmnx
вам нужно отправить токен обновления в ту же конечную точку, с которой вы получили токен доступа раньше. Затем заголовок запроса должен содержать – jps