На моем веб-сайте Laravel я должен выполнить задания cron, которые будут извлекать некоторые данные, а затем обновлять мою базу данных.
Из документов Laravel я подумал об аутентификации между компьютерами из Laravel Passport.
Так что я прыгнул в это, установка и так далее.
https://laravel.com/docs/5.6/passport#client-credentials-grant-tokens
Я следовал за каждым шагом из документов, и из примера, который я нашел в Интернете, я всегда получал следующее сообщение
{
"message": "Unauthenticated."
}
Я добавил промежуточное ПО client_credentials в свой Kernel.php
protected $routeMiddleware = [
'auth' => \Illuminate\Auth\Middleware\Authenticate::class,
'auth.basic' => \Illuminate\Auth\Middleware\AuthenticateWithBasicAuth::class,
...
'authAdmin' => \App\Http\Middleware\AuthAdmin::class,
'client' => \Laravel\Passport\Http\Middleware\CheckClientCredentials::class,
];
Затем для основ я создал ApiTestController с методами тестирования, которые будут запускаться для моего маршрута.
Я добавил в мои маршруты api.php следующие строки:
/*
Public API Routes
*/
Route::group(['prefix' => 'v1'], function() {
...
Route::get('/test', 'ApiTestController@test')->middleware('client');
});
В основном мой метод просто возвращает "это работает".
Я создал клиент для паспорта с помощью команды passport:client
artisan, а затем использовал его через почтальона для получения моего токена на предъявителя.
Но это не работает :(
Кто-то может мне помочь?