[comment]: # translation:outdated

[comment]: # ({19701d17-19701d17})
# user.login

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

[comment]: # ({c647dda4-c647dda4})
### Description

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

Cette méthode permet de se connecter à l'API et de générer un jeton d'authentification.

::: notewarning
Lorsque vous utilisez cette méthode, vous devez également faire [user.logout](/manual/api/reference/user/logout) pour empêcher la génération d'un grand nombre d'enregistrements de session ouverts.
:::

::: noteimportant
Cette méthode n'est disponible que pour les utilisateurs non authentifiés et doit être appelée sans le paramètre "auth" dans la requête JSON-RPC.
:::

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

[comment]: # ({c89c04dc-68f0a066})
### Paramètres

`(object)` Paramètres contenant le nom d'utilisateur et le mot de passe.

La méthode accepte les paramètres suivants.

|Paramètre|[Type](/manual/api/reference_commentary#types-de-données)|Description|
|--|--|------|
|**password**<br>(obligatoire)|string|Mot de passe de l'utilisateur.|
|**username**<br>(obligatoire)|string|Nom d'utilisateur.|
|userData|flag|Renvoie des informations sur l'utilisateur authentifié.|
|user<br>(obsolète)|string|Ce paramètre est obsolète, veuillez utiliser `username` à la place.<br>Nom d'utilisateur.|

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

[comment]: # ({0c2cbc1a-bc924c62})
### Valeurs retournées

`(string/object)` Si le paramètre `userData` est utilisé, retourne un objet contenant des informations sur l'utilisateur authentifié.

En plus des propriétés de l'objet standard [utilisateur](/fr/manual/api/reference/user/object#utilisateur), les informations suivantes sont retournées :

|Propriété|[Type](/manual/api/reference_commentary#data_types)|Description|
|--|--|------|
|debug\_mode|boolean|Indique si le mode debug est activé pour l'utilisateur.|
|gui\_access|integer|Méthode d'authentification de l'utilisateur à l'interface.<br><br>Reportez-vous à la propriété `gui_access` de l'objet [groupe d'utilisateurs](/manual/api/reference/usergroup/object#user_group) pour obtenir une liste des valeurs possibles.|
|sessionid|string|Jeton d'authentification, à utiliser dans les demandes API qui suivront.|
|userip|string|Adresse IP de l'utilisateur.|

::: notetip
Si un utilisateur a été authentifié avec succès après une ou plusieurs tentatives infructueuses, la méthode renvoie les valeurs actuelles des propriétés `attempt_clock`, `attempt_failed` et `attempt_ip`, puis les réinitialise..
:::

Si le paramètre `userData` n'est pas utilisé, la méthode renvoie un jeton d'authentification.

::: notetip
Le jeton d'authentification généré doit être mémorisé et utilisé dans le paramètre `auth` des requêtes JSON-RPC suivantes. Il est également requis lors de l'utilisation de l'authentification HTTP.
:::

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

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

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

[comment]: # ({99da3925-46abbe5a})
#### Authentification d'un utilisateur

Authentifier un utilisateur.

Requête :

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

Réponse :

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

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

[comment]: # ({697af141-8448c8ab})
#### Demande d'informations sur l'utilisateur authentifié

Authentifier et renvoyer des informations supplémentaires sur l'utilisateur.

Requête :

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

Réponse :

``` {.java}
{
    "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",
        "type": 3,
        "debug_mode": 0,
        "userip": "127.0.0.1",
        "gui_access": "0",
        "sessionid": "5b56eee8be445e98f0bd42b435736e42"
    },
    "id": 1
}
```

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

[comment]: # ({22a14fca-22a14fca})
### Voir également

-   [user.logout](logout)

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

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

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

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