tasks: вход переезжает на заголовки прокси, пять задач про OIDC закрыты
- заведена `trusted-header-login` и поставлена в голову очереди - пять задач про механику OIDC закрыты как отменённые ею - `dev-run-task` и `api-tokens` переписаны под новый вход
This commit is contained in:
@@ -2,17 +2,24 @@
|
||||
|
||||
- **Тип:** feature
|
||||
- **Категория:** Очередь — Второй способ представиться ставится на готовые владельца и контракт, иначе форма ошибки переписывается дважды.
|
||||
- **Зачем:** Вход через OIDC закрывает API целиком, а скрипту браузерная сессия недоступна: автоматизировать загрузку станет нечем.
|
||||
- **Зачем:** Скрипту недоступны ни браузерная сессия, ни вход у Authelia: домен целиком стоит за прокси, и автоматизировать загрузку нечем.
|
||||
|
||||
Запрос без токена не проходит, а скрипт ходит в API по токену, выпущенному
|
||||
пользователем, и видит ровно его записи.
|
||||
|
||||
Половина работы при этом лежит на контуре: домен целиком стоит за `forward_auth`
|
||||
Authelia, и запрос скрипта не доходит до сервиса вовсе — его отбивает прокси.
|
||||
Значит адресам API нужно правило, пропускающее их к сервису, а сервис судит
|
||||
токен сам. Правило живёт в `pet-project-server`, вне этого репозитория.
|
||||
|
||||
Токен принадлежит учётной записи и даёт ровно её права: записи, заведённые по
|
||||
токену, видны владельцу в приложении, и наоборот.
|
||||
|
||||
## Затрагивает
|
||||
|
||||
- заголовок авторизации у всех адресов приложения `/app/`;
|
||||
- заголовок авторизации у всех адресов приложения `/app/` и его отношение к
|
||||
заголовку, который ставит прокси: два способа представиться и один владелец;
|
||||
- правило Authelia, пропускающее адреса API мимо входа, — в `pet-project-server`;
|
||||
- таблица токенов: владелец, имя, отпечаток, время выпуска и последнего
|
||||
обращения, и её миграция;
|
||||
- адреса выпуска, перечня и отзыва токена — `/app/me/tokens`;
|
||||
@@ -35,6 +42,7 @@
|
||||
|
||||
Учётные записи по-прежнему заводит Authelia — свою регистрацию не делаем.
|
||||
Сроков жизни и областей действия у токена не заводим: он даёт права владельца
|
||||
целиком. Берётся после `oidc-login`: до неё представляться некому. Экрана выпуска здесь
|
||||
целиком. Берётся после `trusted-header-login`: до неё представляться некому, а
|
||||
она же решает, какому источнику сервис верит. Экрана выпуска здесь
|
||||
нет — приложения ещё не существует, токен выпускается запросом к API; место
|
||||
токена на экране настроек заводит `settings-screen`.
|
||||
|
||||
Reference in New Issue
Block a user