Не найдено — 404 При попытке проверить паспорт на oauth

Я создал новый проект laravel 5.3 и настроил его из этого урока: https://mattstauffer.co/blog/introducing-laravel-passport

но когда я пытаюсь проверить oauth-сервер, отправив спокойный запрос из надстройки http-запроса в firefox, я получаю Not Found — 404

URL моего запроса: http://localhost/pcheck/user И я установил заголовок: "Application/json"

Мой файл маршрута web.php:

// First route that user visits on consumer app Route::get('/redirect', function () { // Build the query parameter string to pass auth information to our request $query = http_build_query([ 'client_id' => 3, 'redirect_uri' => 'http://localhost/pcheck/callback', 'response_type' => 'code', 'scope' => 'conference' ]);

// Redirect the user to the OAuth authorization page
return redirect('http://localhost/pcheck/oauth/authorize?' . $query);

});

// Route that user is forwarded back to after approving on server Route::get('/callback', function (Request $request) { $http = new GuzzleHttp\Client;

$response = $http->post('http://localhost/pcheck/oauth/token', [
'form_params' => [
'grant_type' => 'authorization_code',
'client_id' => '3',
'client_secret' => 'azWM7CGS4UtIQ30sd5bwW5s53P52QjaRmUdWjKpx',
'redirect_uri' => 'http://localhost/pcheck/callback',
'code' => $request->code,
],
]);

return json_decode((string) $response->getBody(), true);

});

Мой файл маршрута api.php:

Route::get('/user', function (Request $request) { return $request->user(); })->middleware('auth:api');

Я не знаю, где я ошибаюсь, любая идея?

2

Решение

Я нашел решение сам. Это из-за установки npm с помощью команды sudo, мы должны установить модули npm без sudo. Поэтому, чтобы решить эту проблему, мы должны удалить модули npm, а затем запустить npm install и подождать, пока он установит все необходимые зависимости.

К вашему сведению: файл bootstrap.js и файл package.json должны выглядеть следующим образом:

Package.json:

{
"private": true,
"scripts": {
"prod": "gulp --production",
"dev": "gulp watch"},
"devDependencies": {
"bootstrap-sass": "^3.3.7",
"buble": "^0.14.0",
"buble-loader": "^0.2.1",
"gulp": "^3.9.1",
"jquery": "^3.1.0",
"laravel-elixir": "^6.0.0-11",
"laravel-elixir-vue-2": "^0.2.0",
"laravel-elixir-webpack-official": "^1.0.2",
"lodash": "^4.16.2",
"vue": "^2.0.1",
"vue-loader": "^9.7.0",
"vue-resource": "^1.0.3",
"webpack": "^2.1.0-beta.22"}
}

Bootstrap.js:

window._ = require('lodash');

/**
* We'll load jQuery and the Bootstrap jQuery plugin which provides support
* for JavaScript based Bootstrap features such as modals and tabs. This
* code may be modified to fit the specific needs of your application.
*/

window.$ = window.jQuery = require('jquery');
require('bootstrap-sass');

/**
* Vue is a modern JavaScript library for building interactive web interfaces
* using reactive data binding and reusable components. Vue's API is clean
* and simple, leaving you to focus on building your next great project.
*/

window.Vue = require('vue');
require('vue-resource');

/**
* We'll register a HTTP interceptor to attach the "CSRF" header to each of
* the outgoing requests issued by this application. The CSRF middleware
* included with Laravel will automatically verify the header's value.
*/

Vue.http.interceptors.push((request, next) => {
request.headers.set('X-CSRF-TOKEN', Laravel.csrfToken);

next();
});Vue.http.options.credentials = true; //very important
/**
* Echo exposes an expressive API for subscribing to channels and listening
* for events that are broadcast by Laravel. Echo and event broadcasting
* allows your team to easily build robust real-time web applications.
*/

// import Echo from "laravel-echo"
// window.Echo = new Echo({
//     broadcaster: 'pusher',
//     key: 'your-pusher-key'
// });

И еще один важный совет: вы должны использовать последнюю версию npm: 6.9.

Надеюсь, что другие проблемы решить быстро с этим решением.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]