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 el generación de un gran número de registros de sesiones abiertas.
Este método sólo está disponible para usuarios no autenticados.
y debe ser llamado sin el parámetro auth en la solicitud JSON-RPC.
Parámetros
(objeto) 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 | cadena | Contraseña de usuario. Comportamiento del parámetro: - obligatorio |
| username | cadena | Nombre de usuario. Comportamiento del parámetro: - obligatorio |
| userData | flag | Devuelve información sobre el usuario autenticado. |
Valores de retorno
(cadena/objeto) 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 de usuario, se devuelve la siguiente información:
| Propiedad | Tipo | Descripción |
|---|---|---|
| auth_type | entero | Autenticación predeterminada para el usuario. Consulte la propiedad authentication_type del objeto de autenticación para obtener una lista de valores posibles. |
| debug_mode | entero | Si el modo de depuración está habilitado o deshabilitado para el usuario. Consulte la propiedad debug_mode del [objeto de grupo de usuarios](/manual/api/reference/usergroup/object# user_group) para obtener una lista de valores posibles. |
| deprovisioned | booleano | Si el usuario pertenece a un grupo de usuarios desaprovisionados. |
| gui_access | cadena | Método de autenticación del usuario en el frontend. Consulte la propiedad gui_access del objeto de grupo de usuarios para obtener un lista de valores posibles. |
| secret | cadena | Cadena aleatoria de 32 caracteres. Se genera al iniciar sesión el usuario. |
| sessionid | cadena | Token de autenticación, que debe usarse en las siguientes solicitudes de API. |
| type | entero | Tipo de usuario. Consulte la propiedad type del objeto de rol para obtener una lista de valores posibles. |
| userip | cadena | Dirección IP del usuario. |
Si un usuario ha sido autenticado exitosamente después de uno
o más intentos fallidos, el método devolverá los valores actuales para
las propiedades attempt_clock, attempt_failed y attempt_ip y
luego los restablecerá.
Si no se utiliza el parámetro userData, el método devuelve un
token de autenticación.
Se debe recordar el token de autenticación generado.
y usarlo 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.
{
"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.
{
"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",
"deprovisioned": false,
"auth_type": 0,
"sessionid": "5b56eee8be445e98f0bd42b435736e42",
"secret": "cd0ba923319741c6586f3d866423a8f4"
},
"id": 1
}
Ver también
Fuente
CUser::login() en ui/include/classes/api/services/CUser.php.