m4rv1n

Descrizione

string/object user.login(object parameters)

Questo metodo consente di effettuare l'accesso all'API e generare un token di autenticazione.

Quando si utilizza questo metodo, è necessario eseguire anche user.logout per evitare la generazione di un gran numero di record di sessione aperte.

Questo metodo è disponibile solo per gli utenti non autenticati che non appartengono a nessun gruppo utenti con l'autenticazione a più fattori abilitata. Questo metodo deve essere chiamato senza il parametro auth nella richiesta JSON-RPC.

Parametri

(object) Parametri contenenti il nome utente e la password.

Il metodo accetta i seguenti parametri.

Parametro Type Descrizione
password string Password dell'utente.

Comportamento del parametro:
- obbligatorio
username string Nome utente.

Comportamento del parametro:
- obbligatorio
userData flag Restituisce informazioni sull'utente autenticato.

Valori di ritorno

(string/object) Se viene utilizzato il parametro userData, restituisce un oggetto contenente informazioni sull'utente autenticato.

Oltre alle proprietà utente standard, vengono restituite le seguenti informazioni:

Property Type Description
auth_type integer Autenticazione predefinita per l'utente.

Per un elenco dei valori possibili, fare riferimento alla proprietà authentication_type dell'oggetto Authentication.
debug_mode integer Indica se la modalità debug è abilitata o disabilitata per l'utente.

Per un elenco dei valori possibili, fare riferimento alla proprietà debug_mode dell'oggetto User group.
deprovisioned boolean Indica se l'utente appartiene a un gruppo di utenti deprovisioned.
gui_access string Metodo di autenticazione dell'utente verso il frontend.

Per un elenco dei valori possibili, fare riferimento alla proprietà gui_access dell'oggetto User group.
mfaid integer ID del metodo MFA da usare per l'utente durante l'accesso.

Restituisce "0" se MFA è disabilitato globalmente o per tutti i gruppi di utenti a cui l'utente appartiene.
secret string Stringa casuale di 32 caratteri. Viene generata al login dell'utente.
sessionid string Token di autenticazione, che deve essere utilizzato nelle richieste API successive.
type integer Tipo di utente.

Per un elenco dei valori possibili, fare riferimento alla proprietà type dell'oggetto Role.
userip string Indirizzo IP dell'utente.

Se un utente è stato autenticato correttamente dopo uno o più tentativi falliti, il metodo restituirà i valori correnti delle proprietà attempt_clock, attempt_failed e attempt_ip e poi le reimposterà.

Se il parametro userData non viene utilizzato, il metodo restituisce un token di autenticazione.

Il token di autenticazione generato deve essere memorizzato e utilizzato nel parametro auth delle richieste JSON-RPC successive. È richiesto anche quando si utilizza l'autenticazione HTTP.

Esempi

Autenticazione di un utente

Autenticare un utente.

Request:

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

Risposta:

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

Richiesta delle informazioni dell'utente autenticato

Autentica l'utente e restituisce informazioni aggiuntive sull'utente.

Richiesta:

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

Risposta:

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

Guarda anche

Fonte

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