获取 Linkus iOS SDK 登录签名

用户登录 Linkus SDK 时需要使用 SDK 登录签名进行鉴权,而不是登录密码。本文介绍如何通过 OpenAPI 向 PBX 服务器请求用户的 Linkus SDK 登录签名。

前提条件

Linkus SDK 登录流程

步骤一、在 PBX 获取 Linkus SDK 的访问 ID 及密钥

Yeastar P 系列云 PBX 上获取 Linkus SDK 的访问 ID 及密钥,用于应用服务端向 PBX 进行认证并建立连接。

  1. 登录 PBX 管理网页,进入 应用对接 > Linkus SDK
  2. 记录 访问 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