qq_36294121
不印良品
采纳率0%
2019-11-23 09:12

微信小程序 腾讯云 即时通讯IM GenerateTestUserSig的开源模块怎么使用?

这是GenerateTestUserSig.js的代码

global.webpackJsonpMpvue([16],{

/***/ "dutN":
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _SDKAPPID; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return genTestUserSig; });
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__lib_generate_test_usersig_es_min_js__ = __webpack_require__("n7IX");
/*eslint-disable*/


const _SDKAPPID = 0;
const _SECRETKEY = '';
/*
 * Module:   GenerateTestUserSig
 *
 * Function: 用于生成测试用的 UserSig,UserSig 是腾讯云为其云服务设计的一种安全保护签名。
 *           其计算方法是对 SDKAppID、UserID 和 EXPIRETIME 进行加密,加密算法为 HMAC-SHA256。
 *
 * Attention: 请不要将如下代码发布到您的线上正式版本的 App 中,原因如下:
 *
 *            本文件中的代码虽然能够正确计算出 UserSig,但仅适合快速调通 SDK 的基本功能,不适合线上产品,
 *            这是因为客户端代码中的 SECRETKEY 很容易被反编译逆向破解,尤其是 Web 端的代码被破解的难度几乎为零。
 *            一旦您的密钥泄露,攻击者就可以计算出正确的 UserSig 来盗用您的腾讯云流量。
 *
 *            正确的做法是将 UserSig 的计算代码和加密密钥放在您的业务服务器上,然后由 App 按需向您的服务器获取实时算出的 UserSig。
 *            由于破解服务器的成本要高于破解客户端 App,所以服务器计算的方案能够更好地保护您的加密密钥。
 *
 * Reference:https://cloud.tencent.com/document/product/647/17275#Server
 */
function genTestUserSig(userID) {
  /**
   * 腾讯云 SDKAppId,需要替换为您自己账号下的 SDKAppId。
   *
   * 进入腾讯云实时音视频[控制台](https://console.cloud.tencent.com/rav ) 创建应用,即可看到 SDKAppId,
   * 它是腾讯云用于区分客户的唯一标识。
   */
  var SDKAPPID = _SDKAPPID;

  /**
   * 签名过期时间,建议不要设置的过短
   * <p>
   * 时间单位:秒
   * 默认时间:7 x 24 x 60 x 60 = 604800 = 7 天
   */
  var EXPIRETIME = 604800;


  /**
   * 计算签名用的加密密钥,获取步骤如下:
   *
   * step1. 进入腾讯云实时音视频[控制台](https://console.cloud.tencent.com/rav ),如果还没有应用就创建一个,
   * step2. 单击“应用配置”进入基础配置页面,并进一步找到“帐号体系集成”部分。
   * step3. 点击“查看密钥”按钮,就可以看到计算 UserSig 使用的加密的密钥了,请将其拷贝并复制到如下的变量中
   *
   * 注意:该方案仅适用于调试Demo,正式上线前请将 UserSig 计算代码和密钥迁移到您的后台服务器上,以避免加密密钥泄露导致的流量盗用。
   * 文档:https://cloud.tencent.com/document/product/647/17275#Server
   */
  var SECRETKEY = _SECRETKEY;

  var generator = new __WEBPACK_IMPORTED_MODULE_0__lib_generate_test_usersig_es_min_js__["a" /* default */](SDKAPPID, SECRETKEY, EXPIRETIME);
  var userSig = generator.genTestUserSig(userID);
  return {
    sdkappid: SDKAPPID,
    userSig: userSig
  };
}




/***/ })

});

我该怎么去引用GenerateTestUserSig.js,
使用里面的function genTestUserSig(userID)

var GenerateTestUserSig=require("../../debug/GenerateTestUserSig.js");

是这么引用吗?这么引用就会报错

Uncaught TypeError: global.webpackJsonpMpvue is not a function
    at GenerateTestUserSig.js? [sm]:1
    at require (VM167 WAService.js:1)
    at VM167 WAService.js:1
    at person.js? [sm]:5
    at require (VM167 WAService.js:1)
    at <anonymous>:92:7
    at HTMLScriptElement.scriptLoaded (appservice?t=1574470090358:1736)
    at HTMLScriptElement.script.onload (appservice?t=1574470090358:1748)
  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

2条回答

  • laimaodashuaige 成长的狮子 7月前

    前端生成sig的话可以用另一个js文件lib-generate-test-usersig-es.min.js在源文件哪里可以找到,然后再获取GitHub获取GenerateTestUserSig.js 源码复制进去,再引用(小程序)

    点赞 评论 复制链接分享
  • qq_36940740 星光君 1年前

    兄弟 是不是转成nodejs生成UserSig啦 我这前台生成也是遇到了相同的问题

    点赞 评论 复制链接分享

为你推荐