user.login

Descrição

string/object user.login(object parameters)

Este método permite fazer login na API e gerar um token de autenticação.

Ao usar este método, você também precisa executar user.logout para evitar a geração de um grande número de registros de sessões abertas.

Este método está disponível apenas para usuários não autenticados que não pertencem a nenhum grupo de usuários com autenticação multifator habilitada. Este método deve ser chamado sem o parâmetro auth na solicitação JSON-RPC.

Parâmetros

(object) Parâmetros contendo o nome de usuário e a senha.

O método aceita os seguintes parâmetros.

Parâmetro Tipo Descrição
password string Senha do usuário.

Comportamento do parâmetro:
- obrigatório
username string Nome do usuário.

Comportamento do parâmetro:
- obrigatório
userData flag Retorna informações sobre o usuário autenticado.

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 padrão do usuário, as seguintes informações são retornadas:

Propriedade Tipo Descrição
auth_type integer Autenticação padrão para o usuário.

Consulte a propriedade authentication_type do objeto Authentication para uma lista de valores possíveis.
debug_mode integer Se o modo de depuração está ativado ou desativado para o usuário.

Consulte a propriedade debug_mode do objeto User group para uma lista de valores possíveis.
deprovisioned boolean Se o usuário pertence a um grupo de usuários desprovisionados.
gui_access string Método de autenticação do usuário no frontend.

Consulte a propriedade gui_access do objeto User group para uma lista de valores possíveis.
mfaid integer ID do método MFA a ser usado para o usuário durante o login.

Retorna "0" se o MFA estiver desativado globalmente ou para todos os grupos de usuários aos quais o usuário pertence.
secret string String aleatória de 32 caracteres. É gerada no login do usuário.
sessionid string Token de autenticação, que deve ser usado nas próximas requisições da API.
type integer Tipo de usuário.

Consulte a propriedade type do objeto Role para uma lista de valores possíveis.
userip string Endereço IP do usuário.

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

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

O token de autenticação gerado deve ser lembrado e usado no parâmetro auth das próximas requisições JSON-RPC. Ele também é necessário ao usar autenticação HTTP.

Exemplos

Autenticando um usuário

Autentica um usuário.

Requisição:

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

Resposta:

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

Solicitando informações do usuário autenticado

Autentica e retorna informações adicionais sobre o usuário.

Solicitação:

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

Resposta:

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

Veja também

Fonte

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