Laravel Passport 401 следующая документация - PullRequest
0 голосов
/ 17 мая 2018

Я следовал за документацией, чтобы установить личиночный паспорт, используя личинку 5.6.В настоящее время, когда я проверяю любой из моих маршрутов API с помощью API Api Guard, я получаю 401 http статус по запросу.Я смотрю бросил сотни или кажется, что это обсуждение этой темы, и я не могу найти что-то, что работает.Любая помощь будет отличной.

  1. Установлено с помощью composer
  2. php artisan passport: установить
  3. поместить HasApiTokens в пользовательскую модель
  4. Passport :: route ();в провайдере аутентификации
  5. изменен провайдер в config / auth.php
  6. , поместите его в промежуточное веб-ПО \ Laravel \ Passport \ Http \ Middleware \ CreateFreshApiToken :: class,

Мои заголовки запроса

Cache-Control: no-cache, private
Connection: keep-alive
Content-Type: application/json
Date: Thu, 17 May 2018 03:34:11 GMT
phpdebugbar-id: Xe76c4a977b813e9296e0705b5cd6bc05
Server: nginx
Transfer-Encoding: chunked
X-Powered-By: PHP/7.2.4
X-RateLimit-Limit: 60
X-RateLimit-Remaining: 59
POST /api/chat HTTP/1.1
Host: ct.test
Connection: keep-alive
Content-Length: 33
Pragma: no-cache
Cache-Control: no-cache
Accept: application/json, text/plain, */*
Origin: http://ct.test
X-XSRF-TOKEN: eyJpdiI6IkQ3K3o3SExMYVZEWnYyejJQXC9zUlpnPT0iLCJ2YWx1ZSI6Ijh6UWVtdDlzU0hIWnpqZmdmazhSc0FMWUU5MTQ1N1dXNStZVlk3amhIbjNmYmlhN3BwaEJwbTI0MU5qUjVFRUtqWWV2aW1Td3JvdDg0QTd6RWJzem9RPT0iLCJtYWMiOiJkMDE0MmU2NGY5NmY3YmIxZjAwMjI4OGM1ZDUzMTU5OTBmMjNkM2YxOTZkNzM5NTAyMzliZjc0YTgyMTUyZWQ4In0=
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_4)     AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.139 Safari/537.36
Content-Type: application/json;charset=UTF-8
Referer: http://ct.test/chat/new
Accept-Encoding: gzip, deflate
Accept-Language: en-US,en;q=0.9
Cookie: laravel_token=eyJpdiI6IlhMSERkejlyNFRodkZtUGdZekI2V2c9PSIsInZhbHVlIjoiK2lTbGZCN3NPWjU4aDNLdkNcLzhIRzJhTE8wVmxET1J1aXdsRUgwbEQ1am9MME5MekRCWHRGQkgzaDhlTVc3OTNrc1BlMXFVQXF1SDN1UWRMNXoyRjRFQXBnTmZwVng1T0RKcVwvYWFzWHB6QkpBcERPOXUzUXc2SHVkeXNsaHRsVUJJQkZSbDVxK2NFQmdiT012cytWYmVHQmpWY01LSno3NXdvbGZjT3RIK3pmMkRUTTBvUUE1OXJ0bUNmNzkyYktFVWdIbTQ0YmZuZ05YSEs4dE5mcW5zcnBod2h4d2JsTkxSTWk0bk53S2hyK3VrRnNlRGFuUHU4RzZBblwvalhGMFB4YlhHeUlmTm1JanFKaCtoQUxTNUE9PSIsIm1hYyI6IjdjNzQ0MTIzMDBkOTc4ZGQ1M2I5M2Q5MThmN2NiZDU4MDU2YjhjZDIyOWQzNDhhNDkyY2Q5NGM4ZTFkOTU3MzYifQ%3D%3D; XSRF-TOKEN=eyJpdiI6IkQ3K3o3SExMYVZEWnYyejJQXC9zUlpnPT0iLCJ2YWx1ZSI6Ijh6UWVtdDlzU0hIWnpqZmdmazhSc0FMWUU5MTQ1N1dXNStZVlk3amhIbjNmYmlhN3BwaEJwbTI0MU5qUjVFRUtqWWV2aW1Td3JvdDg0QTd6RWJzem9RPT0iLCJtYWMiOiJkMDE0MmU2NGY5NmY3YmIxZjAwMjI4OGM1ZDUzMTU5OTBmMjNkM2YxOTZkNzM5NTAyMzliZjc0YTgyMTUyZWQ4In0%3D; laravel_session=eyJpdiI6IkxTM0JiQVZPekFkb3VDaFh5MTRGNWc9PSIsInZhbHVlIjoiemxaTXZVNGlPWFFOS1o3MUx6NUgrWFc2dEFVQ1dZTUlOTWc2bUJvMXY1NVBISTZuVmFLVGlKOVNveXk0dTMyWXFjaDk1eTBlemxoa0pnWWRLWVNYR0E9PSIsIm1hYyI6ImJhNzRhM2FiYjc1Mzc4NTVlYzY3MWUwZjkwNzZlOWVhNDY3OWQ5MmNlOTc0MGM1MDg1YmViNDNjYjQ0M2Q0MDkifQ%3D%3D

Мои маршруты выглядят так

Route::middleware('auth:api')->group(function () {
    Route::post('/chat', 'ChatController@store');
});

1 Ответ

0 голосов
/ 17 мая 2018

Вы смешиваете стратегии API. Вы процитировали это:

Это промежуточное программное обеспечение Passport будет прикреплять файл cookie laravel_token к вашим исходящим ответам. ...

Это верно только в том случае, если вы хотите использовать ваше приложение изнутри. Это нормально, но, как указано в ваших комментариях, вы должны использовать промежуточное программное обеспечение web, а не промежуточное программное обеспечение auth:api.

Это, конечно, предполагает, что вы используете axios для выполнения запроса и сохранили JavaScript-код по умолчанию, с которым поставляется Laravel и который автоматически вводит x-csrf-token в заголовки axios. Без этого это не сработает.

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