Путь аутентификации при 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.