Путь аутентификации при autologin: WebRTC Client — WCS — Authentication server

Здесь Authentication server может быть вашим web-сервером с простым php скриптом, который возвращает подходящий XML в ответ на запрос со стороны WCS сервера.

Действия:

1. WebRTC клиент отправляет уникальный токен на WCS сервер.
Токен может представлять собой идентификатор web сессии или другой уникальный идентификатор сохраненный в вашей базе данных или сгенерированный по запросу.
Например вы можете генерировать токен используя приватный ключ:
encrypt(sipLogin+»,»+sipPassword+»,»+outboundProxy…)
а далее декриптовать полученный токен на стороне WCS3 чтобы восстановить зашифрованные SIP данные по токену
decrypt(token).

Основная идея в том, что вы полностью управляете токеном. Вы генерируете токен и восстанавливаете по сгенерированному вами токену SIP данные для регистрации на SIP сервере. Вы так же можете добавить в токен информацию о сроке его действия чтобы никто не смог воспользоваться устаревшим токеном для совершения звонка.

2. WCS запрашивает Authentication Server
Например: http://yourserver.com?token=12345qwerty

3. Authentication Server достает SIP данные из базы или расшифровывает используя секретный ключ, который известен только ему. После этого SIP данные заворачиваются в XML и отдаются WCS серверу для осуществления SIP регистрации.

4. WCS разбирает XML и проводит SIP регистрацию. При этом только сервер имеет доступ к полученным SIP данным.
Они не передаются на клиента и SIP пароль клиенту не доступен. Таким образом он не сможет позвонить с другого SIP устройства и сможет только в том случае если вы прямо сообщите SIP пароль и другие данные, необходимые для логина.

5. По умолчанию в WCS3 используется 2 статических Authentication Server урла в flashphoner.properties:
auto_login_url =/usr/local/FlashphonerWebCallServer/conf/account.xml
get_callee_url =/usr/local/FlashphonerWebCallServer/conf/callee.xml

Эти адреса могут быть заданы динамическими. Например PHP.

Более подробно об autologin