У меня есть приложение laravel 5.6.3 с несколькими охранниками следующим образом:
auth.php
'guards' => [
'web' => [
'driver' => 'session',
'provider' => 'users',
],
'api' => [
'driver' => 'passport',
'provider' => 'users',
],
'admin' => [
'driver' => 'session',
'provider' => 'users',
],
],
Я вхожу, используя admin
guard.
Я добавляю компоненты просмотра паспорта на страницу, доступную только для администратора, которая имеет следующий маршрут: http://127.0.0.1:8000/admin/passport/
<passport-clients></passport-clients>
<passport-authorized-clients></passport-authorized-clients>
<passport-personal-access-tokens></passport-personal-access-tokens>
Когда я загружаю страницу с вышеуказанными компонентами, я получаю следующие ошибки консоли:
http://127.0.0.1:8000/oauth/clients 401 (Unauthorized)
http://127.0.0.1:8000/oauth/tokens 401 (Unauthorized)
http://127.0.0.1:8000/oauth/personal-access-tokens 401 (Unauthorized)
http://127.0.0.1:8000/oauth/scopes 401 (Unauthorized)
Если я войду в систему с помощью web
guard и добавлю вышеупомянутые компоненты vue на страницу, доступную для web
, тогда она будет работать нормально.
Просмотр https://github.com/laravel/passport/blob/6.0/src/RouteRegistrar.php Вы заметите, что в группе маршрутизаторов есть только web
и auth
, но нет возможности передать охрану?
public function forClients()
{
$this->router->group(['middleware' => ['web', 'auth']], function ($router) {
//...
});
}
Так что вопрос в том, как мне заставить это работать, если я вошел в систему?в качестве администратора?