Documentation

​
​

Development

User Acquisition

Monetization

Industry

Vivox Unreal SDK

Vivox Unreal SDK

Vivox
​
​
Vivox Unreal SDK
  • Overview
  • Get started
  • Release notes
  • Developer guide
  • Tutorials
  • Reference
    • Vivox Core Unreal class model overview
    • Vivox Unreal conventions
    • Unreal API Reference Manual
    • Access Token Developer Guide
      • Access token terminology
      • Requests that require access tokens
      • Access token identifiers
      • Access token format
      • Access token examples
      • Generate a token on the client
      • Generate a token on a secure server
        • Example: C++
        • Example: C#
        • Example: Python
        • Example: JavaScript
      • Key update API
      • Access token error codes
    • Server to Server Web API Reference Guide
    • Third-party license information
  1. Vivox Unreal SDK documentation

Example: JavaScript

How to generate Vivox access tokens using JavaScript code.
Read time 1 minute
Last updated 8 months ago

The following code is an example of how to generate access tokens in JavaScript.
/** Vivox Token Generation Example - JavaScript** NOTE: There are multiple ways to handle SHA-256 in JavaScript* Stanford JS Crypto Library - https://crypto.stanford.edu/sjcl/ (used below)* Source - http://bitwiseshiftleft.github.io/sjcl/sjcl.js* SHA256 from NPM - https://www.npmjs.com/package/sha256**/function vxGenerateToken(key, payload) { // Header is static - base64url encoded {} var base64urlHeader = base64URLEncode("{}"); // Can also be defined as a constant "e30" // Encode payload var base64urlPayload = base64URLEncode(payload); // Join segments to prepare for signing var segments = [base64urlHeader, base64urlPayload]; var toSign = segments.join("."); // Sign token with key and SHA-256 var hmac = new sjcl.misc.hmac(sjcl.codec.utf8String.toBits(key), sjcl.hash.sha256); signature = sjcl.codec.base64.fromBits(hmac.encrypt(toSign)); var base64urlSigned = signature.replace(/\+/g, "-").replace(/\//g, "_").replace(/\=+$/, ""); segments.push(base64urlSigned); return segments.join(".");}function base64URLEncode(value) { return Base64.encode(value).replace(/\+/g, "-").replace(/\//g, "_").replace(/\=+$/, "");}claims = { "iss": "issuer", "exp": 1559359105, "vxa": "join", "f": "sip:.username.@domain.vivox.com", "t": "sip:confctl-g-channelname@domain.vivox.com"};// Example usagevar token = vxGenerateToken("secret", claims);console.log(token);

Copyright © 2026 Unity Technologies
LegalPrivacy PolicyCookiesDocumentation Terms of UseDo Not Sell or Share My Personal InformationYour Privacy Choices (Cookie Settings)

"Unity", Unity logos, and other Unity trademarks are trademarks or registered trademarks of Unity Technologies or its affiliates in the U.S and elsewhere (more info here). Other names or brands are trademarks of their respective owners.

Some pages are machine-translated for convenience, and may contain inaccuracies. In the event of conflicting information, the English version is authoritative.


    Report a problem with this page