У меня есть сайт, который я построил с использованием Laravel 5.4, над которым я работаю над обновлением пользовательского интерфейса.Я хочу пойти в направлении одностраничного приложения, использующего Angular 7. Однако я застрял, пытаясь сделать запрос к моей конечной точке API, я продолжаю получать ошибку 401.Я следовал приведенным здесь инструкциям: https://laravel.com/docs/5.4/passport#consuming-your-api-with-javascript добавил метатег на страницу, произвел дополнительную настройку и начал использовать HTTP-библиотеку Angulars примерно так:
this.httpOptions = {
headers: new HttpHeaders({
'Content-Type': 'application/json',
'X-Requested-With': 'XMLHttpRequest',
'X-CSRF-TOKEN': this.meta.getTag('name=csrf-token').content
})
};
this.http.get('api/v1/people', this.httpOptions).subscribe((data: any) => {console.log(data); });
, однако я продолжаю получать401 ошибка.Кроме того, здесь есть Kernel.php
protected $middlewareGroups = [
'web' => [
\App\Http\Middleware\EncryptCookies::class,
\Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class,
\Illuminate\Session\Middleware\StartSession::class,
\Illuminate\View\Middleware\ShareErrorsFromSession::class,
\App\Http\Middleware\VerifyCsrfToken::class,
\Laravel\Passport\Http\Middleware\CreateFreshApiToken::class
],
'api' => [
'throttle:60,1',
'auth:api'
],
];
и Routes.php
Route::group(['middleware' => 'auth:api'], function(){
Route::group(['prefix' => 'api/v1'], function () {
Route::get('people', 'personController@apiIndex');
Route::get('person/{id}', 'personController@apiGetPerson');
Route::post('contactevent', 'contactEventsController@apiAddContactEvent');
});
});
. Любой вклад приветствуется.