#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