user.login
Описание
string/object user.login(object parameters)
Этот метод позволяет выполнить вход в API и сгенерировать токен аутентификации.
При использовании этого метода вам также необходимо выполнить user.logout, чтобы предотвратить создание большого количества записей об открытых сеансах.
Этот метод доступен только неаутентифицированным пользователям, которые не принадлежат ни к одной группе пользователей с включенной многофакторной аутентификацией.
Этот метод должен вызываться без параметра auth в JSON-RPC-запросе.
Параметры
(object) Параметры, содержащие имя пользователя и пароль.
Метод принимает следующие параметры.
| Parameter | Type | Description |
|---|---|---|
| password | string | Пароль пользователя. Parameter behavior: - required |
| username | string | Имя пользователя. Parameter behavior: - required |
| userData | flag | Возвращает информацию об аутентифицированном пользователе. |
Возвращаемые значения
(string/object) Если используется параметр userData, возвращается объект, содержащий информацию об аутентифицированном пользователе.
В дополнение к стандартным свойствам пользователя возвращается следующая информация:
| Property | Type | Description |
|---|---|---|
| auth_type | integer | Аутентификация по умолчанию для пользователя. Список возможных значений см. в свойстве authentication_type объекта Authentication. |
| debug_mode | integer | Включен или отключен режим отладки для пользователя. Список возможных значений см. в свойстве debug_mode объекта User group. |
| deprovisioned | boolean | Принадлежит ли пользователь группе деактивированных пользователей. |
| gui_access | string | Метод аутентификации пользователя во веб-интерфейс. Список возможных значений см. в свойстве gui_access объекта User group. |
| mfaid | integer | ID метода MFA, который будет использоваться для пользователя при входе в систему. Возвращает "0", если MFA глобально отключена или отключена для всех групп пользователей, к которым принадлежит пользователь. |
| secret | string | Случайная строка длиной 32 символа. Генерируется при входе пользователя в систему. |
| sessionid | string | Токен аутентификации, который необходимо использовать в последующих API-запросах. |
| type | integer | Тип пользователя. Список возможных значений см. в свойстве type объекта Role. |
| userip | string | IP-адрес пользователя. |
Если пользователь был успешно аутентифицирован после одной
или нескольких неудачных попыток, метод вернет текущие значения
свойств attempt_clock, attempt_failed и attempt_ip, а затем
сбросит их.
Если параметр userData не используется, метод возвращает
токен аутентификации.
Сгенерированный токен аутентификации следует сохранить
и использовать в параметре auth последующих JSON-RPC-запросов. Он
также требуется при использовании HTTP-аутентификации.
Примеры
Аутентификация пользователя
Аутентифицируйте пользователя.
{
"jsonrpc": "2.0",
"method": "user.login",
"params": {
"username": "Admin",
"password": "zabbix"
},
"id": 1
}
Ответ:
{
"jsonrpc": "2.0",
"result": "0424bd59b807674191e7d77572075f33",
"id": 1
}
Запрос информации об аутентифицированном пользователе
Выполните аутентификацию и верните дополнительную информацию о пользователе.
{
"jsonrpc": "2.0",
"method": "user.login",
"params": {
"username": "Admin",
"password": "zabbix",
"userData": true
},
"id": 1
}
Ответ:
{
"jsonrpc": "2.0",
"result": {
"userid": "1",
"username": "Admin",
"name": "Zabbix",
"surname": "Administrator",
"url": "",
"autologin": "1",
"autologout": "0",
"lang": "ru_RU",
"refresh": "0",
"theme": "default",
"attempt_failed": "0",
"attempt_ip": "127.0.0.1",
"attempt_clock": "1355919038",
"rows_per_page": "50",
"timezone": "Europe/Riga",
"roleid": "3",
"userdirectoryid": "0",
"type": 3,
"userip": "127.0.0.1",
"debug_mode": 0,
"gui_access": "0",
"mfaid": "1",
"deprovisioned": false,
"auth_type": 0,
"sessionid": "5b56eee8be445e98f0bd42b435736e42",
"secret": "cd0ba923319741c6586f3d866423a8f4"
},
"id": 1
}
Смотрите также
Источник
CUser::login() в ui/include/classes/api/services/CUser.php.