Описание: Установить новый пароль пользователю. Поведение зависит от того, кто вызывает метод:

  • Если id (пользователь, которому меняют пароль) совпадает с текущим авторизованным пользователем и передан old_password — это обычная смена собственного пароля: старый пароль проверяется, новый — проверяется на соответствие политике паролей и на повтор из истории паролей.
  • Если id совпадает с текущим пользователем, но old_password не передан — запрос будет отклонён (менять свой пароль без указания старого нельзя).
  • Если id — другой пользователь, требуется право update на этого пользователя (например, у администратора) — старый пароль в этом случае не проверяется.

Если у сессии, из которой меняют пароль, был статус "требуется смена/установка пароля" (см. status в ответе метода Login), после успешной смены статус сессии переводится в "активна".


🌐 HTTP-информация

  • Метод: POST
  • URL: /api/security/SetPassword
  • Headers:
    • Content-Type: application/json
    • Authorization: <UserSessionToken>

📦 Тело запроса (Request Body)

ПолеТипОбяз.Описание
principalGuidДаID пользователя, которому устанавливается пароль
passwordstringДаНовый пароль
old_passwordstringНетТекущий (старый) пароль — обязателен при смене собственного пароля
is_change_password_at_next_loginboolНетЕсли true — пароль сразу помечается как просроченный, и при следующем входе будет предложено сменить его. По умолчанию false
is_two_factor_authentication_enabledboolНетЕсли передано — включает или выключает двухфакторную аутентификацию для пользователя. При выключении также сбрасывается признак подключённого TOTP-приложения

Пример JSON-тела:

{
  "principal": "622dddbb-2db2-433d-9d3c-89f31ea22e64",
  "password": "NewP@ssw0rd",
  "old_password": "OldP@ssw0rd"
}

📤 Тело ответа (Response Body)

Метод ничего не возвращает (void, HTTP 200 OK без тела в случае успеха).

  • No labels