[comment]: # ({19701d17-19701d17})
# user.login

[comment]: # ({/19701d17-19701d17})

[comment]: # ({605bdb59-c647dda4})
### Описание

`string/object user.login(object parameters)`

Этот метод позволяет выполнить вход в API и сгенерировать токен аутентификации.

::: notewarning
При использовании этого метода также необходимо выполнить
[user.logout](/manual/api/reference/user/logout), чтобы предотвратить
создание большого количества открытых записей сеансов.
:::

::: noteimportant
Этот метод доступен только неаутентифицированным пользователям, которые не принадлежат ни к одной [группе пользователей](/manual/api/reference/usergroup/object#user-group) с включенной многофакторной аутентификацией.
:::

[comment]: # ({/605bdb59-c647dda4})

[comment]: # ({3f380cc2-68f0a066})
### Параметры

`(object)` Параметры, содержащие имя пользователя и пароль.

Метод принимает следующие параметры.

|Parameter|[Type](/manual/api/reference_commentary#data-types)|Description|
|--|--|------|
|password|string|Пароль пользователя.<br><br>[Поведение параметра](/manual/api/reference_commentary#parameter-behavior):<br>- *required*|
|username|string|Имя пользователя.<br><br>[Поведение параметра](/manual/api/reference_commentary#parameter-behavior):<br>- *required*|
|userData|flag|Возвращает информацию об аутентифицированном пользователе.|

[comment]: # ({/3f380cc2-68f0a066})

[comment]: # ({0a7a68d2-bc924c62})
### Возвращаемые значения

`(string/object)` Если используется параметр `userData`, возвращает объект, содержащий информацию об аутентифицированном пользователе.

В дополнение к [стандартным свойствам пользователя](object#user) возвращается следующая информация:

|Property|[Type](/manual/api/reference_commentary#data-types)|Description|
|--|--|------|
|auth\_type|integer|Аутентификация по умолчанию для пользователя.<br><br>См. свойство `authentication_type` объекта [Authentication object](/manual/api/reference/authentication/object#authentication-object) для списка возможных значений.|
|debug\_mode|integer|Включен или отключен режим отладки для пользователя.<br><br>См. свойство `debug_mode` объекта [User group object](/manual/api/reference/usergroup/object#user-group) для списка возможных значений.|
|deprovisioned|boolean|Принадлежит ли пользователь группе [deprovisioned users group](/manual/web_interface/frontend_sections/users/authentication#configuration).|
|gui\_access|string|Метод аутентификации пользователя во веб-интерфейс.<br><br>См. свойство `gui_access` объекта [User group object](/manual/api/reference/usergroup/object#user-group) для списка возможных значений.|
|mfaid|integer|ID [MFA method](/manual/api/reference/mfa/object), который будет использоваться для пользователя при входе в систему.<br><br>Возвращает "0", если MFA глобально отключена или отключена для всех групп пользователей, к которым принадлежит пользователь.|
|secret|string|Случайная строка из 32 символов. Генерируется при входе пользователя в систему.|
|sessionid|string|Токен аутентификации, который необходимо использовать в последующих API-запросах.|
|type|integer|Тип пользователя.<br><br>См. свойство `type` объекта [Role object](/manual/api/reference/role/object#role) для списка возможных значений.|
|userip|string|IP-адрес пользователя.|

::: notetip
Если пользователь был успешно аутентифицирован после одной
или нескольких неудачных попыток, метод вернет текущие значения
свойств `attempt_clock`, `attempt_failed` и `attempt_ip`, а затем
сбросит их.
:::

Если параметр `userData` не используется, метод возвращает токен аутентификации, необходимый для [аутентификации](/manual/api#authentication).

[comment]: # ({/0a7a68d2-bc924c62})

[comment]: # ({b41637d2-b41637d2})
### Примеры

[comment]: # ({/b41637d2-b41637d2})

[comment]: # ({ce05d68f-46abbe5a})
#### Аутентификация пользователя

Аутентифицируйте пользователя.

[Запрос](/manual/api#performing-requests):

```json
{
    "jsonrpc": "2.0",
    "method": "user.login",
    "params": {
        "username": "Admin",
        "password": "zabbix"
    },
    "id": 1
}
```

Ответ:

```json
{
    "jsonrpc": "2.0",
    "result": "0424bd59b807674191e7d77572075f33",
    "id": 1
}
```

[comment]: # ({/ce05d68f-46abbe5a})

[comment]: # ({d81c0c1a-8448c8ab})
#### Запрос информации об аутентифицированном пользователе

Выполните аутентификацию и верните дополнительную информацию о пользователе.

[Запрос](/manual/api#performing-requests):

```json
{
    "jsonrpc": "2.0",
    "method": "user.login",
    "params": {
        "username": "Admin",
        "password": "zabbix",
        "userData": true
    },
    "id": 1
}
```

Ответ:

```json
{
    "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
}
```

[comment]: # ({/d81c0c1a-8448c8ab})

[comment]: # ({22a14fca-22a14fca})
### Смотрите также

-   [user.logout](logout)

[comment]: # ({/22a14fca-22a14fca})

[comment]: # ({7fd9f53c-7fd9f53c})
### Источник

CUser::login() в *ui/include/classes/api/services/CUser.php*.

[comment]: # ({/7fd9f53c-7fd9f53c})
