Какое промежуточное ПО я должен использовать для HomeController, так как я использую Passport

#php #laravel

Вопрос:

Я работаю над небольшим проектом, используя Laravel / VueJS, я использую паспорт для аутентификации.

У меня есть три страницы: Вход, Регистрация, Домашний контролер

Мой вопрос в том, что с тех пор, как я использую Passport для входа в систему ( токен), какое промежуточное программное обеспечение я должен использовать для HomeController? Я пытался использовать:

 public function __construct()
{
    $this->middleware('auth:api');
}
 

но это не сработало, так как я отправляю жетон на предъявителя с помощью почтальона только для проверки.

HomeController содержит статическое представление без динамических данных, но я хочу защитить его, чтобы его могли видеть только зарегистрированные пользователи.

Комментарии:

1. Я не понимаю, почему вы говорите «но не сработало, так как я отправляю токен на предъявителя с помощью почтальона только для проверки»… Попробуйте отправить запрос без маркера, чтобы проверить, защищен ли он

2. просто попробуйте выполнить запрос домашнего контроллера без маркера, а также, если он защищен, он покажет вам несанкционированное сообщение об ошибке. вы также можете попробовать пользовательское промежуточное программное обеспечение, чтобы просто проверить токен на предъявителя в промежуточном программном обеспечении и соответствующим образом авторизовать запрос

Ответ №1:

в вашей заявке config/auth.php файл конфигурации драйвер должен быть установлен в passport :

 'guards' => [
    'web' => [
        'driver' => 'session',
        'provider' => 'users',
    ],

    'api' => [
        'driver' => 'passport',
        'provider' => 'users',
    ],
],
 

ссылка: https://laravel.com/docs/8.x/passport#installation

что касается промежуточного ПО, оно остается прежним : auth:api