Не удается получить аутентификацию пользователя с паспортом laravel, постоянно появляется ошибка «Неаутентифицировано» - PullRequest
0 голосов
/ 06 апреля 2019

Я не могу получить информацию об аутентифицированном пользователе в паспортном приложении Laravel с JWT и vue.

Я установил паспорт Ларавеллы. Я сделал все в документации и добавил:

\Laravel\Passport\Http\Middleware\CreateFreshApiToken::class,

Чтобы использовать его с помощью js для приложения SPA.

Я защитил свои маршруты с помощью промежуточного программного обеспечения auth: api, но я продолжаю получать:

{"Status":{"api_status":0,"Code":401,"Message":"Unauthenticated"}}

Когда я использую почтальон, чтобы вручную вставить CSRF-TOKEN в маркер носителя авторизации. Это дает мне аутентифицированного пользователя.

Что бы я ни делал, я получаю нулевое значение в Auth :: user (); в моих контроллерах и маршрутах

Laravel V5.7 Узел V10.15.3 Npm V.6.9.0

1 Ответ

0 голосов
/ 06 апреля 2019

Вам необходимо отправить POST-запрос (используя Postman / Insomnia) с данными о пользователе, которого вы хотите авторизовать, как / oauth / token в вашем приложении, который ответит токеном API.Вы сохраняете этот токен API локально, а затем добавляете его как переменную Header в свои вызовы http / giosios / любой функции (каждый из них!) В ваш API.

$http = new GuzzleHttp\Client;
$data = 'Whatever';
$response = $http->request('POST','api/user',[
    'data' => $data,
    'headers' => [
        'Accept' => 'application/json',
        'Authorization' => 'Bearer xxxxxxxxxxxxThis is the long authentication string returned from the Postman requestxxxxxxxxxxxxxx'
    ]
]);
dd(json_decode((string) $response->getBody())); // To view the response

From: https://laravel.com/docs/5.5/passport#creating-a-password-grant-client

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