Files
transcriber/tasks/items/login-surface-hypotheses.md
T
av b7d4660aef канон: раскладка повышена до версии 4
- слово «провенанс» снято из словаря проектных текстов: у числа теперь
  «происхождение», у вопроса и находки — «откуда»
- правлены форма вопроса в docs/review.md, шапка раздела об OIDC в
  docs/research/pocketbase.md и две записи задач; формулировки прошли
  вычитку агентами doc-wording и task-wording
- архив openspec/changes/archive/ не тронут: слово, верное на день записи,
  остаётся свидетельством
2026-08-14 09:51:01 +03:00

45 lines
3.8 KiB
Markdown

# 🔬 Четыре недоказанные гипотезы о поверхности входа
- **Тип:** research
- **Категория:** Очередь — Разведка закрывает тему входа последней: остальные три задачи меняют то, что она проверяет.
- **Зачем:** Ревью назвало четыре пути, которых не смогло ни подтвердить, ни опровергнуть: браузера и живого провайдера в прогоне не было.
Откуда — отчёт триажа ревью задачи `oidc-login` 2026-08-12,
[review/report.md](../../openspec/changes/archive/2026-08-12-oidc-login/review/report.md),
раздел «Гипотезы без доказательства». Каждая либо становится задачей, либо
закрывается с причиной; сегодня они не то и не другое.
## Вопрос
Работает ли хоть один из четырёх путей на самом деле, и если да — чего стоит
каждый?
1. **Выход по чужой ссылке.** Адрес выхода сессии не требует и на запросе с
чужого сайта отвечает успехом, убирая куку. Применит ли браузер эту куку при
ограничении `SameSite=Lax` — по коду не выяснить. Если применит, человека
выкидывает молча, а унесённое значение остаётся годным.
2. **Слияние двух учётных записей провайдера с одной почтой.** Обмен ищет запись
по неизменяемому признаку провайдера, а не найдя — по адресу почты. Выдаст ли
Authelia двум разным субъектам один адрес, зависит от её настройки.
3. **Поле снимка в ответе провайдера тянет данные наружу.** Оно сопоставлено
файловому полю учётной записи, и библиотека скачивает названный там адрес —
до потолка размера записи. Шлёт ли Authelia это поле и кто им управляет,
неизвестно.
4. **Анонимный запрос подтверждения почты.** Адрес отвечает успехом и заставляет
сервис слать почту. Почта не настроена, и потолка числа запросов нет.
## Куда ляжет ответ
- подтверждённый путь — задачей в беклоге, и она называет эту разведку;
- опровергнутый — строкой в `docs/security.md`, раздел «Что вне модели» либо
«Что разграничивает доступ», чтобы следующее ревью не открывало его заново;
- то, что зависит от настройки Authelia, — строкой там же, с указанием, какая
именно настройка это решает.
## Рамки
Смотрим только четыре названных пути. Первый требует настоящего браузера, второй
и третий — настоящей Authelia либо её настройки из `pet-project-server`;
четвёртый воспроизводится своим прогоном без внешних систем и потому берётся
первым. Прогонов на боевом контуре не делаем.