Laravel Bastion — пакет для автентифікації API, натхнений Stripe

Перекладено ШІ 1 Laravel News 02 червня, 2026

Відкрийте для себе Laravel Bastion – пакет для аутентифікації API, натхнений Stripe, який забезпечує ізоляцію середовищ, тонке управління правами доступу та вбудовану безпеку. Якщо ви хочете дізнатися більше про його функції та переваги, читайте далі

Laravel Bastion — це пакет для аутентифікації API, натхненний Stripe, розроблений Стівом МакДугаллом. Він пропонує ізоляцію середовища, гранульовані області доступу, вбудовану безпеку та багато іншого.

# Особливості

  • Токени API у стилі Stripe — токени з префіксами, що вказують на середовище (app_test_pk_, app_live_sk_)
  • Ізоляція середовища — окремі тестові та живі середовища з автоматичною валідацією
  • Гранульовані області доступу — детальний контроль дозволів з підтримкою шаблонів
  • Типи токенів — публічні, секретні та обмежені ключі з різними рівнями доступу
  • Аудиторське логування — всебічний облік активності для дотримання вимог і налагодження
  • Підтримка вебхуків — вбудовані кінцеві точки вебхуків з перевіркою підписів
  • Безпека на першому місці — дати закінчення терміну дії та безпечне хешування токенів
  • Нативність Laravel — створено з урахуванням конвенцій та кращих практик Laravel

Після встановлення пакету, додайте HasBastionTokens трейт до вашої моделі User:

use JustSteveKing\Bastion\Concerns\HasBastionTokens;

class User extends Authenticatable
{
    use HasBastionTokens;

    // ...
}

Для генерації токена скористайтеся:

use JustSteveKing\Bastion\Enums\TokenEnvironment;
use JustSteveKing\Bastion\Enums\TokenType;

$result = $user->createBastionToken(
    name: 'LN API Key',
    scopes: ['posts:read', 'posts:write'],
    environment: TokenEnvironment::Test,
    type: TokenType::Restricted,
);

$token = $result['plainTextToken'];
// Приклад: app_test_rk_a8Kx7mN2pQ4vW9yB1cD3eF5gH6jK8lM

echo "Token: " . $token;

Для захисту ваших маршрутів Bastion надає middleware AuthenticateToken:

use JustSteveKing\Bastion\Http\Middleware\AuthenticateToken;

Route::middleware(AuthenticateToken::class)->group(function () {
    Route::get('/api/posts', [PostController::class, 'index']);
});

При надсиланні запитів до захищених кінцевих точок передавайте токен у заголовку Authorization за схемою Bearer:

use GuzzleHttp\Client;

$client = new Client(['base_uri' => 'https://example.com/api']);
$token = 'YOUR_BEARER_TOKEN';

$response = $client->request('GET', '/posts', [
        'headers' => [
                'Authorization' => 'Bearer ' . $token,
                'Accept' => 'application/json',
        ],
]);

Якщо вам потрібно також оновити токени, Bastion має цю можливість. Використовуйте метод rotate():

$result = $token->rotate();

Є навіть можливість використовувати CLI:

php artisan bastion:rotate {token-id}

Говорячи про CLI, Bastion дозволяє управляти токенами за допомогою різних команд Artisan:

# Генерація токенів
php artisan bastion:generate {user-id} "LN App Token" \
    --environment=test \
    --type=restricted \
    --scopes=posts:read --scopes=posts:write

# Відкликання токенів
php artisan bastion:revoke {token-id} --reason="Token no longer used"

# Очищення прострочених токенів
php artisan bastion:prune-tokens --expired

# та інше...

Стів підготував зручний пакет з гарним набором функцій. Щоб дізнатися більше про Bastion, його можливості і переглянути вихідний код, відвідайте репозиторій на GitHub

Популярні

Інше, що варто прочитати

53 Оновлено 01 червня, 2026

Усе, що нам відомо про Livewire 4

Нова версія Livewire 4, представленої Келебом Порзіо на Laracon US 2025, обіцяє значні покращення у швидкості та організації компонентів. Які з інноваційних функцій підкорять ваше серце? Читайте далі, щоб дізнатися більше про те, як Livewire 4 полегшить вашу роботу

17 Оновлено 01 червня, 2026

Налаштування Xdebug з Docker та PHP 8.4 всього за одну хвилину

Встановлення Xdebug може бути складним завданням, але в цій статті ми розкриємо, як швидко та просто налаштувати його за допомогою Docker на прикладі Laravel. Дочитайте до кінця, щоб дізнатися, як за кілька хвилин зробити Xdebug вашим надійним помічником у розробці

37 Оновлено 01 червня, 2026

4 поширені помилки Vite у Laravel

Використання Vite для створення фронтенд-ресурсів у вашому додатку Laravel може бути захоплюючим, але іноді ви можете стикнутися з певними помилками. У цій статті ми розглянемо чотири поширені помилки, з якими ви можете зіткнутися, а також підкажемо способи їх усунення, щоб ви могли знову зосередитися на розробці вашого додатку