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ão abertos.

Este método está disponível apenas para usuários não autenticados que não pertencem a nenhum user group 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:

Property Type Description
auth_type integer Autenticação padrão para o usuário.

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

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

Consulte a propriedade gui_access do objeto User group para obter uma lista dos valores possíveis.
mfaid integer ID do método MFA a ser usado pelo 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 solicitações de API subsequentes.
type integer Tipo de usuário.

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

Se um usuário tiver sido autenticado com sucesso após uma ou mais tentativas malsucedidas, o método retornará os valores atuais das propriedades attempt_clock, attempt_failed e attempt_ip e, em seguida, as redefinirá.

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 solicitações JSON-RPC subsequentes. 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.

Requisiçã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

Origem

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