2022 Zabbix中国峰会
2022 Zabbix中国峰会

检查认证

描述

object user.checkAuthentication

此方法检查并延长用户会话。

默认情况下,使用参数 'sessionid' 调用 'user.checkAuthentication' 会延长用户会话。

参数

此方法接受如下参数。

参数 类型 描述
extend boolean 是否延长用户会话。

默认值: "true"。
将值设置为 “false” 将允许在不延长用户会话的情况下检查该用户会话。

属性行为:
- 支持 如果设置了sessionid,则支持。
sessionid string 用户认证令牌

属性行为:
- 必填 如果未设置 token,则必填。
secret string 随机32个字符的字符串。在用户登录时生成。
token string 用户API令牌

属性行为:
- 必填 如果未设置 sessionid,则必填。

返回值

(object) 返回一个包含用户信息的对象。

除了 标准用户属性 之外,还返回以下信息。

属性 类型 描述
auth_type 整数 用户的默认身份验证。

有可能的返回值,可参阅认证对象authentication_type属性 。
debug_mode 整数 是否为用户启用或禁用调试模式。

有可能的返回值,可参阅 用户组对象debug_mode属性。
deprovisioned 布尔 用户是否属于 已取消配置的用户组
gui_access 字符串 用户对前端的身份验证方法。

有可能的返回值,可参阅用户组对象gui_access属性。
secret 字符串 随机32个字符的字符串,在用户登录时生成。

如果使用API令牌检查用户会话,则不返回 secret属性 。
sessionid 字符串 认证令牌,在后续的API请求中必须使用。

如果使用API令牌检查用户会话,则不返回sessionid属性 。
type 整数 用户类型。

有可能的返回值,可参阅角色对象type属性。
userip 字符串 用户的IP地址。

示例

使用认证令牌检查身份验证

使用用户认证令牌检查和延长用户会话,并返回有关用户的其他信息。

请求:

{
           "jsonrpc": "2.0",
           "method": "user.checkAuthentication",
           "params": {
               "sessionid": "673b8ba11562a35da902c66cf5c23fa2"
           },
           "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",
               "ts_provisioned": "0",
               "type": 3,
               "userip": "127.0.0.1",
               "debug_mode": 0,
               "gui_access": "0",
               "deprovisioned": false,
               "auth_type": 0,
               "sessionid": "673b8ba11562a35da902c66cf5c23fa2",
               "secret": "0e329b933e46984e49a5c1051ecd0751"
           },
           "id": 1
       }
使用API令牌检查身份验证

使用用户API令牌检查用户会话,并返回有关用户的其他信息。

请求:

{
           "jsonrpc": "2.0",
           "method": "user.checkAuthentication",
           "params": {
               "token": "00aff470e07c12d707e50d98cfe39edef9e6ec349c14728dbdfbc8ddc5ea3eae"
           },
           "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": "1355919338",
               "rows_per_page": "50",
               "timezone": "Europe/Riga",
               "roleid": "3",
               "userdirectoryid": "0",
               "ts_provisioned": "0",
               "type": 3,
               "userip": "127.0.0.1",
               "debug_mode": 0,
               "gui_access": "1",
               "deprovisioned": false,
               "auth_type": 0
           },
           "id": 1
       }

来源

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