Laravel Packages

Token Forge - API Token Management with Laravel Breeze

Published Updated
Token Forge - API Token Management with Laravel Breeze image

Token Forge by Blaspsoft, is a versatile Laravel package designed to add robust, customizable API token management to your application. The package is inspired by Laravel Jetstream’s token implementation but for users of Laravel Breeze.

Key Features

The key features of this package include:

  • Token Management: Create, update, and revoke API tokens with ease.
  • Permission Control: Define granular permissions for tokens.
  • Activity Monitoring: Monitor token usage and activity for better security.
  • Integration: Works with Laravel's authentication and session systems.
  • Customization: Supports a configurable interface via a TokenForgeController contract, adapting to specific application needs.

Note: This package supports both the Blade and Inertia Vue stacks provided by Laravel Breeze and requires Laravel Sanctum. Before installing Token Forge, ensure the chosen Laravel Breeze stack is installed and properly configured along with Laravel Sanctum.

Assuming those dependencies are already installed and configured properly, you can install Token Forge using composer:

composer require blaspsoft/token-forge
php artisan vendor:publish --tag=token-forge-config --force

This will publish a configuration file at config/token-forge.php, allowing you to customize Token Forge settings.

Depending on the Laravel Breeze stack you chose, run the appropriate command to install Token Forge:

# For blade
php artisan token-forge:install blade
 
#For Vue-Inertia
php artisan token-forge:install vue

If you are using Inertia with Vue, there is an additional change you will need to make in your HandleInertiaRequest.php middleware. This allows Token Forge to flash token information to your Inertia responses thus allowing you to use the token in your Vue components.

public function share(Request $request): array
{
return [
...parent::share($request),
'auth' => [
'user' => $request->user(),
],
'flash' => [
'tokenForge' => [
'token' => fn () => session()->get('token'),
],
],
];
}

Also in the config/token-forge.php file you will want to specifiy your default and available permissions. For example:

'default_permissions' => [
'read',
],
'available_permissions' => [
'create',
'read',
'update',
'delete',
],

Once setup, Token Forge will provide you with routes providing a complete interface to generate, view, and revoke API tokens through a consistent REST API.

You can learn more about this package, get full installation instructions, and view the source code on GitHub.

Yannick Lyn Fatt photo

Staff Writer at Laravel News and Full stack web developer.

Sponsored

masteringlaravel logo
Laravel Code Review

Get expert guidance in a few days with a Laravel code review

Visit Laravel Code Review

The latest

View all →
Validate and Convert HEIC Images in Laravel image

Validate and Convert HEIC Images in Laravel

Read article
Saga Lara Flow: Durable Workflows and Compensating Transactions on Laravel Queues image

Saga Lara Flow: Durable Workflows and Compensating Transactions on Laravel Queues

Read article
Reject Unexpected Array Keys with Laravel Validation image

Reject Unexpected Array Keys with Laravel Validation

Read article
Major performance improvements & security patches for Filament v4.12 and v5.7! image

Major performance improvements & security patches for Filament v4.12 and v5.7!

Read article
Laravel Boost Project Rules: Teach Agents Your Conventions image

Laravel Boost Project Rules: Teach Agents Your Conventions

Read article
Extract an Image's Dominant Color in Laravel image

Extract an Image's Dominant Color in Laravel

Read article