строка/объект user.login(объект параметры)
Этот метод позволяет входить в API и генерировать токен аутентификации.
Этот метод доступен не прошедшим аутентификацию пользователям и его необходимо вызывать без параметра auth в JSON-RPC запросе.
(объект) Параметры, которые содержат имя пользователя и пароль.
Этот метод принимает следующие параметры.
| Параметр | Тип | Описание |
|---|---|---|
| password (требуется) |
строка | Пароль пользователя. Не используется при HTTP аутентификации. |
| user (требуется) |
строка | Имя пользователя. |
| userData | флаг | Возврат информации о прошедшем аутентификацию пользователе. |
При использовании HTTP аутентификации, имя пользователя в API запросе должно совпадать с именем пользователя в заголовке Authorization. Пароль не проверяется и его можно не указывать.
(строка/объект) Если используется параметр userData, возвращает объект, который содержит информацию о прошедшем аутентификацию пользователе.
В дополнение к стандартным свойствам пользователя, возвращается следующая информация:
| Свойство | Тип | Описание |
|---|---|---|
| debug_mode | логическое | Активирован ли пользователю режим отладки. |
| gui_access | целое число | Метод аутентификации пользователя в веб-интерфейсе. Обратитесь к свойству gui_access в объекте группы пользователей для получения списка возможных значений. |
| sessionid | строка | Токен аутентификации, который требуется использовать в последующих API запросах. |
| userip | строка | IP адрес пользователя. |
Если пользователь успешно прошел аутентификацию после одной или нескольких неудачных попыток, этот метод вернет текущие значения свойств attempt_clock, attempt_failed и attempt_ip и затем сбросит их.
Если параметр userData не используется, этот метод возвращает лишь токен аутентификации.
Сгенерированный токен аутентификации необходимо запомнить и использовать в параметре auth в последующих JSON-RPC запросах. Это также требуется делать при использовании HTTP аутентификации.
Аутентификация пользователя.
Запрос:
{
"jsonrpc": "2.0",
"method": "user.login",
"params": {
"user": "Admin",
"password": "zabbix"
},
"id": 1
}Ответ:
Аутентификация и получение дополнительной информации о пользователе.
Запрос:
{
"jsonrpc": "2.0",
"method": "user.login",
"params": {
"user": "Admin",
"password": "zabbix",
"userData": true
},
"id": 1
}Ответ:
{
"jsonrpc": "2.0",
"result": {
"userid": "1",
"alias": "Admin",
"name": "Zabbix",
"surname": "Administrator",
"url": "",
"autologin": "1",
"autologout": "0",
"lang": "ru_RU",
"refresh": "0",
"type": "3",
"theme": "default",
"attempt_failed": "0",
"attempt_ip": "127.0.0.1",
"attempt_clock": "1355919038",
"rows_per_page": "50",
"debug_mode": true,
"userip": "127.0.0.1",
"sessionid": "5b56eee8be445e98f0bd42b435736e42",
"gui_access": "0"
},
"id": 1
}CUser::login() в frontends/php/include/classes/api/services/CUser.php.