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

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

[comment]: # ({563d0a79-c647dda4})
### Beschreibung

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

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

::: notewarning
Bei Verwendung dieser Methode müssen Sie außerdem [user.logout](/manual/api/reference/user/logout) ausführen, um die Erstellung einer großen Anzahl offener Sitzungsdatensätze zu verhindern.
:::

::: noteimportant
Diese Methode ist nur für nicht authentifizierte Benutzer verfügbar, die keiner [Benutzergruppe](/manual/api/reference/usergroup/object#user-group) mit aktivierter Multi-Faktor-Authentifizierung angehören.
Diese Methode muss in der JSON-RPC-Anforderung ohne den Parameter `auth` aufgerufen werden.
:::

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

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

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

Die Methode akzeptiert die folgenden Parameter.

|Parameter|[Type](/manual/api/reference_commentary#data-types)|Beschreibung|
|--|--|------|
|password|string|Benutzerpasswort.<br><br>[Parameter behavior](/manual/api/reference_commentary#parameter-behavior):<br>- *erforderlich*|
|username|string|Benutzername.<br><br>[Parameter behavior](/manual/api/reference_commentary#parameter-behavior):<br>- *erforderlich*|
|userData|flag|Gibt Informationen über den authentifizierten Benutzer zurück.|

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

[comment]: # ({a248fe5e-bc924c62})
### 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](object#user) werden die folgenden Informationen zurückgegeben:

|Property|[Type](/manual/api/reference_commentary#data-types)|Description|
|--|--|------|
|auth\_type|integer|Standardauthentifizierung für den Benutzer.<br><br>Eine Liste der möglichen Werte finden Sie in der Eigenschaft `authentication_type` des [Authentication object](/manual/api/reference/authentication/object#authentication-object).|
|debug\_mode|integer|Gibt an, ob der Debug-Modus für den Benutzer aktiviert oder deaktiviert ist.<br><br>Eine Liste der möglichen Werte finden Sie in der Eigenschaft `debug_mode` des [User group object](/manual/api/reference/usergroup/object#user-group).|
|deprovisioned|boolean|Gibt an, ob der Benutzer zu einer [deprovisioned users group](/manual/web_interface/frontend_sections/users/authentication#configuration) gehört.|
|gui\_access|string|Authentifizierungsmethode des Benutzers für das Frontend.<br><br>Eine Liste der möglichen Werte finden Sie in der Eigenschaft `gui_access` des [User group object](/manual/api/reference/usergroup/object#user-group).|
|mfaid|integer|ID der zu verwendenden [MFA method](/manual/api/reference/mfa/object) für den Benutzer während der Anmeldung.<br><br>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.<br><br>Eine Liste der möglichen Werte finden Sie in der Eigenschaft `type` des [Role object](/manual/api/reference/role/object#role).|
|userip|string|IP-Adresse des Benutzers.|

::: notetip
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.

::: notetip
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.
:::

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

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

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

[comment]: # ({ce05d68f-46abbe5a})
#### Einen Benutzer authentifizieren

Authentifizieren Sie einen Benutzer.

[Anfrage](/manual/api#performing-requests):

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

Antwort:

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

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

[comment]: # ({d81c0c1a-8448c8ab})
#### Informationen des authentifizierten Benutzers anfordern

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

[Anfrage](/manual/api#performing-requests):

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

Antwort:

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

-   [user.logout](logout)

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

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

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

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