Laravel Jetstream API
Laravel Jetstream API

Laravel Jetstream API



Введение

Jetstream включает встроенную интеграцию с Laravel Sanctum. Laravel Sanctum предоставляет легкую систему аутентификации для SPA (single page applications — одностраничных приложений), мобильных приложений и простых API на основе токенов. Sanctum позволяет каждому пользователю вашего приложения создавать несколько токенов 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. Это означает, что в рамках политик авторизации вашего приложения вы всегда можете вызвать этот метод, не опасаясь, что с запросом не связан токен.

Перевод:
https://jetstream.laravel.com/1.x/features/api.html

Заберите ссылку на статью к себе, чтобы потом легко её найти!
Раз уж досюда дочитали, то может может есть желание рассказать об этом месте своим друзьям, знакомым и просто мимо проходящим?
Не надо себя сдерживать! ;)

Старт! Горячий старт на просторы интернета
Старт! Горячий старт на просторы интернета
Старт! Меню