Coturn не может найти учетные данные пользователя - PullRequest
0 голосов
/ 26 апреля 2018

Я пытался развернуть простой сервер TURN, используя coturn . Когда я тестирую его на Trickle ICE (turn:rtc.jackxujh.me:3478 [webrtc:mighty]), Trickle ICE говорит «Ошибка аутентификации?» . Сервер coturn постоянно сообщает об этой ошибке:

ОШИБКА: check_stun_auth: не удается найти учетные данные пользователя

Trickle ICE shows Authentication failure.


Вот полное turnserver.conf, которое я использую (раскомментируя строки coturn sample conf):

external-ip=39.108.74.114/XXX.XXX.XXX.XXX #(XXX is internal IP)
fingerprint
lt-cred-mech
use-auth-secret
static-auth-secret=XXXXXXXX... #(XXX is the secret)
realm=rtc.jackxujh.me
user=webrtc:0xXXXXXXXX... #(XXX is the key)
cert=/etc/letsencrypt/live/rtc.jackxujh.me/cert.pem
pkey=/etc/letsencrypt/live/rtc.jackxujh.me/privkey.pem
mobility

Я нахожу соответствующее обсуждение по GitHub , но я не чувствую, что в конце есть решение.

На самом деле, я запутался, использует ли мой файл conf API TURN REST API.

Тем временем я пытался проверить, был ли пользователь с именем webrtc в turndb , используя # turnadmin -l, но на выходе ничего не получилось. (Эта команда верна?)

1 Ответ

0 голосов
/ 12 сентября 2018

На самом деле, я не понимаю, использует ли мой файл conf API TURN REST API.

Я могу подтвердить, что вы используете REST API, потому что установлен use-auth-secret

use-auth-secret

Так что вам нужно использовать unixtimestamp в качестве имени пользователя и хешированного пароля.

user=timestamp:userid
password=base64(hmac(secret key, user)

Подробнее о разнице долгосрочных учетных данных и REST:

https://www.ietf.org/proceedings/87/slides/slides-87-behave-10.pdf

Если вы хотите использовать обычное имя пользователя / пароль, используйте долгосрочные учетные данные, поэтому удалите use-auth-secret

и установить его статически или в дБ

user=username1:key1

turnadmin

turnadmin -l

список статических пользователей и пользователей БД.

Так что в случае REST правильный пустой список.

...