文档首页 > > 用户指南> 开放管理

开放管理

分享
更新时间: 2020/01/20 GMT+08:00

开放管理为用户提供了嵌入多块大屏到第三方应用的统一秘钥,避免了用户在新增、删除大屏时需要维护单个大屏和秘钥的对应关系。

前提条件

使用AppKey集成大屏到第三方应用之前,大屏必须处于发布状态,并且在大屏发布时已开启了Token验证。

创建应用

  1. 登录DLV管理控制台。
  2. 在左侧导航树上,单击“开放管理”,进入开放管理页面。
  3. 在开放管理页面,单击“创建应用”

    图1 开放管理

  4. “创建应用”对话框中,配置如下参数,然后单击“确定”完成应用的创建。

    表1 应用参数

    参数名

    说明

    名称

    应用名称,只能包含字母、数字、下划线、中划线、中文字符,且长度不超过32个字符。

    授权业务类型

    默认为“screen”

    资源

    默认为“所有”

    备注信息

    应用的描述信息。

    图2 创建应用

查看应用的AppKey和密钥

  1. 登录DLV管理控制台。
  2. 在左侧导航树上,单击“开放管理”,进入开放管理页面。
  3. 在开放管理页面的应用列表中,找到所需要的应用,可以查看该应用的AppKey和密钥,鼠标移动到AppKey或密钥上,可以单击按钮进行复制。

    图3 应用列表

在第三方系统中集成DLV大屏

在第三方系统中访问DLV大屏时,大屏的URL地址要携带应用的AppKey和密钥。

发布大屏时,获取到的大屏链接格式如下:

https://console.huaweicloud.com/dlvapp/share/?id=a33b74ac5c6343cab47ae3386efdfcb4&locale=zh-cn&region=cn-north-4

用于第三方系统中嵌入使用的大屏链接地址,需要在原始的大屏链接中追加几个参数,嵌入链接地址格式如下所示:

https://console.huaweicloud.com/dlvapp/share/?id=a33b74ac5c6343cab47ae3386efdfcb4&dlv_time={当前的系统时间}&app_id={开放管理页面中的应用AppKey}&dlv_signature={签名}&locale=zh-cn&region=cn-north-4
  • id:在发布大屏时,记录分享的大屏编码(分享链接中share后面的一串字符串,如图4中的第2个红框所示)。
    图4 获取shareId
  • dlv_time:当前的系统时间,可在应用程序代码中调用系统函数进行获取。
    long time = System.currentTimeMillis();
  • app_id:在开放管理页面中,获取应用的AppKey,获取方法请参见查看应用的AppKey和密钥
  • dlv_signature:签名。必须通过代码生成,生成签名的步骤如下:
    1. 在开放管理页面中,获取应用的密钥,在应用程序代码中定义为变量token。

      有关获取AppKey和密钥的详细内容,请参见查看应用的AppKey和密钥

    2. 使用应用的秘钥通过HMACSHA256加密算法生成签名。
      String data = shareID + "|" + time + "|" + appId;
      String signature = HMACSHA256(data.getBytes(), token.getBytes());

      将参数id(即变量shareID )、dlv_time(即变量time)和app_id(即变量appId)连接起来并用竖线(|)分隔,作为生成签名的data。

  • locale:语言标识。zh-cn表示中文,en-us表示英文。
  • region:区域。

Java代码示例如下:

public static void main(String[] args) {
String token = "**********************";
String shareId = "**********************";
String appId = "**********************";
System.out.println(getShareUrlWithToken(shareId, token, appId));
}

public static String getShareUrlWithToken(String shareID, String token, String appId){
long time = System.currentTimeMillis();
String data = shareID + "|" + time + "|" + appId;
String signature = HMACSHA256(data.getBytes(), token.getBytes());
String url = "https://console.huaweicloud.com/dlvapp/share/?id="+ shareID +
"&dlv_time="+time+"&dlv_signature="+ signature+"&region=cn-north-1" + "&app_id=" + appId;
return url;
}

public static String HMACSHA256(byte[] data, byte[] key) {
try  {
SecretKeySpec signingKey = new SecretKeySpec(key, "HmacSHA256");
Mac mac = Mac.getInstance("HmacSHA256");
mac.init(signingKey);
byte[] var1 = mac.doFinal(data);
String var2 = byteArrayToHexString(var1);
return var2;
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
} catch (InvalidKeyException e) {
e.printStackTrace();
}
return null;
}

public static String byteArrayToHexString(byte[] b) {
StringBuilder strBuilder = new StringBuilder();
String tmp;
for (int n = 0; b!=null && n < b.length; n++) {
tmp = Integer.toHexString(b[n] & 0XFF);
if (tmp.length() == 1)
strBuilder.append('0');
strBuilder.append(tmp);
}
return strBuilder.toString().toUpperCase();
}

重置应用密钥

  1. 登录DLV管理控制台。
  2. 在左侧导航树上,单击“开放管理”,进入开放管理页面。
  3. 在开放管理页面的应用列表中,找到所需要的应用,在该应用所在行的右侧单击“重置”
  4. 在弹出的确认对话框中,单击“是”进行重置密钥。

编辑应用

  1. 登录DLV管理控制台。
  2. 在左侧导航树上,单击“开放管理”,进入开放管理页面。
  3. 在开放管理页面的应用列表中,找到所需要的应用,在该应用所在行的右侧单击“编辑”
  4. 在编辑应用的对话框中,修改配置参数,修改完成后单击“确定”

    图5 修改应用

删除应用

  1. 登录DLV管理控制台。
  2. 在左侧导航树上,单击“开放管理”,进入开放管理页面。
  3. 在开放管理页面的应用列表中,找到所需要的应用,在该应用所在行的右侧单击“删除”
  4. 在弹出的确认对话框中,单击“是”删除应用。
分享:

    相关文档

    相关产品

文档是否有解决您的问题?

提交成功!

非常感谢您的反馈,我们会继续努力做到更好!

反馈提交失败,请稍后再试!

*必选

请至少选择或填写一项反馈信息

字符长度不能超过200

提交反馈 取消

如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨

跳转到云社区