Введение
Jetstream включает встроенную интеграцию с Laravel Sanctum. Laravel Sanctum предоставляет легкую систему аутентификации для SPA (single page applications — одностраничных приложений), мобильных приложений и простых API на основе токенов. Sanctum позволяет каждому пользователю вашего приложения создавать несколько токенов API для своей учетной записи. Этим токенам могут быть предоставлены возможности / разрешения, которые определяют, какие действия токенам разрешено выполнять.

По умолчанию к панели создания токенов API в Jetstream можно получить доступ, используя ссылку «API» в раскрывающемся меню профиля пользователя в правом верхнем углу. На этой странице пользователи могут создавать токены Sanctum API с различными разрешениями.
Документация Sanctum
Для получения дополнительной информации о Sanctum и о том, как отправлять запросы к API с аутентификацией Sanctum, обратитесь к официальной документации Sanctum.
Включение поддержки API
Если ваше приложение будет предлагать API третьим лицам, вы должны включить функцию API Jetstream. Для этого раскомментируйте соответствующую запись в опции конфигурации features в файле конфигурации config/jetstream.php:
'features' => [
Features::profilePhotos(),
Features::api(),
Features::teams(),
],
Определение разрешений
Разрешения, доступные для токенов API, определяются с помощью метода Jetstream::permissions в JetstreamServiceProvider вашего приложения. Разрешения - это простые строки. Как только они будут определены, они могут быть назначены токену API:
Jetstream::defaultApiTokenPermissions(['read']);
Jetstream::permissions([
'create',
'read',
'update',
'delete',
]);
Метод defaultApiTokenPermissions может использоваться для указания, какие разрешения должны быть выбраны по умолчанию при создании нового токена API. Конечно, пользователь может снять отметку с разрешения по умолчанию перед созданием токена.
Авторизация входящих запросов
Каждый запрос, сделанный к вашему приложению Jetstream, даже к аутентифицированным маршрутам в вашем файле routes/web.php, будет связан с объектом токена Sanctum. Вы можете определить, имеет ли связанный токен данное разрешение, используя метод tokenCan, предоставленный трейтом Laravel\Sanctum\HasApiTokens. Этот трейт автоматически применяется к модели вашего приложения App\Models\User во время установки Jetstream:
$request->user()->tokenCan('read');
Запросы, инициированные пользовательским интерфейсом
Когда пользователь делает запрос к маршруту в вашем файле routes/web.php, этот запрос обычно аутентифицируется Sanctum через web guard на основе файлов cookie. Поскольку в этом сценарии пользователь отправляет первичный запрос через пользовательский интерфейс приложения, метод tokenCan всегда будет возвращать значение true.
Поначалу такое поведение может показаться странным; однако удобно всегда предполагать, что токен API доступен и может быть проверен с помощью метода tokenCan. Это означает, что в рамках политик авторизации вашего приложения вы всегда можете вызвать этот метод, не опасаясь, что с запросом не связан токен.