Tyro — це пакет API для створення готових до використання API в Laravel. Він має нульову конфігурацію з автентифікацією, авторизацією, управлінням привілеями, більше ніж 40 командами Artisan та перевіреною безпекою. Завдяки цьому пакету ви можете швидко розробляти безпечні API в Laravel.
Користуючись вбудованими ролями та привілеями Tyro, ви можете захистити маршрути за допомогою медіаторів roles, privilege та privileges:
use Illuminate\Support\Facades\Route;
// Потрібна автентифікація
Route::middleware(['auth:sanctum'])
->get('/profile', ProfileController::class);
// Потрібна конкретна роль
Route::middleware(['auth:sanctum', 'role:admin'])
->get('/admin/dashboard', AdminDashboardController::class);
// Дозволити будь-яку з кількох ролей
Route::middleware(['auth:sanctum', 'roles:admin,editor'])
->post('/articles', ArticleController::class);
// Потрібне конкретне привілеї
Route::middleware(['auth:sanctum', 'privilege:reports.run'])
->get('/reports', ReportController::class);
// Дозволити будь-яке з кількох привілеїв
Route::middleware(['auth:sanctum', 'privileges:billing.view,reports.run'])
->get('/analytics', AnalyticsController::class);
Також ви можете захищати API-маршрути, поєднуючи ролі та привілеї, що називається abilities:
// Потрібні ВСІ можливості (ролі та/або привілеї)
Route::middleware(['auth:sanctum', 'ability:admin,reports.run'])
->post('/reports/export', ReportExportController::class);
// Дозволити БУДЬ-ЯКУ можливість
Route::middleware(['auth:sanctum', 'abilities:admin,super-admin,reports.run'])
->get('/reports/advanced', AdvancedReportController::class);
Ось приклад входу в систему та отримання API-токена одразу після установки Tyro:
curl -X POST http://tyro-demo.test/api/login \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{"email":"admin@tyro.project","password":"tyro"}'
{
"error": 0,
"id": 1,
"name": "Tyro Admin",
"token": "1|mNYqXI9AfPZw1bppwc3WK1F8WSHNAOnAYqV8RR0Oaa1644f7"
}
# Використання токена
curl http://tyro-demo.test/api/me \
-H "Authorization: Bearer 1|mNYqXI9AfPZw1bppwc3WK1F8WSHNAOnAYqV8RR0Oaa1644f7"
{
"id": 1,
"name": "Tyro Admin",
"email": "admin@tyro.project",
"email_verified_at": null,
"created_at": "2025-11-27T02:46:33.000000Z",
"updated_at": "2025-11-27T02:46:33.000000Z",
"suspended_at": null,
"suspension_reason": null
}
👨💻 Код доступний на GitHub: hasinhayder/tyro
Хочете забезпечити повну прозорість у своїх Laravel-додатках? Пакет Laravel Audit Log допоможе вам детально відстежувати всі зміни моделей Eloquent та відповідати вимогам регуляторів. Читайте далі, щоб дізнатися, як цей потужний інструмент може підвищити надійність вашого проєкту
У сучасній веб-розробці аутентифікація є ключовою для захисту додатків і даних користувачів. Дізнайтеся, як модуль nuxt-sanctum-authentication спростить інтеграцію між Nuxt 3 та Laravel Sanctum, забезпечуючи надійний і зручний спосіб реалізації аутентифікації для вашого проєкту
Laravel пропонує потужні можливості повнотекстового пошуку за допомогою методів whereFullText та orWhereFullText, що дозволяють здійснювати складні запити до бази даних. Дізнайтеся, як реалізувати ефективний пошук для вашого блогу чи системи управління контентом