2014-11-17 3 views
1

Итак, я полностью понимаю, как использовать getIceServers через вашу демонстрационную версию, но что лучше всего реализовать на стороне сервера/скомпилированной клиентской стороне?
«Этот токен должен быть реализован только в защищенной среде, такой как серверное приложение или скомпилированное клиентское приложение».XirSys Когда я запрашиваю новые Ice-серверы?

Выходит ли список IceServers в какой-то момент? Должен ли я запрашивать новые IceServers для каждого запроса страницы или кэшировать список за X раз?

ответ

3

Срок действия сертификатов Ice Server истекает через 10 секунд. Поскольку вы хотите сохранить секретный токен XirSys безопасным (так что никто не может взломать выделение вашего аккаунта), вы захотите сделать запрос на завихрение на стороне сервера/сервера для серверов льда. Предполагается, что ваше приложение использует собственную аутентификацию. I.e., он отклонит любые неаутентифицированные запросы до https://yourdomain.com/ajax/get-ice-servers.

Итак ... всякий раз, когда вам нужно создать объект PeerConnection, получить список серверов Ice с помощью вызова Ajax ...

var pc = RTCPeerConnection(
     getIceServers(), 
     {optional: []} 
    ); 

где ...

function getIceServers() { 
     var result = jQuery.ajax({ 
      async: false, 
      url: "https://" + yourDomain + ".com/ajax/get-ice-servers" 
     }).responseText; 

     return JSON.parse(result); 

    } 

Примечание Вы «Мне нужен синхронный запрос ajax, чтобы функция getIceServers() возвращала результат до создания экземпляра RTCPeerConnection.

Также обратите внимание, что если вы автоматически запускаете соединение webRTC при загрузке страницы, то вы, вероятно, можете просто использовать результат iceServers из запроса на завивание сервера.

+0

Время истечения срока действия сервера зависит от «безопасного» параметра? Могут ли два разных пользователя использовать одни и те же учетные данные до истечения срока их действия? – Readren