coturn无法找到用户的凭据

时间:2018-04-26 17:46:15

标签: turn coturn

我尝试使用 coturn 部署一个简单的TURN服务器。 当我在Trickle ICEturn:rtc.jackxujh.me:3478 [webrtc:mighty])上测试时,Trickle ICE说“身份验证失败了?” coturn 服务器不断报告此错误:

  

错误:check_stun_auth:找不到用户的凭据

Trickle ICE shows Authentication failure.

以下是我正在使用的完整turnserver.conf(通过取消注释 coturn 示例配置文件的行):

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文件是否使用TURN REST API。

与此同时,我尝试使用# turnadmin -l检查 turndb 中是否有名为 webrtc 的用户,但输出结果为空。 (这个命令是否正确?)

1 个答案:

答案 0 :(得分:0)

  

实际上,我对我的conf文件是否使用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,正确的是空列表。