Download the PHP package besnovatyj/yii2-cms-oauth2 without Composer
On this page you can find all versions of the php package besnovatyj/yii2-cms-oauth2. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Informations about the package yii2-cms-oauth2
besnovatyj/yii2-cms-oauth2
OAuth2-сервер для REST-слоя Yii2 CMS — тонкая интеграция библиотеки
league/oauth2-server в Yii2. Отвечает за выдачу
токенов (grant types: password, refresh_token) и валидацию Bearer-токенов на входящих
REST-запросах.
Это инфраструктурный фундамент REST: от него зависят REST-контроллеры любых модулей (по аналогии с тем, как backend/frontend-контроллеры зависят от своих приложений).
Состав
AuthorizationServer/ResourceServer— Yii-компоненты-обёртки над league (выдача / валидация).bridge/— адаптеры под интерфейсы league (AccessTokenEntity,ClientEntity,RefreshTokenEntity,ScopeEntity,UserEntity,Psr7Factory— мост Yii ↔ PSR-7).entities/— ActiveRecord под таблицыoauth2_*(клиенты, access/refresh токены, scopes).repositories/— реализации репозиториев league.filters/OAuth2BearerAuth— Yii-фильтр авторизации для контроллеров.migrations/— схема БД (таблицыoauth2_*+ дефолтные scopes), устанавливается через modman.
Установка
Миграции накатываются менеджером модулей (modman) при установке. Затем:
-
Сгенерировать ключи (в репозиторий не входят, см.
docs/keys/README.md): -
Смонтировать компоненты в конфиге приложения (composition root, напр.
app/rest/config/main.php): - Endpoint выдачи токена (
POST /oauth2/token) — контроллер в REST-приложении (см. примерapp/rest/controllers/OAuth2Controller.php).
Полная документация, примеры запросов, SQL и TypeScript-клиент — в docs/.
⚠️ Остаточная зависимость от модуля User
src/repositories/UserRepository.php (реализация «password grant») пока ссылается напрямую на
Besnovatyj\User\repositories\UserReadRepository — резолвится через DI-контейнер
(Yii::$container->get(...)). Это единственная точка связи с ядром/модулем User.
План развязки (см. docs/MIGRATION-NOTE.md и общий отчёт GITHUB_MIGRATION_READINESS.md, раздел B6):
инвертировать через контракт UserProvider в yii2-cms-contracts (метод вида
findActiveByUsername() / validateCredentials()), либо перенести этот репозиторий в пакет
besnovatyj/yii2-cms-user при его выделении. До этого пакет корректно работает в составе
приложения, где Besnovatyj\User доступен, но автономно (без User) собирается, но не функционирует
password-grant.
Тот же residual-момент в dev-скрипте docs/dev/create-test-user.php (Besnovatyj\User\entities\User).
Зависимости
php >=8.4, yiisoft/yii2, league/oauth2-server ^9, nyholm/psr7, nyholm/psr7-server,
psr/http-message, besnovatyj/yii2-cms-kernel, besnovatyj/yii2-cms-contracts.
Лицензия
MIT.
All versions of yii2-cms-oauth2 with dependencies
besnovatyj/yii2-cms-contracts Version ^1.0
php Version >=8.4
yiisoft/yii2 Version ~2.0.0
league/oauth2-server Version ^9.0
nyholm/psr7 Version ^1.8
nyholm/psr7-server Version ^1.1
psr/http-message Version ^1.1 || ^2.0