Files
transcriber/tasks/items/multi-user.md
T

25 lines
1.9 KiB
Markdown

# 🎯 Сервисом пользуются несколько человек, и записи одного не видны другому
- **Тип:** goal
- **Секция:** Запланировано
- **Зачем:** У задачи нет владельца, а HTTP API открыт наружу без аутентификации: пригласить второго человека сейчас значит открыть ему чужие расшифровки.
- **Теги:** decomposed
Приложение узнаёт, кто к нему пришёл, и показывает каждому только его записи.
Учётные записи заводит и проверяет внешний провайдер — Authelia по OIDC; своей
регистрации и своих паролей не делаем, это граница из
[паспорта](../../docs/passport.md).
## Завершение
1. Неаутентифицированный запрос к записям не проходит: ни к странице, ни к API.
2. У задачи и файла есть владелец, и выборка чужой записи по её
идентификатору возвращает «не найдено», а не содержимое.
3. Вход идёт через OIDC у Authelia; выход из сессии работает.
4. Пользователь Telegram сопоставлен с учётной записью, и записи, пришедшие
ботом, видны ему же в браузере.
5. Белый список Telegram перестаёт быть отдельным механизмом: право писать боту
выводится из учётной записи.
6. Скрипт ходит в API по токену, выпущенному пользователем, и видит ровно его
записи.