Sinch 后端为 Javascript 和 Android 客户端生成的令牌

Sinch backend-generated token for Javascript and Android clients

我找到了两种不同的方法来在应用程序服务器中生成 sinch 身份验证令牌。一个用于 Android 客户端,另一个用于 JS 客户端。是否可以对 android 和 JS 客户端使用相同的令牌?

对于android我看到https://www.sinch.com/docs/voice/android/#authenticationsupportedbyapplicationserver 这被描述为使用随机数和从

派生的签名

string stringToSign = userId + applicationKey + sequence + applicationSecret;

这里后端的响应需要有token和nonce 然后在 android 客户端

registrationCallback.register(signature, nonce);

javascript完全不同https://github.com/sinch/sinch-js-ticketgen/blob/master/index.js
令牌是从这样的 json 对象生成的

{
    'applicationKey': appKey,
    'identity': {'type': 'username', 'endpoint': user['username']},
    'created': timestamp || (new Date()).toISOString(),
    'expiresIn': 86400, //24 hour default expire
}

其中结果是 json,其中 userToken 字段带有 userTicketBase64 + ':' + signature。 然后在JS客户端

sinchClient.start(backendResponse)

这令人困惑,两个客户端真的需要完全不同的身份验证令牌吗?如果没有,我如何生成一个适用于两者的客户端以及如何初始化这两个不同的客户端?

不可能以一种方式生成适用于两个平台的令牌