Sabado, Mayo 29, 2021

Agora RTM test on Angular 11

We needed a new video chat application that will replace the existing XMPP server and found Agora.io as suitable substitute. While migrating from nodejs to Angular, I encountered some conversion issues for token generation.

Github Resourse: Tools/DynamicKey/AgoraDynamicKey/nodejs at master · AgoraIO/Tools · GitHub

Nodejs crypto:  crypto.createHmac is not a function

var encodeHMac = function (keymessage) {
    return crypto.createHmac('sha256', key).update(message).digest();
};

solution:

var encodeHMac = function (keymessage) {
    return crypto.HmacSHA256(messagekey)

};

Error:  "TypeError: The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type object"

var AccessTokenContent = function (options) {
    options.pack = function () {
        var out = new ByteBuf();

        return out.putString(options.signature)
            .putUint32(options.crc_channel)
            .putUint32(options.crc_uid)
            .putString(options.m).pack();
    }

    return options;
}

solution:  

var AccessTokenContent = function (options) {
    options.pack = function () {
        var out = new ByteBuf();
        return out.putString(options.signature.words)
            .putUint32(options.crc_channel)
            .putUint32(options.crc_uid)
            .putString(options.m).pack();
    }

    return options;
}

 

Walang komento:

Mag-post ng isang Komento