Я нахожу два разных метода для генерации токена sinch auth на сервере приложений. Один для клиента Android, другой для клиента JS. Можно ли использовать один и тот же токен для клиентов Android и JS?
для андроида вижу https://www.sinch.com/docs/voice/android/#authenticationsupportedbyapplicationserver
который описывается как использование одноразового номера и подписи, полученной из
string stringToSign = userId + applicationKey + sequence + applicationSecret;
Здесь ответ от бэкэнда должен иметь токен и одноразовый номер.
а потом в андроид клиенте
registrationCallback.register (подпись, 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)
Это сбивает с толку, действительно ли обоим клиентам нужны совершенно разные токены аутентификации? если нет, как я могу сгенерировать тот, который работает для обоих, и как я могу инициализировать двух разных клиентов?