[comment]: # translation:outdated

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

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

[comment]: # ({c647dda4-c647dda4})
### Descrição
  
`string/object user.login(object parameters)`  
  
Este método permite efetuar login na API e gerar um token de autenticação.  
  
::: aviso  
Ao usar este método, você também precisa fazer [user.logout](/manual/api/reference/user/logout) para evitar a geração de um grande número de registros de sessão aberta.  
:::  
  
::: não importante  
Este método está disponível apenas para usuários não autenticados e deve ser chamado sem o parâmetro `auth` na solicitação JSON-RPC.
:::

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

[comment]: # ({ee747c26-68f0a066})
### Parâmetros
  
`(object)` Parâmetros contendo o nome de usuário e senha.  
  
O método aceita os seguintes parâmetros.  
  
|Parâmetro|[Tipo](/manual/api/reference_commentary#data_types)|Descrição|  
|--|--|------|  
|**password**<br>(requerido)|string|Senha do usuário.|  
|**username**<br>(requerido)|string|Nome de usuário.|  
|userData|flag|Retorna informações sobre o usuário autenticado.|

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

[comment]: # ({0c2cbc1a-bc924c62})
### Valores de retorno
  
`(string/object)` Se o parâmetro `userData` for usado, retorna um objeto contendo informações sobre o usuário autenticado.  
  
Além das [propriedades de usuário padrão](object#user), as seguintes informações são retornadas:  
  
|Propriedade|[Tipo](/manual/api/reference_commentary#data_types)|Descrição|
|--|--|------|
|debug\_mode|boolean|Se o modo de depuração está ativado para o usuário.|  
|gui\_access|integer|Método de autenticação do usuário para o frontend.<br><br>Consulte a propriedade `gui_access` do [user group object](/manual/api/reference/usergroup/object#user_group) para um lista de valores possíveis.|
|sessionid|string|Token de autenticação, que deve ser usado nas seguintes solicitações de API.|  
|userip|string|endereço IP do usuário.|

::: notetip
Se um usuário foi autenticado com sucesso após uma ou mais tentativas com falha, o método retornará os valores atuais para  
as propriedades `attempt_clock`, `attempt_failed` e `attempt_ip` e, em seguida, redefina-as.
:::

Se o parâmetro `userData` não for usado, o método retornará um token de autenticação.

::: notetip
O token de autenticação gerado deve ser lembrado e usado no parâmetro `auth` das seguintes solicitações JSON-RPC. Também é necessário ao usar a autenticação HTTP.
:::

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

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

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

[comment]: # ({a10657c5-46abbe5a})
#### Autenticação de um usuário
  
Autenticar um usuário.

Request:

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

Response:

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

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

[comment]: # ({e669d71a-8448c8ab})
#### Solicitando informações do usuário autenticado
  
Autenticar e retornar informações adicionais sobre o usuário.

Request:

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

Response:

```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",
        "type": 3,
        "debug_mode": 0,
        "userip": "127.0.0.1",
        "gui_access": "0",
        "sessionid": "5b56eee8be445e98f0bd42b435736e42"
    },
    "id": 1
}
```

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

[comment]: # ({22a14fca-22a14fca})
### Veja também

-   [user.logout](logout)

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

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

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

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