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

时间:2018-11-01 05:00:21

标签: javascript android sinch android-sinch-api

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

对于Android设备,我看到https://www.sinch.com/docs/voice/android/#authenticationsupportedbyapplicationserver 被描述为使用一个随机数和一个源自

的签名
  

string stringToSign =用户ID + applicationKey +序列+ applicationSecret;

此处来自后端的响应需要具有令牌和随机数 然后在android客户端中

  

registrationCallback.register(签名,随机数);

对于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
}

其中的结果是带有userToken的{​​{1}}字段的json。 然后在JS客户端中

userTicketBase64 + ':' + signature

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

1 个答案:

答案 0 :(得分:0)

不可能以一种在两种平台上都可以使用的单一方式生成令牌