App runtime

Получить краткосрочную выдачу секрета настройки

Единственная дверь, за которой сохранённый секрет снова становится открытым. Ни персонал платформы, ни владелец кабинета её не имеют: администратор, читающий по API пароль клиента от его почты, — ровно та утечка, ради запрета которой значение и не возвращается никаким другим ответом, а владельцу показывать нечего — он это значение сам и ввёл.

Область отдельная (app:secrets), а не общая с чтением себя: на экране согласия «читает свою настройку» и «забирает секреты, которые вы ему оставите» — разные обещания, и кабинет вправе увидеть второе отдельно.

Выдача существует только для СЕКРЕТА: имя, которое хранится обычной настройкой, отвечает 409, потому что она и так приезжает приложению вместе с остальной настройкой, а второй путь к ней научил бы читателя, что через выдачу можно получить что угодно.

Срок краткосрочный, по умолчанию пять минут и не больше пятнадцати: длину выдачи не назначает получатель. Честная оговорка — сам срок платформа на чужой стороне не исполняет: значение, однажды покинувшее сервер, живёт столько, сколько его там держат. Работают два других механизма — КАЖДОЕ обращение остаётся в журнале установки (его строку называет audit_id), и отзыв установки закрывает следующее.

Метод POST, а не GET, именно поэтому: операция не идемпотентна — она пишет строку журнала, и неудача записи отменяет выдачу. Секрет, ушедший наружу без следа, — это ровно тот случай, ради которого журнал и существует.

post/api/v1/app/config/{key}/lease

Request

  • Base URL: https://erp.akeda.ru
  • URL: https://erp.akeda.ru/api/v1/app/config/{key}/lease
  • Auth: HTTP bearer

Path parameters

keystring required

Имя настройки из манифеста: поле configSchema.properties либо ключ secrets[]. Пространство имён у них общее, потому что значение хранится по имени и второго дома у имени нет.

Headers

X-Tenantstring required

Slug выбранного кабинета; кабинет не является юрлицом

Request body

ttl_secondsinteger

Запрошенный срок выдачи. Ноль или отсутствие поля означают умолчание сервера (пять минут), значение сверх потолка — отказ

Response

Значение секрета, срок выдачи и строка журнала

keystring required
valuestring required

Значение секрета. Уходит вызывающему один раз и не возвращается больше никаким ответом

issued_atstring date-time required
expires_atstring date-time required

Контракт «после этого забирай заново». Срок платформа на чужой стороне не исполняет: работают журнал обращений и отзыв установки

audit_idstring uuid required

Changes

No recorded changes to this operation across all 1 revision of this API.