如何使用GoEasy-OTP? - GoEasy

我想使用GoEasy-OTP来保护我的消息,要如何开始呢?

登录GoEasy,找到“Professional keys”,您会发现3个key:

  1. Client key: 仅用于客户端,必须和OTP一起使用,既可以推送,也可以订阅,服务器端无法使用。
  2. Restful key: 仅用于调用Restful api,无法用于客户端订阅和推送。
  3. Secret key: 用于在生成GoEasy-OTP时,作为加密的秘钥。

在server端生成GoEasyOTP,规则:

  1. 声明一个字符串,内容为"000"+当前系统毫秒数
  2. 将Secret key作为秘钥,用AES(ECB)算法对字符串进行加密
  3. 使用Base64对加密结果进行编码,结果就是GoEasyOTP
  4. 验证自己的OTP算法是否工作:

验证OTP生成结果

测试参数:

secret key:86726e4356dce2d3

系统毫秒数:1490325990593

测试结果:

GoEasy-otp:+rOKqbTZioistsdMrhon0A==

修改Javascript代码,使用Client key作为appkey,同时传入服务器端生成的OTP


    var goEasy = GoEasy.getInstance({
        host:"hangzhou.goeasy.io",  //若是新加坡区域:singapore.goeasy.io
        appkey:"您的client key",
        modules:['pubsub']//根据需要,传入‘pubsub’或'im’,或数组方式同时传入
    });

    goEasy.connect({
        otp:'您服务器端生成的OTP',
        onSuccess: function () {  //连接成功
            console.log("GoEasy connect successfully.") //连接成功
        },
        onFailed: function (error) { //连接失败
            console.log("Failed to connect GoEasy, code:"+error.code+ ",error:"+error.content);
        },
        onProgress:function(attempts) { //连接或自动重连中
            console.log("GoEasy is connecting", attempts);    
        }
    });

结束

results matching ""

    No results matching ""