【问题标题】:How to protect STUN/TURN server information in JS?如何保护 JS 中的 STUN/TURN 服务器信息?
【发布时间】:2020-05-03 13:11:03
【问题描述】:

我正在构建一个 WebRTC 应用程序,JS 将具有以下代码(凭据来自示例而非真实的):

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

这意味着任何人都可以获取我的凭据并根据自己的需要使用我的服务器。

如何避免这种情况?

【问题讨论】:

    标签: webrtc stun turn


    【解决方案1】:

    最常见的方法是提供几个小时后过期的凭据。这在this draft中有描述

    例如,您引用的凭据来自 this article,它们于 2013 年 9 月 16 日星期一过期(来自 new Date(1379330808 * 1000)

    【讨论】:

    • 感谢您的回答。就我而言,我想为将来连接的用户生成凭据并向他们发送链接。他们可能会在 10 到 15 天后连接 - 它会有所不同。问题是如何计算到期时间。是从他们登录服务器的时间+我提供的TTL开始的吗?
    • 通常您会在客户端连接到信令服务器的那一刻生成 STUN/TURN 凭据,而不是更早。这与可以有更长过期时间的连接令牌不同。
    猜你喜欢
    • 2015-03-21
    • 1970-01-01
    • 2017-11-01
    • 1970-01-01
    • 2015-04-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-10
    相关资源
    最近更新 更多