Приглашения на регистрацию (invites)
Обзор
Производит управление приглашениями пользователей на регистрацию.
Двухэтапный алгоритм:
-
1. POST-запрос от авторизованного администратора домена на отправку письма со ссылкой-приглашением на регистрацию.
-
1.1. Проверка наличия поля 'userid' в JSON-теле запроса. Домен тот же самый, куда авторизован админстратор.
-
1.2. Создание сущности system/Invites с ограничением времени жизни в 3 дня.
-
1.3. Отправка письма на почту пользователя со ссылкой, содержащей UUID запроса на регистрацию. Ссылка ведет на системное веб-приложение /app-root, однако она содержит идентификатор, который может быть применен для непосредственного вызова API запросом PATCH.
-
-
2. PATCH-запрос на изменение пароля.
-
2.1. Проверка наличия поля 'pwd' и опционально 'login' и 'name' в JSON-теле запроса.
-
2.2. Проверка актуальности приглашения на основании идентификатора, переданного в URL.
-
2.3. Отправка запроса на изменение пароля и опционально логина и имени в MDC и проверка политики сложности паролей.
-
2.4. В случае успеха удаление сущности system/Invites.
-
Для успешной отправки писем необходимо настроить профиль почтового сервера, учетную запись почтового сервера и выставить ей флаг 'isSystem'.
Запросы
HTTP verb | Endpoint | Описание |
---|---|---|
|
|
|
|
|
Отправка приглашения
Выполняется администратором домена.
Приглашение разрешено отправлять не чаще чем 1 раз в 2 минуты для одного и того же email-адреса и с одного и того же IP-адреса.
Запрос
POST /rest/v1/iam/invites HTTP/1.1
Content-Type: application/json; charset=utf-8
{
"userid": "12341234-1234-1234-1234-123412341234"
}
Ответ
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
{
"error_code": 0,
"result": true,
"result_msg": "Email was ordered"
}
HTTP/1.1 412 Precondition failed
Content-Type: application/json; charset=utf-8
{
"error_code": 1413,
"error_message": "User not found."
}
Замена забытого пароля (без авторизации)
Шаг 2/2 двухэтапного алгоритма восстановления забытого пароля.
Поля login и name опциональны, по умолчанию не изменяются.
Запрос
PATCH /rest/v1/iam/invites/602c559c-0183-a834-ee7d-7cd30a921f58 HTTP/1.1
Content-Type: application/json; charset=utf-8
{
"pwd": "ew!hIb3V",
"login": "mylogin",
"name": "My Name"
}
Ответ
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
{
"error_code": 0,
"result": true,
"result_msg": "Now login with new password",
"user": {
"domain": "pbx.era-platform.ru",
"login": "mylogin"
}
}
HTTP/1.1 412 Precondition failed
Content-Type: application/json; charset=utf-8
{
"error_code": 1501,
"error_message": "pwd contains invalid symbols. Expected: A-Za-z0-9_-.~!",
"error_details":{
"field": "pwd"
}
}