Как добавить пользовательское промежуточное программное обеспечение в Laravel Nova

#laravel #laravel-nova #laravel-middleware

Вопрос:

Я не являюсь на 100% экспертом по маршрутам Laravel, поэтому я нахожу некоторые проблемы, пытаясь выполнить следующее:

  • на каждой запрашиваемой странице каждой новой страницы мне нужно сначала убедиться, что токен получен и действителен во внешней службе (срок его действия истекает каждые 30 минут).
  • У меня есть ручка контроллера, которая управляет этим и работает нормально. Моя проблема в том, что я не попал в точку, добавив эту проверку в промежуточное программное обеспечение.
  • Другими словами, перед отображением любого представления Nova мне нужно проверить, не истек ли срок действия этого токена. Если это так, я отправляю вызов и обновляю его.

Я поискал в Интернете и не нашел подобного вопроса/проблемы. Кто-нибудь может привести мне поучительный пример?

Заранее спасибо.

Ответ №1:

Я нашел это место, просматривая здесь другой пост. Чего мне не хватало, так это объявить свой класс валидатора токенов в config/nova.php

Здесь:

 `/*
|--------------------------------------------------------------------------
| Nova Route Middleware
|--------------------------------------------------------------------------
|
| These middleware will be assigned to every Nova route, giving you the
| chance to add your own middleware to this stack or override any of
| the existing middleware. Or, you can just stick with this stack.
|
*/

'middleware' => [
    'web',
    Authenticate::class,
    DispatchServingNovaEvent::class,
    BootTools::class,
    Authorize::class,
    HereShouldGoMyClass::class,
],`