# 🧹 Строить адрес входа из настроек коллекции, а не из конфига - **Тип:** 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`, требование «Вход через внешнего провайдера» — состав запрашиваемых сведений и способ проверочного кода перестают быть нашими. ## Критерии приёмки - Адрес согласия строится из настроек коллекции: правка провайдера в панели меняет адрес, куда уводит вход. Оракул — тест: сменить настройки провайдера в хранилище и убедиться, что адрес перенаправления изменился. - Проверочный код и состав запрашиваемых сведений берутся у библиотеки, а не записаны у нас. Оракул — чтение кода: своих литералов состава больше нет. - Вход по-прежнему проходит целиком. Оракул — существующий тест входа через подставного провайдера остаётся зелёным.