日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

DataV 支持 token 验证啦!

發布時間:2025/4/16 49 豆豆
生活随笔 收集整理的這篇文章主要介紹了 DataV 支持 token 验证啦! 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

有很多同學希望把 DataV 創建的數據可視化大屏整合到自己的網站中,我們很早就提供了這樣的支持。

但是如果限定權限則成為了一個問題。

如你嵌入到自己網站中的大屏,可能不希望被別人提取出來,自己打開。或者你提供給 A 用戶的大屏,不希望被 B 用戶打開。

現在 DataV 就有一個新特性來支持這個問題。

在新上線的 DataV 中的“發布”面板中就有這個叫“驗證 Token”的方式來完成鑒權,這個方式是基于 HMAC-SHA256 base64 加密。

如圖,在開啟“驗證 Token”時,DataV 會為您生成一個 Token,您需要記錄下這個 Token,以備后用。

在這個時候,如果您嘗試直接打開您所分享的頁面,您會收到一個 Access Denied。表示您的訪問被拒絕了。

如果想要打開您的頁面,就需要完成下面幾個步驟:

  • 發布大屏,拿到大屏編碼(url 的最后一段)
  • 將編碼與當前時間(毫秒)連起來,用 |(豎線)分隔開
  • 使用 token 通過 HMAC-SHA256 base64 對上一步得到的字符串進行加密
  • 將時間和加密后的簽名分別命名為 _datav_time, _datav_signature 放入 url 的 querystring 中
  • 下面是示例:

    PHP:

    <?php$token = "kBwoX9rFX9v4zbOT0Gjd_wr65DZ3P_WW";$screenID = "03d1b68faeb09671046d1ef43f588c33";$time = time()*1000;$stringToSign = $screenID.'|'.$time;$signature = urlencode(base64_encode(hash_hmac('sha256', $stringToSign, $token, true)));$url = "http://local.datav.aliyun.com:9999/share/".$screenID."?_datav_time=".$time."&_datav_signature=".$signature; ?> <iframe width=100% height=100% src="<?=$url?>"/>

    NODE.JS:

    const crypto = require('crypto'); var token = "Ev97wOUSAtJusc3Vsd9O2ngr_vfVFH67"; var screenID ="14c5448c00ecde02b065c231d1659f38"; var time = Date.now(); var stringToSign = screenID +'|'+ time; var signature = crypto.createHmac('sha256', token).update(str).digest().toString('base64'); var url="http://datav.aliyun.com/share/"+ screenID +"?_datav_time="+time+"&_datav_signature="+ encodeURIComponent(signature);

    注意:為了防止重放攻擊,請確保您的服務器時間為東8區標準時間,DataV 只會提供1分鐘的誤差,如果時間誤差超過1分鐘將會驗證失敗。

    好了

    今天就到這兒吧,小編要回家給主子鏟屎了。

    總結

    以上是生活随笔為你收集整理的DataV 支持 token 验证啦!的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。