Я впервые работаю с Laravel Sanctum, особенно с API. Мне пришлось создать API, предназначенный только для отчетов, который возвращает JSON, тему, к которой я не могу получить доступ с помощью POSTMAN, поскольку он говорит мне "message": "Unauthenticated."
Я выполнил шаги для конфигурации, которые мне рассказала документация в моем проекте.
Я следовал шагам конфигурации, описанным в документации в моем проекте, который заключался в установке святилища, запуске провайдера, создании миграции токена, ссылке в модели святилища пользователя и размещении HasApiTokens, на данный момент я не знаю, что делать больше.
С одной стороны, документация говорит мне, что я могу получить доступ, поместив эту строку token = $user->createToken('token-name');
, но я не знаю, где ее разместить, потому что у нее не будет интерфейса, поскольку цель - доступ через PowerBi.
Это мой API маршрута
Route::group(['middleware'=> 'auth:sanctum'], function (){
Route::get('/reports','Api\ReportController@getTicketsCotizados');
});
Мой контроллер
public function __construct()
{
$this->middleware('auth');
}
public function getTicketsCotizados(){
$this->authorize('view ticket');
$cotizados =Ticket::ticketWithLeadForStatus(3)->get();
return response()->json($cotizados, 200);
}
ядро
'api' => [
EnsureFrontendRequestsAreStateful::class,
'throttle:60,1',
\Illuminate\Routing\Middleware\SubstituteBindings::class,
],
Пользователь
use Laravel\Sanctum\HasApiTokens;
class User extends Authenticatable
{
use Notifiable, UsesTenantConnection, HasApiTokens, HasRoles;
(...)
}
Охранники
'api' => [
'driver' => 'sanctum',
'provider' => 'users',
'hash' => false,
],