2014-10-01 83 views
0

我正在尝试在node.js中生成用户名和密码。看来我的密码与TURN服务器生成的密码不匹配。无法使TURN REST API正常工作

这里是我想要的代码:

var turn_user='arafat'; 
var timestamp= Math.round(new Date().getTime()/1000) ; 
var turn_username=turn_user+':'+timestamp; 
var turn_password=crypto.createHmac('sha1','abc').update(turn_username).digest('base64'); 
var turnCredentials={}; 
turnCredentials.username=turn_username; 
turnCredentials.password=turn_password; 

和我的服务器网址是:

var server = { iceServers: [ {url: "stun:stun.l.google.com:19302"}, //google's stun server 
{url: "stun:23.21.150.121"}, //mozilla's stun server 
{url: "turn:"+url, credential: turnCredentials.password, username: turnCredentials.username} // our working turn server 
] } 

这里是我从TURN服务器收到消息:

ERROR:check_stun_auth :找不到用户的凭据

回答

0

请注意,TURN REST API文档说明t他的时间戳表明证书何时到期。

var timestamp= Math.round(new Date().getTime()/1000) ; 
var turn_username=turn_user+':'+timestamp; 

在这里,您使用当前时间作为到期。我建议增加几分钟时间让对等点创建TURN分配:

var timestamp= Math.round(new Date().getTime()/1000) + 300;