0

node.js でユーザー名とパスワードを生成しようとしています。私のパスワードがTURNサーバーによって生成されたものと一致していないようです。

これが私が試しているコードです:

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;

私のサーバーのURLは次のとおりです。

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 
] }

ターンサーバーから受け取ったメッセージは次のとおりです。

エラー: check_stun_auth: ユーザーの認証情報が見つかりません

4

1 に答える 1

0

TURN REST API ドキュメントには、タイムスタンプは資格情報の有効期限が切れる時期を示すものであると記載されていることに注意してください。

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

ここでは、現在の時刻を有効期限として使用します。ピアに TURN 割り当てを作成する時間を与えるために、数分追加することをお勧めします。

var timestamp= Math.round(new Date().getTime() / 1000) + 300;
于 2014-10-24T10:43:53.423 に答える