Sinch backend-сгенерированный токен для клиентов Javascript и Android - PullRequest
0 голосов
/ 01 ноября 2018

Я нахожу два разных метода для генерации токена 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)

Это сбивает с толку, действительно ли обоим клиентам нужны совершенно разные токены аутентификации? если нет, как я могу сгенерировать тот, который работает для обоих, и как я могу инициализировать двух разных клиентов?

1 Ответ

0 голосов
/ 05 июля 2019

Невозможно сгенерировать токены одним способом, который работает на обеих платформах

...