string/object user.login(object parameters)
Este método permite efetuar login na API e gerar um token de autenticação.
Ao usar este método, você também precisa fazer 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. :::
(object)
Parâmetros contendo o nome de usuário e senha.
O método aceita os seguintes parâmetros.
Parâmetro | Tipo | Descrição |
---|---|---|
password (requerido) |
string | Senha do usuário. |
username (requerido) |
string | Nome de usuário. |
userData | flag | Retorna informações sobre o usuário autenticado. |
(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, as seguintes informações são retornadas:
Propriedade | Tipo | 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. Consulte a propriedade gui_access do user group object 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. |
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.
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.
Autenticar um usuário.
Request:
{
"jsonrpc": "2.0",
"method": "user.login",
"params": {
"username": "Admin",
"password": "zabbix"
},
"id": 1
}
Response:
Autenticar e retornar informações adicionais sobre o usuário.
Request:
{
"jsonrpc": "2.0",
"method": "user.login",
"params": {
"username": "Admin",
"password": "zabbix",
"userData": true
},
"id": 1
}
Response:
{
"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
}
CUser::login() in ui/include/classes/api/services/CUser.php.