[comment]: # translation:outdated

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

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

[comment]: # ({605bdb59-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 effectuer
[user.logout](/manual/api/reference/user/logout) afin d’éviter la
génération d’un grand nombre d’enregistrements de session ouverts.
:::

::: noteimportant
Cette méthode est uniquement disponible pour les utilisateurs non authentifiés qui n’appartiennent à aucun [groupe d’utilisateurs](/manual/api/reference/usergroup/object#user-group) avec l’authentification multifacteur activée.
:::

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

[comment]: # ({3f380cc2-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#data-types)|Description|
|--|--|------|
|password|string|Mot de passe de l'utilisateur.<br><br>[Comportement du paramètre](/manual/api/reference_commentary#parameter-behavior):<br>- *obligatoire*|
|username|string|Nom d'utilisateur.<br><br>[Comportement du paramètre](/manual/api/reference_commentary#parameter-behavior):<br>- *obligatoire*|
|userData|flag|Retourner des informations sur l'utilisateur authentifié.|

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

[comment]: # ({0a7a68d2-bc924c62})
### Valeurs de retour

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

En plus des [propriétés utilisateur standard](object#user), les
informations suivantes sont renvoyées :

|Propriété|[Type](/manual/api/reference_commentary#data-types)|Description|
|--|--|------|
|auth\_type|integer|Authentification par défaut pour l'utilisateur.<br><br>Voir la propriété `authentication_type` de l'[objet Authentication](/manual/api/reference/authentication/object#authentication-object) pour la liste des valeurs possibles.|
|debug\_mode|integer|Indique si le mode de débogage est activé ou désactivé pour l'utilisateur.<br><br>Voir la propriété `debug_mode` de l'[objet Groupe d'utilisateurs](/manual/api/reference/usergroup/object#user-group) pour la liste des valeurs possibles.|
|deprovisioned|boolean|Indique si l'utilisateur appartient à un [groupe d'utilisateurs déprovisionnés](/manual/web_interface/frontend_sections/users/authentication#configuration).|
|gui\_access|string|Méthode d'authentification de l'utilisateur pour l'interface.<br><br>Voir la propriété `gui_access` de l'[objet Groupe d'utilisateurs](/manual/api/reference/usergroup/object#user-group) pour la liste des valeurs possibles.|
|mfaid|integer|ID de la [méthode MFA](/manual/api/reference/mfa/object) à utiliser pour l'utilisateur lors de la connexion.<br><br>Renvoie "0" si la MFA est désactivée globalement ou pour tous les groupes d'utilisateurs auxquels l'utilisateur appartient.|
|secret|string|Chaîne aléatoire de 32 caractères. Elle est générée lors de la connexion de l'utilisateur.|
|sessionid|string|Jeton d'authentification, qui doit être utilisé dans les requêtes API suivantes.|
|type|integer|Type d'utilisateur.<br><br>Voir la propriété `type` de l'[objet Role](/manual/api/reference/role/object#role) pour la liste des valeurs possibles.|
|userip|string|Adresse IP de l'utilisateur.|

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

Si le paramètre `userData` n'est pas utilisé, la méthode renvoie un jeton d'authentification requis pour l'[authentification](/manual/api#authentication).

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

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

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

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

Authentifiez un utilisateur.

[Requête](/manual/api#performing-requests):

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

Réponse :

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

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

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

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

[Requête](/manual/api#performing-requests):

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

Réponse :

```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})
### 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})
