DataV 支持 token 验证啦!
生活随笔
收集整理的這篇文章主要介紹了
DataV 支持 token 验证啦!
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
有很多同學希望把 DataV 創建的數據可視化大屏整合到自己的網站中,我們很早就提供了這樣的支持。
但是如果限定權限則成為了一個問題。
如你嵌入到自己網站中的大屏,可能不希望被別人提取出來,自己打開。或者你提供給 A 用戶的大屏,不希望被 B 用戶打開。
現在 DataV 就有一個新特性來支持這個問題。
在新上線的 DataV 中的“發布”面板中就有這個叫“驗證 Token”的方式來完成鑒權,這個方式是基于 HMAC-SHA256 base64 加密。
如圖,在開啟“驗證 Token”時,DataV 會為您生成一個 Token,您需要記錄下這個 Token,以備后用。
在這個時候,如果您嘗試直接打開您所分享的頁面,您會收到一個 Access Denied。表示您的訪問被拒絕了。
如果想要打開您的頁面,就需要完成下面幾個步驟:
下面是示例:
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 验证啦!的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: c++之五谷杂粮---2
- 下一篇: 微信小程序——获取所有资讯接口数据