user.login

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.

Lors de l'utilisation de cette méthode, vous devez également exécuter user.logout afin d'éviter la génération d'un grand nombre d'enregistrements de session ouverts.

Cette méthode est disponible uniquement pour les utilisateurs non authentifiés qui n'appartiennent à aucun groupe d'utilisateurs avec l'authentification multifacteur activée. Cette méthode doit être appelée sans le paramètre auth dans la requête JSON-RPC.

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 Description
password string Mot de passe de l'utilisateur.

Comportement du paramètre:
- obligatoire
username string Nom d'utilisateur.

Comportement du paramètre:
- obligatoire
userData flag Retourner des informations sur l'utilisateur authentifié.

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, les informations suivantes sont renvoyées :

Property Type Description
auth_type integer Authentification par défaut pour l'utilisateur.

Reportez-vous à la propriété authentication_type de l'objet Authentication pour obtenir la liste des valeurs possibles.
debug_mode integer Indique si le mode de débogage est activé ou désactivé pour l'utilisateur.

Reportez-vous à la propriété debug_mode de l'objet User group pour obtenir la liste des valeurs possibles.
deprovisioned boolean Indique si l'utilisateur appartient à un groupe d'utilisateurs déprovisionnés.
gui_access string Méthode d'authentification de l'utilisateur vers l'interface.

Reportez-vous à la propriété gui_access de l'objet User group pour obtenir la liste des valeurs possibles.
mfaid integer ID de la méthode MFA à utiliser pour l'utilisateur lors de la connexion.

Renvoie "0" si MFA est désactivé globalement ou pour tous les groupes d'utilisateurs auxquels l'utilisateur appartient.
secret string Chaîne aléatoire de 32 caractères. 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.

Reportez-vous à la propriété type de l'objet Role pour obtenir la liste des valeurs possibles.
userip string Adresse IP de l'utilisateur.

Si un utilisateur a été authentifié avec succès après une ou plusieurs tentatives infructueuses, 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.

Le jeton d'authentification généré doit être conservé 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.

Exemples

Authentification d'un utilisateur

Authentifiez un utilisateur.

Requête:

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

Réponse :

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

Demande d'informations sur l'utilisateur authentifié

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

Requête:

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

Réponse :

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

Voir également

Source

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