Пароли#
Изменение пароля#
POST https://login.company.com/blitz/api/v3/users/{instanceId}/pswd
Изменение пароля. Чтобы узнать значение instanceId
для пользователя, необходимо предварительно вызвать методом GET сервис получения атрибутов пользователя.
Необходимые разрешения: blitz_api_usec_chg
или blitz_api_sys_usec_chg
.
При смене пароля в пользовательском режиме необходимо передать заголовки с IP‑адресом пользователя и
User-Agent
.В Blitz Identity Provider есть функция безопасности, обеспечивающая при смене пользователем пароля автоматическое аннулирование всех сессий пользователя и удаление всех запомненных устройств, с которых пользователь ранее осуществлял вход и на которых был возможен повторный вход без ввода пароля. Если пользователь меняет пароль самостоятельно в Личном кабинете, автоматический выход с текущего устройства/браузера может быть нежелательным. Для того чтобы указать Blitz Identity Provider, что определенное устройство необходимо сохранить по результатам успешной смены пароля (не делать с него логаут), необходимо в вызов сервиса смены пароля передать от приложения заголовок
IB-CI-UA-ID
с идентификатором текущего устройства пользователя. Идентификатор текущего устройства пользователя можно получить из маркера идентификации.
current
– текущий пароль пользователя (только при смене пароля в пользовательском режиме – обязательно передается);password
– новый пароль пользователя (необязательный параметр). Если параметр не задан, то Blitz Identity Provider самостоятельно сгенерирует новый пароль;sendPswdToAttr
– имя атрибута с телефонным номером для отправки пользователю пароля (необязательный параметр). Если параметр задан, то пользователю на телефон из указанного атрибута будет отправлена SMS с паролем.
В случае успешного вызова Blitz Identity Provider -
HTTP 204 No Content
.Важно
Смена пароля также приведет к аннулированию ранее полученных маркеров доступа и маркеров обновления текущего пользователя.
Если смена пароля завершилась ошибкой - сообщение об ошибке:
HTTP 401 Unauthorized
в случае ошибки контроля доступа - неправильный маркер доступа или неправильный текущий пароль пользователя.HTTP 400 Bad Request
- новый пароль не удовлетворяет требованиям парольной политики.
Примеры
POST /blitz/api/v3/users/Mzg…J1/pswd HTTP/1.1
Content-Type: application/json
X-Forwarded-For: 200.200.100.100
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_5)…
Authorization: Bearer wzb…Tw
IB-CI-UA-ID: {SHA256}rVWFmwgRKWeW_flH4CA4yuW7OhKZ32Da94m0kzwWsVs
{
"current": "QWErty123",
"password": "P@$$w0rd"
}
POST /blitz/api/v3/users/Mzg…J1/pswd HTTP/1.1
Content-Type: application/json
Authorization: Bearer qwa…Ez
{
"password": "P@$$w0rd"
}
POST /blitz/api/v3/users/Mzg…J1/pswd HTTP/1.1
Content-Type: application/json
Authorization: Bearer qwa…Ez
{
"sendPswdToAttr": "phone_number"
}
{
"type": "security_error",
"error": "invalid_credential",
"desc": "Wrong subject identifier or current password"
}
{
"type": "security_error",
"error": "bad_access_token",
"desc": "BEARER_AUTH: CRID does not match"
}
{
"type": "input_error",
"error": "wrong_values",
"errors": [
{
"type": "input_error",
"error": "password_policy_violated",
"desc": "Password's length must be greater than 6",
"pos": "password",
"params": {
"rule": "to_short",
"low": 6
}
}
]
}
{
"type": "input_error",
"error": "password_policy_violated",
"desc": "Failed to update password\n",
"pos": "password",
"params": {
"rule": "id_store"
}
}
{
"type": "input_error",
"error": "wrong_values",
"errors": [
{
"type": "input_error",
"error": "password_policy_violated",
"desc": "Password doesn't match enough symbols groups",
"pos": "password",
"params": {
"rule": "not_enough_groups",
"no_matched_groups": [
{
"desc": "password.policy.desc.digits",
"min_number_symbols": 1
},
{
"desc": "password.policy.desc.capital",
"min_number_symbols": 1
},
{
"desc": "password.policy.desc.special",
"min_number_symbols": 1
}
]
}
}
]
}
{
"type": "input_error",
"error": "wrong_values",
"errors": [
{
"type": "input_error",
"error": "password_policy_violated",
"desc": "Password found in previous used ones",
"pos": "password",
"params": {
"rule": "in_password_history"
}
}
]
}
{
"type": "input_error",
"error": "wrong_values",
"errors": [
{
"type": "input_error",
"error": "password_policy_violated",
"desc": "A new password can't be the same as the current",
"pos": "password",
"params": {
"rule": "eq_current"
}
}
]
}
{
"type": "input_error",
"error": "wrong_values",
"errors": [
{
"type": "input_error",
"error": "password_policy_violated",
"desc": "There are not enough new characters in a new password",
"pos": "password",
"params": {
"rule": "not_enough_new_chars",
"minNew": 5
}
}
]
}
{
"type": "input_error",
"error": "wrong_values",
"errors": [
{
"type": "input_error",
"error": "password_policy_violated",
"desc": "Password contains a word from the stop dictionary",
"pos": "password",
"params": {
"rule": "in_stop_dic",
"stop_word": "qwerty"
}
}
]
}
{
"type": "input_error",
"error": "wrong_values",
"errors": [
{
"type": "input_error",
"error": "password_policy_violated",
"desc": "Password found in a password dictionary",
"pos": "password",
"params": {
"rule": "in_password_dic"
}
}
]
}
{
"type": "input_error",
"error": "wrong_values",
"errors": [
{
"type": "input_error",
"error": "password_policy_violated",
"desc": "Password is too young",
"pos": "password",
"params": {
"rule": "too_young",
"minAgeInSec": 86400
}
}
]
}
{
"type": "input_error",
"error": "wrong_values",
"errors": [
{
"type": "input_error",
"error": "wrong_value",
"desc": "Wrong mobile attribute 'phone_number_wrong'",
"pos": "sendPswdToAttr"
}
]
}
{
"type": "input_error",
"error": "wrong_values",
"errors": [
{
"type": "input_error",
"error": "wrong_value",
"desc": "User not contains mobile attribute 'phone_number'",
"pos": "sendPswdToAttr"
}
]
}
Изменение пароля ведомого аккаунта#
POST https://login.company.com/blitz/api/v2/users/{subject}/password
Изменение пароля ведомой учетной записи пользователя с помощью ведущей учетной записи пользователя. subject
– идентификатор (sub
) ведомой учетной записи.
В запрос должен быть добавлен заголовок с маркером доступа на разрешение с именем blitz_change_password
, полученным ведущей учетной записью. Ведущий пользователь может вызвать смену пароля ведомого только в том случае, если ранее ведущему пользователю было дано право на изменение пароля change_password
.
Атрибут value
со значением нового пароля, которое должно соответствовать требованиям настроенной парольной политики.
При успешной смене пароля - статус
HTTP 200 (OK)
.При наличии ошибки - описание полученной ошибки.
Пример
POST /blitz/api/v2/users/c574a512-3704-4576-bc3a-3fe28b636e85/password HTTP/1.1
Authorization: Bearer cNwIX…Tg
Content-Type: application/json
{"value":"QWErty1234"}
{
"errors": [
{
"code": "access_denied",
"desc": "Not enough rights: change_password",
"params": {}
}
]
}