平台提供開放的API介面,用戶可以通過HTTP/HTTPS調用,進行設備管理,數據查詢,設備命令交互等操作,在API的基礎上,根據自己的個性化需求搭建上層應用
為提高API訪問安全性,OneNET API的鑒權參數作為header參數存在
OneNET支援普通以及安全兩種鑒權認證方式,對比如下表:
普通 | 安全(推薦) | |
---|---|---|
核心金鑰 | apiKey | accessKey |
header參數名 | “api-key” | “Authorization” |
header參數值 | apiKey(直接傳輸金鑰) | 由參數組構成的token,不含金鑰 |
存取時間控制 | 不支持 | 支援(由參數組中參數控制訪問時效) |
自訂許可權 | 不支持 | 支援(即將到來) |
核心金鑰更新 | 不支持 | 支援(即將到來) |
HTTPS | 支持 | 支持 |
安全性 | 較低 | 較高 |
普通鑒權方式通過apiKey作為鑒權金鑰,apiKey分為兩個訪問層級:產品級(Master)與設備級
產品級 | 設備級 | |
---|---|---|
數量 | 產品下唯一 | 產品下可以有多個 |
許可權範圍 | 產品下所有資源的操作,包括: 設備、數據流、數據點、觸發器、檔、命令以及設備 apiKey | 部分設備的全量操作,包括設備詳情,設備數據流,設備數據點 |
自訂許可權 | 不支持 | 支援設備級 需要用戶進行apiKey與設備的關聯操作,一旦關聯則具備該設備的最大許可權 |
(以查詢設備詳情API為例)
GET /devices/3532392
api-key: WhI3aidfa82SUBD34h123hv1c=
安全鑒權方式以accessKey為核心金鑰,用戶需要使用核心金鑰通過簽名演算法計算簽名,與其他參數共同組成token,然後將token作為請求Header參數進行鑒權
安全鑒權方式通過避免核心金鑰在網路上直接傳輸,增加認證參數時效控制,增加金鑰許可權細微性控制(即將到來)等方式提高鑒權安全性,最大限度保證訪問安全
詳情請見安全鑒權章節
(以“查詢設備詳情API”為例)
GET /devices/3532392
Authorization: version=2018-10-31&res=products%2F123123&et=1537255523&method=sha1&sign=ZjA1NzZlMmMxYzIOTg3MjBzNjYTI2MjA4Yw%3D