WebRTC和身份验证实现

时间:2016-03-28 22:06:16

标签: angularjs webrtc stun turn simplewebrtc

好的,最近我一直需要使用WebRTC创建视频语音等应用程序。

因此,在查看了一些库之后,我发现SimpleWebRTC很容易看起来: https://github.com/andyet/SimpleWebRTC

所以我感兴趣的是如何实现STUN / TURN服务器? (如果有人可以用简单的英语解释这些差异,那会很棒!)还有一种认证机制。目前我的应用程序联系我的数据库并登录用户等,但是眩晕和转弯服务器将是私有的,并且不会以任何方式参与身份验证过程。

基本上是这样的:

  • 实施STUN / TURN的最佳方式是什么
  • 有任何认证机制吗?

请注意,这适用于混合应用,所以我将使用JavaScript / AngularJS。我选择SimpleWebRTC的主要原因。

谢谢!

1 个答案:

答案 0 :(得分:3)

我建议您使用现有的STUN或TURN服务器,例如coturn

STUN服务器非常轻量级,通常无需身份验证。 STUN服务器基本上告诉客户端它的IP地址是什么,这对于跨NAT(网络地址转换)边界进行对等连接是必要的。

TURN服务器非常耗费资源,因为它们可以传输媒体;呼叫的所有媒体都可以通过TURN服务器,因此确保TURN安全非常重要。您可以在可能阻止UDP的情况下使用TURN服务器,或者在导致问题的特定种类的NAT中使用TURN服务器。

coturn的TURN服务器的身份验证可以采用以下两种形式之一:

  1. 简单(用户名,密码)对
  2. TURN REST API。这使用TURN服务器和另一个实体之间的秘密。实体发出具有到期时间的令牌,并且TURN服务器验证令牌尚未到期并且发布了共享秘密的知识。这由TURN客户端作为用户名,密码对以文档中描述的格式传递。