[comment]: # translation:outdated

[comment]: # ({19701d17-19701d17})
m4rv1n

[comment]: # ({/19701d17-19701d17})

[comment]: # ({605bdb59-c647dda4})
### Descrizione

`string/object user.login(object parameters)`

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

::: notewarning
Quando si utilizza questo metodo, è inoltre necessario eseguire
[user.logout](/manual/api/reference/user/logout) per evitare la
generazione di un numero elevato di record di sessione aperti.
:::

::: noteimportant
Questo metodo è disponibile solo per gli utenti non autenticati che non appartengono ad alcun [gruppo di utenti](/manual/api/reference/usergroup/object#user-group) con l'autenticazione a più fattori abilitata.
:::

[comment]: # ({/605bdb59-c647dda4})

[comment]: # ({3f380cc2-68f0a066})
### Parametri

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

Il metodo accetta i seguenti parametri.

|Parametro|[Type](/manual/api/reference_commentary#data-types)|Descrizione|
|--|--|------|
|password|string|Password dell'utente.<br><br>[Comportamento del parametro](/manual/api/reference_commentary#parameter-behavior):<br>- *obbligatorio*|
|username|string|Nome utente.<br><br>[Comportamento del parametro](/manual/api/reference_commentary#parameter-behavior):<br>- *obbligatorio*|
|userData|flag|Restituisce informazioni sull'utente autenticato.|

[comment]: # ({/3f380cc2-68f0a066})

[comment]: # ({0a7a68d2-bc924c62})
### Valori restituiti

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

Oltre alle [proprietà utente standard](object#user), vengono
restituite le seguenti informazioni:

|Proprietà|[Tipo](/manual/api/reference_commentary#data-types)|Descrizione|
|--|--|------|
|auth\_type|integer|Autenticazione predefinita per l'utente.<br><br>Fare riferimento alla proprietà `authentication_type` dell'[oggetto Authentication](/manual/api/reference/authentication/object#authentication-object) per un elenco dei valori possibili.|
|debug\_mode|integer|Indica se la modalità di debug è abilitata o disabilitata per l'utente.<br><br>Fare riferimento alla proprietà `debug_mode` dell'[oggetto User group](/manual/api/reference/usergroup/object#user-group) per un elenco dei valori possibili.|
|deprovisioned|boolean|Indica se l'utente appartiene a un [gruppo di utenti deprovisionati](/manual/web_interface/frontend_sections/users/authentication#configuration).|
|gui\_access|string|Metodo di autenticazione dell'utente al frontend.<br><br>Fare riferimento alla proprietà `gui_access` dell'[oggetto User group](/manual/api/reference/usergroup/object#user-group) per un elenco dei valori possibili.|
|mfaid|integer|ID del [metodo MFA](/manual/api/reference/mfa/object) da utilizzare per l'utente durante l'accesso.<br><br>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 all'accesso dell'utente.|
|sessionid|string|Token di autenticazione, che deve essere utilizzato nelle successive richieste API.|
|type|integer|Tipo di utente.<br><br>Fare riferimento alla proprietà `type` dell'[oggetto Role](/manual/api/reference/role/object#role) per un elenco dei valori possibili.|
|userip|string|Indirizzo IP dell'utente.|

::: notetip
Se un utente è stato autenticato correttamente dopo uno
o più tentativi non riusciti, il metodo restituirà i valori correnti delle
proprietà `attempt_clock`, `attempt_failed` e `attempt_ip` e
quindi le reimposterà.
:::

Se il parametro `userData` non viene utilizzato, il metodo restituisce un token di autenticazione richiesto per l'[autenticazione](/manual/api#authentication).

[comment]: # ({/0a7a68d2-bc924c62})

[comment]: # ({b41637d2-b41637d2})
### Esempi

[comment]: # ({/b41637d2-b41637d2})

[comment]: # ({ce05d68f-46abbe5a})
#### Autenticazione di un utente

Autenticare un utente.

[Request](/manual/api#performing-requests):

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

Risposta:

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

[comment]: # ({/ce05d68f-46abbe5a})

[comment]: # ({d81c0c1a-8448c8ab})
#### Richiesta delle informazioni dell'utente autenticato

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

[Richiesta](/manual/api#performing-requests):

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

Risposta:

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

[comment]: # ({/d81c0c1a-8448c8ab})

[comment]: # ({22a14fca-22a14fca})
### Guarda anche

- [user.logout](logout)

[comment]: # ({/22a14fca-22a14fca})

[comment]: # ({7fd9f53c-7fd9f53c})
### Fonte

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

[comment]: # ({/7fd9f53c-7fd9f53c})
