Search by

uzairports / uzair-id

uzairports

OAuth 2.0 Integration with Uzbekistan Airports Single Sign-On System for Laravel

Package info

github.com/uzairports/uzair-id

pkg:composer/uzairports/uzair-id

Statistics

Installs: 122

Dependents: 0

Suggesters: 0

Stars: 1

Open Issues: 0

3.2.1 2026-10-11 13:47 UTC

This package is auto-updated.

Last update: 2026-10-28 23:01:37 UTC


README

OAuth 2.0 интеграция с системой единой аутентификации Uzbekistan Airports.
Позволяет авторизовать пользователей через UzAirports ID, автоматически создавать аккаунты, управлять токенами и выполнять безопасный logout.

Быстрый старт

composer require uzairports/uzair-id

php artisan vendor:publish --tag=uzairid-config
php artisan vendor:publish --tag=uzairid-migrations
php artisan migrate
UZAIR_CLIENT_ID=your-client-id
UZAIR_CLIENT_SECRET=your-client-secret
UZAIR_CALLBACK_URL=https://your-app.com/auth/callback

Маршруты — в routes/web.php:

use Uzairports\Uzairid\Uzair;

Uzair::routes();

Трейт — в модели User:

use Uzairports\Uzairid\Concerns\HasUzairToken;

class User extends Authenticatable
{
    use HasUzairToken;
}

Middleware uzair.token — на все аутентифицированные маршруты: он обновляет access-токен, замечает завершённые входы и продлевает строку входа, чтобы уборка не удалила её из-под живого пользователя.

Route::get('/dashboard', [DashboardController::class, 'index'])
    ->middleware(['auth', 'uzair.token']);

⚠️ Перед установкой в приложение с существующей таблицей users прочитайте раздел Установка: пакету нужно, чтобы с users.email были сняты уникальность и NOT NULL, а колонка password — удалена либо nullable.

Документация

Раздел О чём
Установка Composer, публикация конфигурации, базовые и опциональные миграции, обновление со старых версий, языковые файлы, долгоживущие процессы, тестовые хелперы
Конфигурация Переменные .env, полная таблица ключей config/uzairports.php, Guard, смена провайдера (uzair:provider), PKCE
Идентификация пользователя Почему опознание идёт по uzair_id, ResolveUserFromSocialite, привязка старых аккаунтов по email, дополнительные поля аккаунта
Аутентификация Маршруты и лимиты, конфликт имени login, Uzair::loginUrl(), контроллер, трейт HasUzairToken
Мобильное приложение Вход мобильного клиента через токен Sanctum: обмен кода, обновление токена, Uzair::apiRoutes(), uzairTokens()
Сессии и устройства Несколько устройств, смена id сессии, гибридный вход по паролю, завершение входов, список входов, уборка, единственная сессия
События Шесть доменных событий и пример регистрации слушателей
Обновление токена Middleware uzair.token, блокировка при параллельных запросах, ручное обновление

История изменений — в CHANGELOG.md.

Для получения доступа к UzAirports ID, пожалуйста, свяжитесь с технической поддержкой: it@uzairports.com

Тесты и статический анализ

composer test
composer analyse

Лицензия

Этот пакет распространяется под лицензией MIT.

Copyright (c) 2025 JSC "Uzbekistan Airports"

См. файл LICENSE для подробностей.