Изменить пароль пользователя

Изменяет пароль пользователя.

Запрос

HTTP Запрос

PUT /node/api/users/:id/password

Права

Для того, чтобы изменить свой пароль, особые права не требуются. Для изменения паролей других пользователей:

manage-users

Параметры пути

Параметр Тип Описание

id

String
обязательный

ID пользователя.

Параметры тела запроса

Параметр Тип Описание

newPassword

String
обязательный

Новый пароль пользователя.

currentPassword

String

Текущий пароль пользователя. Опциональный для изменения паролей других пользователей, обязательный для изменения собственного пароля.

Тело запроса

Чтобы изменить собственный пароль, нужно передать текущий пароль вместе с новым:

{
    "currentPassword": "qwerty",
    "newPassword": "qwerty_qwerty"
}

Чтобы изменить пароль другого пользователя, нужно передать его нвый пароль в поле newPassword:

{
    "newPassword": "qwerty_qwerty"
}

Новый пароль должен соответствовать стандартной Парольной политике. Если он не соответствует, запрос вернёт ошибку с первым найденным несоответствием:

{
    "code": "Internal",
    "message": "caused by Error: Password does not match policy: minimum number of characters - 32"
}

Ответ

Тело ответа пустое.

Пример

Запрос

  • Bash

  • JavaScript

  • NodeJS

  • Python

login=<...>
password=<...>
saymon_hostname=<...>
user_id=<...>
url=https://$saymon_hostname/node/api/users/$user_id/password

curl -X PUT $url -u $login:$password \
    -H "Content-Type: application/json" \
    -d @- <<EOF
{
    "currentPassword": "qwerty",
    "newPassword": "qwerty_qwerty"
}
EOF
let login = <...>
let password = <...>
let saymonHostname = <...>
let userId = <...>
let path = "/node/api/users/" + userId + "/password";
let auth = "Basic " + btoa(login + ":" + password);

let headers = new Headers();
headers.append("Content-Type", "application/json");
headers.append("Authorization", auth);

let data = JSON.stringify({
    "currentPassword": "qwerty",
    "newPassword": "qwerty_qwerty"
});

let requestOptions = {
    method: "PUT",
    headers: headers,
    body: data
};

fetch(saymonHostname + path, requestOptions)
    .then(response => response.text())
    .then(result => console.log(result))
    .catch(error => console.log("error", error));
const http = require("http");

let login = <...>
let password = <...>
let saymonHostname = <...>
let userId = <...>
let path = "/node/api/users/" + userId + "/password";
let auth = "Basic " + Buffer.from(login + ":" + password).toString("base64");

let options = {
    "method": "PUT",
    "hostname": saymonHostname,
    "headers": {
        "Authorization": auth,
        "Content-Type": "application/json"
    },
    "path": path
};

let req = http.request(options, function (res) {
    let chunks = [];

    res.on("data", function (chunk) {
        chunks.push(chunk);
    });

    res.on("end", function (chunk) {
        let body = Buffer.concat(chunks);
        console.log(body.toString());
    });

    res.on("error", function (error) {
        console.error(error);
    });
});

let data = JSON.stringify({
    currentPassword: "qwerty",
    newPassword: "qwerty_qwerty"
});

req.write(data);
req.end();
import requests

login = <...>
password = <...>
saymon_hostname = <...>
user_id = <...>
url = "https://" + saymon_hostname + "/node/api/users/" + \
    user_id + "/password"

body = {
    "currentPassword": "qwerty",
    "newPassword": "qwerty_qwerty"
}

response = requests.request("PUT", url, auth=(login, password))
print(response.text)