user.login

Beschreibung

string/object user.login(object parameters)

Diese Methode ermöglicht die Anmeldung an der API und die Generierung eines Authentifizierungstokens.

Bei Verwendung dieser Methode müssen Sie außerdem user.logout ausführen, um die Erstellung einer großen Anzahl offener Sitzungsdatensätze zu verhindern.

Diese Methode ist nur für nicht authentifizierte Benutzer verfügbar, die keiner Benutzergruppe mit aktivierter Multi-Faktor-Authentifizierung angehören. Diese Methode muss in der JSON-RPC-Anforderung ohne den Parameter auth aufgerufen werden.

Parameter

(object) Parameter, die den Benutzernamen und das Passwort enthalten.

Die Methode akzeptiert die folgenden Parameter.

Parameter Type Beschreibung
password string Benutzerpasswort.

Parameter behavior:
- erforderlich
username string Benutzername.

Parameter behavior:
- erforderlich
userData flag Gibt Informationen über den authentifizierten Benutzer zurück.

Rückgabewerte

(string/object) Wenn der Parameter userData verwendet wird, wird ein Objekt zurückgegeben, das Informationen über den authentifizierten Benutzer enthält.

Zusätzlich zu den standardmäßigen Benutzereigenschaften werden die folgenden Informationen zurückgegeben:

Property Type Description
auth_type integer Standardauthentifizierung für den Benutzer.

Eine Liste der möglichen Werte finden Sie in der Eigenschaft authentication_type des Authentication object.
debug_mode integer Gibt an, ob der Debug-Modus für den Benutzer aktiviert oder deaktiviert ist.

Eine Liste der möglichen Werte finden Sie in der Eigenschaft debug_mode des User group object.
deprovisioned boolean Gibt an, ob der Benutzer zu einer deprovisioned users group gehört.
gui_access string Authentifizierungsmethode des Benutzers für das Frontend.

Eine Liste der möglichen Werte finden Sie in der Eigenschaft gui_access des User group object.
mfaid integer ID der zu verwendenden MFA method für den Benutzer während der Anmeldung.

Gibt "0" zurück, wenn MFA global oder für alle Benutzergruppen, denen der Benutzer angehört, deaktiviert ist.
secret string Zufällige Zeichenfolge mit 32 Zeichen. Wird bei der Benutzeranmeldung generiert.
sessionid string Authentifizierungstoken, das in den folgenden API-Anfragen verwendet werden muss.
type integer Benutzertyp.

Eine Liste der möglichen Werte finden Sie in der Eigenschaft type des Role object.
userip string IP-Adresse des Benutzers.

Wenn ein Benutzer nach einem oder mehreren fehlgeschlagenen Versuchen erfolgreich authentifiziert wurde, gibt die Methode die aktuellen Werte der Eigenschaften attempt_clock, attempt_failed und attempt_ip zurück und setzt diese anschließend zurück.

Wenn der Parameter userData nicht verwendet wird, gibt die Methode ein Authentifizierungstoken zurück.

Das generierte Authentifizierungstoken sollte gespeichert und im Parameter auth der folgenden JSON-RPC-Anfragen verwendet werden. Es ist außerdem erforderlich, wenn HTTP-Authentifizierung verwendet wird.

Beispiele

Einen Benutzer authentifizieren

Authentifizieren Sie einen Benutzer.

Anfrage:

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

Antwort:

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

Informationen des authentifizierten Benutzers anfordern

Authentifizieren und zusätzliche Informationen über den Benutzer zurückgeben.

Anfrage:

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

Antwort:

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

Siehe auch

Quelle

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