全部產品
Search
文件中心

IoT Platform:從廠商雲端服務端擷取認證

更新時間:Jun 30, 2024

本方案不在裝置上燒錄裝置認證,而是裝置上電連網後,向廠商伺服器發起請求,擷取裝置認證(ProductKey、DeviceName和DeviceSecret)。本文介紹廠商雲端服務端開發方案。

裝置擷取裝置認證的方案介紹,請參見擷取裝置認證方案概述

原理

本方案中,需要部署一個裝置認證散發者,開發相應的服務端API和裝置資訊資料庫表,用於裝置請求擷取裝置認證。

認證散發者收到來自裝置的擷取認證請求時,調用上述API。該API的商務邏輯為:根據請求中的裝置標識查詢裝置資訊資料表,根據查詢結果,進行以下後續操作。

  • 沒有查到傳入的裝置標識,則返回裝置非法錯誤。

  • 有對應的裝置標識,且已有裝置認證,則返回裝置認證。

  • 有對應的裝置標識,但沒有裝置認證,則調用物聯網平台API RegisterDevice註冊裝置身份,擷取認證後,再發送給裝置。

裝置獲得認證之後,再使用該認證串連阿里雲物聯網平台。

參與該過程的各個角色的時序圖如下所示。

裝置擷取認證過程

說明
  • 裝置需要能自動擷取IP地址,並串連您的認證散發者。

  • 認證散發者由您自行設計實現。

  • 您需要確保裝置串連到認證散發者的安全性和可靠性。

伺服器API設計建議

建議您按以下方法設計該API。

  • 請求參數:

    參數

    說明

    deviceId

    裝置在您的系統中的唯一標識。自訂,可以是裝置MAC或者SN等。

  • 返回參數:

    參數

    說明

    productKey

    對應物聯網平台頒發的裝置認證的ProductKey。

    deviceName

    對應物聯網平台頒發的裝置認證的DeviceName。

    deviceSecret

    對應物聯網平台頒發的裝置認證的DeviceSecret。

裝置資訊資料表設計建議

建議您按以下方法設計裝置資訊資料表。

表格屬性:

表格屬性

建議取值

資料表名稱

device_table

資料生命週期

-1

最巨量資料版本

1

資料有效版本偏差

86400

主鍵

deviceId,字串(String) ,分區鍵。

資料欄位:

欄位

說明

deviceId

裝置唯一標識。自訂,可以是裝置MAC或者SN等。

registerTime

裝置註冊時間。

activateTime

裝置啟用時間。

productKey

對應物聯網平台頒發的裝置認證的ProductKey。

deviceName

對應物聯網平台頒發的裝置認證的DeviceName。

deviceSecret

對應物聯網平台頒發的裝置認證的DeviceSecret。

IotId

物聯網平台為該裝置頒發的裝置ID,該裝置在物聯網平台上的唯一標識。