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

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

[comment]: # ({f35018fe-434a533c})
### 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 exécuter [user.logout](/fr/manual/api/reference/user/logout)
pour empêcher la génération d’un grand nombre d’enregistrements de
session ouverts.
:::

[comment]: # ({/f35018fe-434a533c})

[comment]: # ({ecf5c4a4-bcc6062f})
### Paramètres

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

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

La méthode accepte les paramètres suivants.

|Paramètre|Type|Description|
|----------|----|-----------|
|**password**<br>(obligatoire)|string|Mot de passe de l'utilisateur.|
|**user**<br>(obligatoire)|string|Nom d'utilisateur.|
|userData|flag|Renvoie des informations sur l'utilisateur authentifié.|

::: noteimportant
Lorsque vous utilisez l'authentification HTTP, le
nom d'utilisateur dans la requête API doit correspondre à celui utilisé
dans l'en-tête `Authorization`. Le mot de passe ne sera pas validé et
peut être omis.
:::

[comment]: # ({/ecf5c4a4-bcc6062f})

[comment]: # ({eafc1025-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
[utilisateur](/fr/manual/api/reference/user/object#utilisateur)
standard, les informations suivantes sont retournées :

|Propriété|Type|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](/fr/manual/api/reference/usergroup/object#groupe_d_utilisateurs) 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]: # ({/eafc1025-bc924c62})

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

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

[comment]: # ({a2ed1181-5608b9b5})
#### Authentifier un utilisateur

Authentifier un utilisateur.

Requête :

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

Réponse :

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

[comment]: # ({/a2ed1181-5608b9b5})

[comment]: # ({4149bfd7-8d29fed8})
#### Demander les informations d'un utilisateur authentifié

Authentifiez-vous et renvoyez des informations supplémentaires sur
l'utilisateur.

Requête :

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

Réponse :

``` {.java}
{
    "jsonrpc": "2.0",
    "result": {
        "userid": "1",
        "alias": "Admin",
        "name": "Zabbix",
        "surname": "Administrator",
        "url": "",
        "autologin": "1",
        "autologout": "0",
        "lang": "ru_RU",
        "refresh": "0",
        "type": "3",
        "theme": "default",
        "attempt_failed": "0",
        "attempt_ip": "127.0.0.1",
        "attempt_clock": "1355919038",
        "rows_per_page": "50",
        "debug_mode": true,
        "userip": "127.0.0.1",
        "sessionid": "5b56eee8be445e98f0bd42b435736e42",
        "gui_access": "0"
    },
    "id": 1
}
```

[comment]: # ({/4149bfd7-8d29fed8})

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

-   [user.logout](/fr/manual/api/reference/user/logout)

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

[comment]: # ({ababfddc-4cc4bf93})
### Source

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

[comment]: # ({/ababfddc-4cc4bf93})
