API ограничения скорости Laravel для пользователя с базовой аутентификациейPhp

Кемеровские программисты php общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 API ограничения скорости Laravel для пользователя с базовой аутентификацией

Сообщение Anonymous »


Я пытаюсь установить ограничение скорости для пользователя на маршруте API, используя базовую аутентификацию в api.php, но кажется, что информация пользователя для аутентификации не передается в RateLimiter, как я получаю ошибка:

"Попытка прочитать идентификатор свойства при нулевом значении".

Вот мой код для configureRateLimit():

RouteServiceProvider.php:

/** * Настройте ограничители скорости для приложения. * * @return void */ защищенная функция configureRateLimiting() { RateLimiter::for('getRequest', function (Request $request) { return Limit::perMinute(2)->by($request->user()->id)->response(function(){ вернуть ответ()->json([ 'ответ' => 'не удалось', 'message' => 'Сделано слишком много запросов', ],429); }); }); } Маршрут api.php:

Route::middleware(['auth.basic.once'])->prefix('v1')->group(function() { Route::middleware(['throttle:getRequest'])->get('/animals/{id?}', [animalsApiController::class, 'show']); }); Вместо этого я пытался использовать Auth::user()->id, user()->id() и Auth::id() из $request->user()->id, но та же ошибка. Может кто-нибудь сказать мне, делаю ли я что-то не так или что-то упускаю?

Примечание: при проверке $request->user()->id в контроллере все отображается нормально.
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Php»