tasks: закрыта задача oidc-login, заведён урожай ревью

This commit is contained in:
av
2026-08-12 18:10:59 +03:00
parent c44f0e7582
commit ddc34b3182
10 changed files with 341 additions and 68 deletions
@@ -0,0 +1,38 @@
# 🧹 Строить адрес входа из настроек коллекции, а не из конфига
- **Тип:** chore
- **Категория:** Очередь
- **Зачем:** Первая половина входа собрана руками из конфига и на настройки провайдера не смотрит, вторая берётся из коллекции: обновление библиотеки изменит только вторую половину.
Найдено ревью задачи `oidc-login` 2026-08-12, отчёт триажа —
[review/report.md](../../openspec/changes/archive/2026-08-12-oidc-login/review/report.md),
пункт срезанного потолком под номером 7.
Сегодня адрес согласия собирается своим кодом: состав запрашиваемых сведений,
способ проверочного кода и признак ответа записаны у нас, а обмен кода берёт
настройки провайдера из коллекции хранилища. Библиотека умеет собирать этот
адрес сама — она делает это своим обработчиком способов входа.
Цена расхождения отложенная: адреса провайдера и идентификатор клиента получают
второго потребителя мимо единственного места, где настройки живут, а правка
провайдера в панели на начало входа не влияет вовсе. Обновление библиотеки,
тронувшее форму запроса согласия, доедет до половины протокола и разойдётся
молча — отказом на живой выкладке, которого нечем воспроизвести.
## Затрагивает
- эндпоинт `GET /auth/login`, где сегодня адрес согласия собирается вручную;
- поля `auth_url` и `client_id` в секции `[auth]` конфига и их проброс —
часть из них перестаёт быть нужной приложению;
- дельта-спека `access`, требование «Вход через внешнего провайдера» — состав
запрашиваемых сведений и способ проверочного кода перестают быть нашими.
## Критерии приёмки
- Адрес согласия строится из настроек коллекции: правка провайдера в панели
меняет адрес, куда уводит вход. Оракул — тест: сменить настройки провайдера в
хранилище и убедиться, что адрес перенаправления изменился.
- Проверочный код и состав запрашиваемых сведений берутся у библиотеки, а не
записаны у нас. Оракул — чтение кода: своих литералов состава больше нет.
- Вход по-прежнему проходит целиком. Оракул — существующий тест входа через
подставного провайдера остаётся зелёным.