OneNET Studio 简介 产品介绍 快速入门 设备接入与管理 应用开发
应用开发流程 新建项目 添加设备 设备分组 场景联动 应用数据流转 应用API 应用长连接 规则引擎(新)
运维监控 数据可视化 边缘计算 人工智能AI 位置定位 语音通话 工业互联网标识 权限管理 服务协议 更新日志

设备安全认证

1. 鉴权参数

2. Token算法

3. Token生成工具


1. 鉴权参数

设备鉴权参数(鉴权三元组)如下:

参数 描述
ProductId 产品ID,平台生成唯一ID
DeviceName 设备名称
Token 鉴权token

2. Token算法

Token由多个参数构成,如下表:

名称 类型 是否必须 参数说明 参数示例
version string 参数组版本号,日期格式,目前仅支持"2018-10-31" 2018-10-31
res string 访问资源 resource格式为:products/{产品id}/devices/{设备名字} products/dafdfadfafdaf/devices/che1
et int 访问过期时间 expirationTime,单位秒,unix时间当一次访问参数中的et时间小于当前时间时,平台会认为访问参数过期从而拒绝该访问 1537255523表示:北京时间 2018-09-18 15:25:23
method string 签名方法 signatureMethod支持hmacmd5、hmacsha1、hmacsha256 sha1(代表使用hmacsha1算法)
sign string 签名结果字符串signature rBYeJXTp2q4V3C2aj4DBzjaydcw%3D
  • sign算法

参数sign的生成算法为:

sign = base64(hmac_<method>(base64decode(key), utf-8(StringForSignature)))

其中: Key为OneNET为资源分配的访问密钥(产品级、设备级均可),其作为签名算法参数之一参与签名计算,为保证访问安全,请妥善保管 Key参与计算前应先进行base64decode操作 用于计算签名的字符串 StringForSignature的组成顺序按照参数名称进行字符串排序,以'\n'作为参数分隔,当前版本中按照如下顺序进行排序:et、method、res、version StringForSignature组成示例如下:

StringForSignature = et + '\n' + method + '\n' + res+ '\n' + version

注意:每个参数均为key=value格式组成,但是仅参数中的value参与计算签名的字符串 StringForSignature的组成,若token参数如下

et = 1537255523
method = sha1
res = products/dafdfadfafdaf/devices/che1
version = 2018-10-31

则用于计算签名的字符串StringForSignature为(按照et、method、res、version的顺序)

StringForSignature = "1537255523" + "\n" + "sha1"+ "\n" + "products/123123"+ "\n" + "2018-10-31"

计算出sign后,将每个参数均采用key=value的形式表示,并用'&'作为分隔符,示例如下:

version=2018-10-31&res=products/dafdfadfafdaf/devices/che1&et=1537255523&method=sha1&sign=ZjA1NzZlMmMxYzIOTg3MjBzNjYTI2MjA4Yw=
  • 参数编码

Token中key=value的形式的value部分需要经过URL编码,需要进行编码的特殊符号如下:

序号 特殊符号 URL编码
1 + %2B
2 空格 %20
3 / %2F
4 ? %3F
5 % %25
6 # %23
7 & %26
8 = %3D

编码后,上例中实际传输Token为:

version=2018-10-31&res=products%2F123123%2Fdevices%2Fche1&et=1537255523&method=sha1&sign=ZjA1NzZlMmMxYzIOTg3MjBzNjYTI2MjA4Yw%3D

3. Token生成工具

为便于开发者开发,平台提供Token生成工具(点击下载

  • 打开生成工具 token.exe


  • 填写对应参数,点击generate


  • 生成Token如下:


个搜索结果,搜索内容 “

    0 个搜索结果,搜索内容 “