Laravel Passport - 401 Несанкционированный и с указанием автора охраны? - PullRequest
0 голосов
/ 21 октября 2018

У меня есть приложение 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) {
        //...
    });
}

Так что вопрос в том, как мне заставить это работать, если я вошел в систему?в качестве администратора?

...