2015-07-28 29 views
8

Desidero utilizzare coturn with oAuth. Se ho capito correttamente ho bisogno di fare due cose:Come configurare WebRTC con Coturn e oAuth

  • memorizzazione dei token OAuth nel coturn database utilizza
  • invio del STUN ACCESS-TOKEN e USERNAME attributi

primo punto è chiaro, ma come devo cambiare il mio client WebRTC per raggiungere il secondo punto?

Senza oAuth avrei inizializzare il mio RTCPeerConnection in questo modo:

var configuration = { 
    'iceServers': [{ 
    'url': 'turn:turn.example.org', 
    'username': 'user', 
    'credential': 'password' 
    }] 
}; 
var pc = new RTCPeerConnection(configuration) 

Il WebRTC 1.0 draft definisce un enum RTCIceCredentialType quindi vorrei che ho bisogno di cambiare la mia configurazione come questa:

var configuration = { 
    'iceServers': [{ 
    'url': 'turn:turn.example.org', 
    'username': 'kid', 
    'credential': 'oAuthToken', 
    'credentialType': 'token' 
    }] 
}; 

Utilizzando Wireshark I impossibile vedere l'attributo ACESS-TOKEN. Qualche idea o qualcuno conosce un esempio funzionante?

+0

Qual è il comando che si sta utilizzando per avviare il server TURN? – mido

+0

'turnserver -n -f -v -l stdout -a --oauth -r" myRealm "-J" myMongoConnection "' – lefloh

+0

Sto indovinando l'errore '401' nei registri del server TURN – mido

risposta

1

Sembra che le cose siano cambiate un po 'da quando è stata posta la domanda originale. Il webrtc-pc#1033 pull-richiesta altera le specifiche e introduce la seguente sintassi di configurazione iceServers:

var configuration = { 
    'iceServers': [{ 
     "urls": "turns:turn.example.net", 
     "username": "username", 
     "credential": { 
      "macKey": "...", 
      "accessToken": "..." 
     }, 
     "credentialType": "oauth" 
    }], 
    ... 
} 

Vedere pagina RTCIceServer documentazione per ulteriori esempi di configurazione.