获取 Linkus iOS SDK 登录签名
用户登录 Linkus SDK 时需要使用 SDK 登录签名进行鉴权,而不是登录密码。本文介绍如何通过 OpenAPI 向 PBX 服务器请求用户的 Linkus SDK 登录签名。
前提条件
Linkus SDK 登录流程
步骤一、在 PBX 获取 Linkus SDK 的访问 ID 及密钥
从 Yeastar P 系列云 PBX 上获取 Linkus SDK 的访问 ID 及密钥,用于应用服务端向 PBX 进行认证并建立连接。
- 登录 PBX 管理网页,进入 。
- 记录 访问 ID 及 访问密钥。
步骤二、在应用服务端向 PBX 申请访问 Token
通过 OpenAPI,使用 Linkus SDK 的访问 ID 及密钥向 PBX 申请一个访问 Token。访问 Token 会作为 PBX API
接口调用的凭证,用于为分机用户请求 Linkus SDK 的登录签名。
- 请求 URL
-
POST {base_url}/openapi/v1.0/get_token
注: 如需了解 PBX 的 API 请求结构,参见 请求结构。
- 请求参数
-
参数 是否必填 类型 说明 username 是 String 用户名。在步骤一中获取的 访问 ID 作为用户名。 password 是 String 密码。在步骤一中获取的 访问密钥 作为密码。
- 请求示例
-
POST /openapi/v1.0/get_token Host: yeastardocs.example.yeastarcloud.com Content-Type: application/json { "username": "VXKkvsR2w5H28JAWtBXuJHMTeaQO7Zmf", "password": "Yq6yVsBceOZLhnuaGeMUG4U4qXXXXXXX" }
- 响应参数
-
参数 类型 说明 errcode Integer 返回错误码。 0
:请求成功。- 非零值:请求失败。
errmsg String 返回信息。 SUCCESS
:请求成功。FAILURE
:请求失败。
access_token_expire_time Integer 访问 token 有效时长 (单位:秒)。 access_token String 访问 token,即 API 接口调用凭证。所有的请求都需要带一个访问 token。 refresh_token_expire_time Integer 刷新 token 有效时长 (单位:秒)。 refresh_token String 刷新 token。此刷新 token 可用于获取新的访问 token 和刷新 token。
- 响应示例
-
HTTP/1.1 200 OK { "errcode": 0, "errmsg": "SUCCESS", "access_token_expire_time": 1800, "access_token": "EXZMpZAO86mbrKm6rFtgeb3rfcpC9uqS", "refresh_token_expire_time": 86400, "refresh_token": "SCduGecwbG9jIusiS8FxFUVn3kf0Q9R8" }
步骤三、为分机请求登录签名
通过 OpenAPI, 使用访问 Token 向 PBX 服务器请求分机的登录签名。
- 请求 URL
-
POST /openapi/v1.0/sign/create?access_token={access_token}
- 请求参数
-
参数 是否必填 类型 说明 username 是 string 邮箱地址。 sign_type 是 string 登录签名的类型。 允许填写的值:
sdk
expire_time 否 Integer 登录签名的到期时间戳 (秒)。 0
表示不限制登录签名的有效时长。
- 请求示例
-
POST /openapi/v1.0/sign/create?access_token=EXZMpZAO86mbrKm6rFtgeb3rfcpC9uqS Host: yeastardocs.example.yeastarcloud.com Content-Type: application/json { "username": "leo@sample.com", "sign_type": "sdk", "expire_time": 0 }
- 响应参数
-
参数 类型 说明 errcode Integer 返回错误码。 0
:请求成功。- 非零值:请求失败。
errmsg String 返回信息。 SUCCESS
:请求成功。FAILURE
:请求失败。
data Array<Ext_Sign> 分机的登录签名。 - Ext_Sign
-
参数 类型 说明 sign String 分机的登录签名。
- 响应示例
-
HTTP/1.1 200 OK { "errcode": 0, "errmsg": "SUCCESS", "data":{ "sign": "ueb3rfcpsiS8FxFUZMpZAO86mbrKmVn3kf0Q9R8" } }
执行结果
第三方应用服务端已获取到用户登录 Linkus SDK 所需的签名,且自动将其同步至应用客户端,并下发给 Linkus SDK。
后续操作
使用登录签名向 PBX 服务器进行鉴权并 登录 Linkus iOS SDK。