garbuzivan/laraveltokens

Package for working with personal and global tokens in Laravel + API middleware

dev-main 2022-06-01 09:55 UTC

This package is auto-updated.

Last update: 2024-10-29 06:06:23 UTC


README

Scrutinizer Code Quality Code Coverage Build Status Code Intelligence Status

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']);