【发布时间】:2017-08-24 09:53:55
【问题描述】:
我打算使用 coturn - https://code.google.com/p/coturn/ 为 WebRTC 应用程序运行我自己的 TURN 服务。该手册对身份验证和凭据进行了说明:
...
-a, --lt-cred-mech
Use long-term credentials mechanism (this one you need for WebRTC usage). This option can be used with
either flat file user database or PostgreSQL DB or MySQL DB or MongoDB or Redis for user keys storage.
...
此客户端代码示例还表明 TURN 需要凭据:
// use google's ice servers
var iceServers = [
{ url: 'stun:stun.l.google.com:19302' }
// { url: 'turn:192.158.29.39:3478?transport=udp',
// credential: 'JZEOEt2V3Qb0y27GRntt2u2PAYA=',
// username: '28224511:1379330808'
// },
// { url: 'turn:192.158.29.39:3478?transport=tcp',
// credential: 'JZEOEt2V3Qb0y27GRntt2u2PAYA=',
// username: '28224511:1379330808'
// }
];
- 是否总是需要它们? (Coturn 可以在没有任何身份验证机制的情况下运行,但从手册页中不清楚 WebRTC 是否严格需要才能工作)
- 如果需要,我可以只创建一组凭据并将其用于所有客户端吗? (客户端代码示例显然只是为了演示,但它似乎表明您可以将凭据硬编码到客户端代码中。如果这是不可能/推荐的,那么将适当的凭据传递给客户端的推荐方法是什么?客户端代码?)
【问题讨论】: