开天集成工作台 MSSI-使用模板构建新建屏幕:Token校验

时间:2025-02-12 15:01:56

Token校验

客户端在使用Token校验的流程如下。

已获取大屏分享链接和Token。

例如,分享链接https://console.ulanqab.huawei.com/sve/preview.html?region=cn-north-7#/screen/share/18cd21df7bc-WPgj_GqRc。其中“region”的值为“cn-north-7”“pageId”的值为“18cd21df7bc-WPgj_GqRc”

  1. 使用代码开发工具将大屏分享链接中的pageId和region拼接成如下格式的字符串。

    pageId|region

  2. 使用HmacSHA256算法对拼接的字符串进行签名,并将签名后的字符串使用Base64进行转换。签名时需要使用对应的Token。

    HmacSHA256签名和Base64转换的示例如下:
     import java.security.*; import javax.crypto.*; import javax.crypto.spec.SecretKeySpec; import org.apache.commons.codec.binary.Base64; import java.net.URLEncoder; public class ShareWithTokenTest {     public static void main(String[] args) throws Exception {         System.out.println(getShareUrlWithToken("********722467a9477b5b*******", "cn-7", "*******r1tyy1C7Jenni3p*********"));     }     public static String getShareUrlWithToken(String pageId, String region, String token){         String data = pageId + "|" + region;         String signature = HMA CS HA256(data.getBytes(), token.getBytes());         String url = "https://console.huaweicloud.com/sve/share/page.html?id=" + pageId + "&region=" + region + "&sve_signature=" + signature;         return url;     }     //采用HmacSHA256进行签名并进行Base64转换     public static String HMACSHA256(byte[] data, byte[] key)     {         try  {             SecretKeySpec signingKey = new SecretKeySpec(key, "HmacSHA256");             Mac mac = Mac.getInstance("HmacSHA256");             mac.init(signingKey);             return URLEncoder.encode(Base64.encodeBase64String(mac.doFinal(data)));         } catch (NoSuchAlgorithmException e) {             e.printStackTrace();         } catch (InvalidKeyException e) {             e.printStackTrace();         }         return null;     } }

  3. 将转换后的字符串赋值给sveSignature,sveSignature参数拼接到大屏分享链接中获取新的访问链接。

    例如,新的访问链接https://console.ulanqab.huawei.com/sve/preview.html?sveSignature=1OP99N6yxCDmEiH4aNMU1GAwtKspSg4fJ/zh0679k=&region=cn-north-7#/screen/share/18cd21df7bc-WPgj_GqRc

support.huaweicloud.com/usermanual-mssi/mssi_02_3235.html