user.login

説明

string/object user.login(object parameters)

このメソッドを使用すると、API にログインして認証トークンを生成できます。

このメソッドを使用する場合は、多数のオープンセッションレコードが生成されるのを防ぐために、 user.logout も実行する必要があります。

このメソッドは、多要素認証が有効な ユーザーグループ に属していない、未認証ユーザーのみが利用できます。 このメソッドは、JSON-RPC リクエストで auth パラメータを指定せずに呼び出す必要があります。

パラメータ

(object) ユーザー名とパスワードを含むパラメータ。

このメソッドは以下のパラメータを受け付けます。

パラメータ Type 説明
password string ユーザーパスワード。

パラメータの動作:
- 必須
username string ユーザー名。

パラメータの動作:
- 必須
userData flag 認証されたユーザーの情報を返します。

戻り値

(string/object) userData パラメータが使用されている場合、認証されたユーザーに関する情報を含むオブジェクトを返します。

標準のユーザープロパティに加えて、以下の情報が返されます。

プロパティ 説明
auth_type integer ユーザーのデフォルト認証。

使用可能な値の一覧については、Authentication objectauthentication_type プロパティを参照してください。
debug_mode integer ユーザーに対してデバッグモードが有効か無効か。

使用可能な値の一覧については、User group objectdebug_mode プロパティを参照してください。
deprovisioned boolean ユーザーがプロビジョニング解除済みユーザーグループに属しているかどうか。
gui_access string ユーザーのWebインターフェースへの認証方式。

使用可能な値の一覧については、User group objectgui_access プロパティを参照してください。
mfaid integer ログイン時にユーザーに対して使用する MFA method のID。

MFA がグローバルに無効化されている場合、またはユーザーが属するすべてのユーザーグループで無効化されている場合は "0" を返します。
secret string 32 文字のランダムな文字列。ユーザーログイン時に生成されます。
sessionid string 認証トークン。以降の API リクエストで使用する必要があります。
type integer ユーザータイプ。

使用可能な値の一覧については、Role objecttype プロパティを参照してください。
userip string ユーザーの IP アドレス。

ユーザーが 1 回以上の認証失敗の後に正常に認証された場合、このメソッドは attempt_clockattempt_failedattempt_ip プロパティの現在の値を返し、その後それらをリセットします。

userData パラメータが使用されていない場合、このメソッドは認証トークンを返します。

生成された認証トークンは保持しておき、以降の JSON-RPC リクエストの auth パラメータで使用する必要があります。HTTP 認証を使用する場合にも必要です。

ユーザーの認証

ユーザーを認証します。

リクエスト:

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

レスポンス:

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

認証されたユーザーの情報の取得

認証を行い、ユーザーに関する追加情報を返します。

リクエスト:

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

レスポンス:

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

参照

ソース

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