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 usar este método, también debe ejecutar 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 pertenezcan 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:
| Property | Type | Description |
|---|---|---|
| auth_type | integer | Autenticación predeterminada para el usuario. Consulte la propiedad authentication_type del objeto Authentication para obtener una lista de los 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 obtener una lista de los 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 obtener una lista de los valores posibles. |
| mfaid | integer | ID del método MFA que se usará 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 API. |
| type | integer | Tipo de usuario. Consulte la propiedad type del objeto Role para obtener una lista de los valores posibles. |
| userip | string | Dirección IP del usuario. |
Si un usuario se ha 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 guardarse
y usarse en el parámetro auth de las siguientes solicitudes JSON-RPC. También
es necesario al usar autenticación HTTP.
Ejemplos
Autenticando un usuario
Autenticar un usuario.
{
"jsonrpc": "2.0",
"method": "user.login",
"params": {
"username": "Admin",
"password": "zabbix"
},
"id": 1
}
Respuesta:
{
"jsonrpc": "2.0",
"result": "0424bd59b807674191e7d77572075f33",
"id": 1
}
Solicitar información del usuario autenticado
Autentica y devuelve información adicional sobre el usuario.
{
"jsonrpc": "2.0",
"method": "user.login",
"params": {
"username": "Admin",
"password": "zabbix",
"userData": true
},
"id": 1
}
Respuesta:
{
"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
}
Véase también
Fuente
CUser::login() en ui/include/classes/api/services/CUser.php.