Я использую Laravel 5.8 с Passport 7.2 для создания API для моего приложения.Я использую password_grant для аутентификации.
Я создал все, от регистрации до входа в систему, и, кажется, все работает правильно.Я могу получить access_token и refresh_token и получить доступ к маршрутам, к которым подключено промежуточное программное обеспечение auth: api.
В моих маршрутах у меня есть это:
Route::group(['middleware' => ['auth:api']], function () {
...
Route::get('test', function (Request $request) {
return $request->user();
});
...
});
Когда я вызываю этот / api / testURL с заголовком. Авторизация: Bearer access_token. Я получаю аутентифицированного пользователя.Это просто отлично работает.
Я тестирую эти конечные точки с помощью Postman, но все то же самое, если я проверяю это, используя javascript из браузера.
Проблема в том, что у меня два разных access_token из двух разныхпользователи.Если я вызываю этот URL с одним access_token, я получаю правильные данные пользователя в качестве ответа, и если я жду несколько секунд и вызываю тот же URL со вторым access_token, я получаю правильные данные второго пользователя в качестве ответа.Но если я вызываю этот URL два раза одновременно с этими двумя access_tokens (сначала позвоните и, например, через полсекунды второго вызова), я получу данные пользователя первого вызова в качестве ответа в обоих запросах.
Я надеюсь, вы понимаетев чем проблема.
Может ли это быть проблемой кеширования или, возможно, проблемой сеанса (даже если API не имеет состояния)?
Если вам нужна дополнительная информация, просто скажите мне.
Во-первыхЯ думал, что это проблема с кешем браузера, но это то же самое в почтальоне.Я также пытался использовать Google Chrome для одного запроса и Mozilla для второго, и все то же самое.
Если у вас есть идеи о том, что может быть не так, я буду признателен: D