user.login

Descripción

string/object user.login(object parameters)

Este método permite iniciar sesión en la API y generar un token de autenticación.

Al utilizar este método, también debe hacer user.logout para evitar la generación de un gran número de registros de sesiones abiertas.

Este método solo está disponible para usuarios no autenticados que no pertenecen a ningún grupo de usuarios con la autenticación multifactor habilitada. Este método debe llamarse sin el parámetro "auth" en la solicitud JSON-RPC.

Parámetros

(object) Parámetros que contienen el nombre de usuario y la contraseña.

El método acepta los siguientes parámetros.

Parámetro Tipo Descripción
password string Contraseña del usuario.

Comportamiento del parámetro:
- obligatorio
username string Nombre de usuario.

Comportamiento del parámetro:
- obligatorio
userData flag Devuelve información sobre el usuario autenticado.

Valores de retorno

(string/object) Si se utiliza el parámetro userData, devuelve un objeto que contiene información sobre el usuario autenticado.

Además de las propiedades estándar del usuario, se devuelve la siguiente información:

Propiedad Tipo Descripción
auth_type integer Autenticación predeterminada para el usuario.

Consulte la propiedad authentication_type del objeto Authentication para ver una lista de valores posibles.
debug_mode integer Indica si el modo de depuración está habilitado o deshabilitado para el usuario.

Consulte la propiedad debug_mode del objeto User group para ver una lista de valores posibles.
deprovisioned boolean Indica si el usuario pertenece a un grupo de usuarios desprovisionados.
gui_access string Método de autenticación del usuario en el frontend.

Consulte la propiedad gui_access del objeto User group para ver una lista de valores posibles.
mfaid integer ID del método MFA que se utilizará para el usuario durante el inicio de sesión.

Devuelve "0" si MFA está deshabilitado globalmente o para todos los grupos de usuarios a los que pertenece el usuario.
secret string Cadena aleatoria de 32 caracteres. Se genera al iniciar sesión el usuario.
sessionid string Token de autenticación, que debe usarse en las siguientes solicitudes de la API.
type integer Tipo de usuario.

Consulte la propiedad type del objeto Role para ver una lista de valores posibles.
userip string Dirección IP del usuario.

Si un usuario ha sido autenticado correctamente después de uno o más intentos fallidos, el método devolverá los valores actuales de las propiedades attempt_clock, attempt_failed y attempt_ip y luego las restablecerá.

Si no se utiliza el parámetro userData, el método devuelve un token de autenticación.

El token de autenticación generado debe recordarse y usarse en el parámetro auth de las siguientes solicitudes JSON-RPC. También es necesario cuando se utiliza la autenticación HTTP.

Ejemplos

Autenticar a un usuario

Autenticar a un usuario.

Solicitud:

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

Respuesta:

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

Solicitando información de usuario autenticado

Autenticar y devolver información adicional sobre el usuario.

Solicitud:

{
    "jsonrpc": "2.0",
    "método": "usuario.iniciar sesión",
    "parámetros": {
        "nombre de usuario": "Administrador",
        "contraseña": "zabbix",
        "datos de usuario": verdadero
    },
    "identificación": 1
}

Respuesta:

{
    "jsonrpc": "2.0",
    "resultado": {
        "ID de usuario": "1",
        "nombre de usuario": "Administrador",
        "nombre": "Zabbix",
        "apellido": "Administrador",
        "URL": "",
        "autologin": "1",
        "cierre de sesión automático": "0",
        "lang": "ru_RU",
        "actualizar": "0",
        "tema": "predeterminado",
        "intento_fallido": "0",
        "intento_ip": "127.0.0.1",
        "intento_reloj": "1355919038",
        "rows_per_page": "50",
        "timezone": "Europa/Riga",
        "roleid": "3",
        "userdirectoryid": "0",
        "tipo": 3,
        "userip": "127.0.0.1",
        "modo_depuración": 0,
        "gui_access": "0",
        "mfaid": "1",
        "desaprovisionado": falso,
        "tipo_autenticación": 0,
        "sessionid": "5b56eee8be445e98f0bd42b435736e42",
        "secreto": "cd0ba923319741c6586f3d866423a8f4"
    },
    "identificación": 1
}

Ver también

Fuente

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