我找到了两种不同的方法来在应用服务器中生成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
这令人困惑,两个客户端是否真的需要完全不同的身份验证令牌?如果没有,如何生成一个对两者都适用的应用程序,以及如何初始化两个不同的客户端?
答案 0 :(得分:0)
不可能以一种在两种平台上都可以使用的单一方式生成令牌