user.login

Opis

string/object user.login(object parameters)

Ta metoda umożliwia zalogowanie się do API i wygenerowanie tokenu uwierzytelniającego.

Podczas korzystania z tej metody należy również wykonać user.logout, aby zapobiec tworzeniu dużej liczby otwartych rekordów sesji.

Ta metoda jest dostępna tylko dla nieuwierzytelnionych użytkowników, którzy nie należą do żadnej grupy użytkowników z włączonym uwierzytelnianiem wieloskładnikowym. To wywołanie metody musi być wykonane bez parametru auth w żądaniu JSON-RPC.

Parametry

(object) Parametry zawierające nazwę użytkownika i hasło.

Metoda akceptuje następujące parametry.

Parametr Typ Opis
password string Hasło użytkownika.

Zachowanie parametru:
- wymagany
username string Nazwa użytkownika.

Zachowanie parametru:
- wymagany
userData flag Zwraca informacje o uwierzytelnionym użytkowniku.

Wartości zwracane

(string/object) Jeśli użyto parametru userData, zwracany jest obiekt zawierający informacje o uwierzytelnionym użytkowniku.

Oprócz standardowych właściwości użytkownika, zwracane są następujące informacje:

Właściwość Typ Opis
auth_type integer Domyślne uwierzytelnianie dla użytkownika.

Lista możliwych wartości znajduje się we właściwości authentication_type obiektu Authentication object.
debug_mode integer Określa, czy tryb debugowania jest włączony, czy wyłączony dla użytkownika.

Lista możliwych wartości znajduje się we właściwości debug_mode obiektu User group object.
deprovisioned boolean Określa, czy użytkownik należy do grupy użytkowników zdeprowizjonowanych.
gui_access string Metoda uwierzytelniania użytkownika do frontend.

Lista możliwych wartości znajduje się we właściwości gui_access obiektu User group object.
mfaid integer ID metody MFA używanej dla użytkownika podczas logowania.

Zwraca "0", jeśli MFA jest globalnie wyłączone lub wyłączone dla wszystkich grup użytkowników, do których należy użytkownik.
secret string Losowy ciąg 32 znaków. Jest generowany podczas logowania użytkownika.
sessionid string Token uwierzytelniający, który musi być używany w kolejnych żądaniach API.
type integer Typ użytkownika.

Lista możliwych wartości znajduje się we właściwości type obiektu Role object.
userip string Adres IP użytkownika.

Jeśli użytkownik został pomyślnie uwierzytelniony po jednej lub kilku nieudanych próbach, metoda zwróci bieżące wartości właściwości attempt_clock, attempt_failed i attempt_ip, a następnie je zresetuje.

Jeśli parametr userData nie jest używany, metoda zwraca token uwierzytelniający.

Wygenerowany token uwierzytelniający należy zapamiętać i używać go w parametrze auth kolejnych żądań JSON-RPC. Jest on również wymagany podczas korzystania z uwierzytelniania HTTP.

Przykłady

Uwierzytelnianie użytkownika

Uwierzytelnij użytkownika.

Żądanie:

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

Odpowiedź:

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

Żądanie informacji o uwierzytelnionym użytkowniku

Uwierzytelnij i zwróć dodatkowe informacje o użytkowniku.

Żądanie:

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

Odpowiedź:

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

Zobacz także

Źródło

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