garbuzivan / laraveltokens
Package for working with personal and global tokens in Laravel + API middleware
Requires
- php: ^7.4|^8.0
- ext-json: *
- ext-sodium: *
Requires (Dev)
- facade/ignition: ^2.3.6
- laravel/framework: ^8.0
- mockery/mockery: >=1.3
- orchestra/testbench: ^6.0
- phpunit/phpunit: ^9
- squizlabs/php_codesniffer: ^3.6
This package is auto-updated.
Last update: 2024-10-29 06:06:23 UTC
README
Laravel tokens
Package - manager for working with personal and global tokens in Laravel + API Middleware
Отличительные особенности
- Пакет позволяет опционально хранить токены в закрытым или открытом виде опционально.
- Возможность привязать токены к пользователю
- Возможность создать глобальные токены, которые позволяют получить доступ через свой Middleware без привязки к пользователю
- Собственный Middleware
- Возможность отслеживать последнюю активность токена
- Консольные команды для создания, редактирования и удаления
Локальная установка пакета после генерации, без публикации в GIT и PACKAGIST
Добавить в секцию repositories файла composer.json путь пакета в формате:
"repositories": [ { "type": "path", "url": "./packages/garbuzivan/laraveltokens/" } ]
Install - Установка
composer require garbuzivan/laraveltokens
Добавление ServiceProvider в config/app.php секция 'providers'
Garbuzivan\Laraveltokens\ServiceProvider::class,
Конфигурационный файл
php artisan vendor:publish --force --provider="Garbuzivan\Laraveltokens\ServiceProvider" --tag="config"
.env
Необходимо установить свой код кодировки токенов. Используется для подписи сертификата и создании сигнатуры. Можно использовать для проверки токена на стороне клиента. При указании пути к файлу, автоматически ключом будет использоваться содержимое файла.
LARAVEL_TOKENS_SALT=Fo3SMqqUbrxKJMQW0sVOB4Q
Подключение Middleware
Добавить в файл app/Http/Kernel.php в $middlewareGroups блок "api" новый Middleware
\Garbuzivan\Laraveltokens\Middleware\LaravelTokens::class,
Добавить в файл app/Http/Kernel.php в $routeMiddleware
'auth.laravel.tokens' => \Garbuzivan\Laraveltokens\Middleware\LaravelTokens::class,
Подключить Trait к Model/User
use UserTrait;
Консольные команды
Список команд можно посмотреть в artisan. Доступно создание, удаление и продление токенов
php artisan tokens
Пример применения Route::middleware
Route::get('/', function () { return "Test API auth.laravel.tokens - Garbuzivan\Laraveltokens\Middleware\LaravelTokens"; })->middleware(['auth.laravel.tokens']);