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.