Provider adapters и граница совместимости
triangle/oauth · AGPL-3.0-or-later
Точка входа — Triangle\OAuth, не Triangle\OAuth\OAuth. Конструктор получает массив или путь config плюс необязательные StorageInterface и Monolog logger. authenticate(name) получает adapter и возвращает redirect response либо подключённый adapter. Provider state управляется через getAdapter, getProviderConfig, isConnectedWith, getProviders, getConnectedProviders, getConnectedAdapters, disconnectAllAdapters.
Config задаёт callback URI и именованные providers с enabled, adapter и keys. Используйте точный зарегистрированный HTTPS callback, credentials — из secret storage. Нужны session storage и соответствующий HTTP client; наличие provider в исходниках не доказывает поддержку текущего внешнего OAuth API.
Сверенный код импортирует Triangle\Http\Response, которого нет в текущем HTTP engine; support request/response aliases используют Triangle\Request / Engine response. Development dependency Composer также указывает triangle/http, тогда как Web использует triangle/engine-http. До copy/paste login примера нужно устранить и проверить эту совместимость.
Provider OAuth login и OAuth authorization server MIX ID — разные продукты. Успешный redirect не подтверждает PKCE/state/nonce/token validation. Проверяйте callback binding, одноразовый state, replay resistance и верификацию токена каждого adapter. Минимизируйте credentials scopes и не логируйте токены. Полные external-provider login тесты не заявляются.
Прямые зависимости
Заголовок раздела «Прямые зависимости»| Package | Constraint |
|---|---|
php | ^8.2 |
ext-mbstring | * |
ext-json | * |
ext-curl | * |
localzet/http | ^2.0 |
Сверенная ревизия · 6d49f02cb864.