- порядок беклога и роадмапа назначен слоями: проверки, которым можно верить → долги входа → владелец записи и контракт API → конвейер под тестами → приложение и возможности поверх; у каждого движения записана причина; - заведены восемь задач под пункты «Завершения», которых не закрывала ни одна запись, — цель any-audio-source была без задач вовсе; - у четырёх задач сняты критерии, требовавшие того, что делает задача ниже по очереди; исправлены ссылки на несуществующий repo/sqlite и на отменённую разведку об очереди.
2.2 KiB
2.2 KiB
🎯 Сервисом пользуются несколько человек, и записи одного не видны другому
- Тип: goal
- Секция: Запланировано — Владелец записи — фундамент, на котором стоят список своих записей, дедупликация, удаление, учёт расхода и квота: пока его нет, остальные цели строятся на песке.
- Зачем: У задачи нет владельца, а HTTP API открыт наружу без аутентификации: пригласить второго человека сейчас значит открыть ему чужие расшифровки.
- Теги: decomposed
Приложение узнаёт, кто к нему пришёл, и показывает каждому только его записи. Учётные записи заводит и проверяет внешний провайдер — Authelia по OIDC; своей регистрации и своих паролей не делаем, это граница из паспорта.
Завершение
- Неаутентифицированный запрос к записям не проходит: ни к странице, ни к API.
- У задачи и файла есть владелец, и выборка чужой записи по её идентификатору возвращает «не найдено», а не содержимое.
- Вход идёт через OIDC у Authelia; выход из сессии работает.
- Пользователь Telegram сопоставлен с учётной записью, и записи, пришедшие ботом, видны ему же в браузере.
- Белый список Telegram перестаёт быть отдельным механизмом: право писать боту выводится из учётной записи.
- Скрипт ходит в API по токену, выпущенному пользователем, и видит ровно его записи.