代码之家  ›  专栏  ›  技术社区  ›  Srushtika Neelakantam

作为websocket url查询参数的一部分发送access\u令牌是否安全?

  •  0
  • Srushtika Neelakantam  · 技术社区  · 6 年前

    在中使用webhooks获取有关通道生命周期事件的通知时 Ably Realtime ,作为websocket url查询参数的一部分发送access\u令牌是否安全?

    (免责声明:我是一名开发人员,提倡干练地发布和自我回答 commonly asked support question 此处显示堆栈溢出,以便我们的用户更容易找到)

    1 回复  |  直到 5 年前
        1
  •  0
  •   Srushtika Neelakantam    6 年前

    从安全角度来看,访问令牌存储在哪里并不重要。在普通HTTP请求中,它将存储在标头中,或存储在 websocket 已建立连接。然而,许多 websockets 因为客户端不支持客户端头,并且可以检查流量的攻击者可以同等地访问这两个客户端头。连接现在默认通过TLS,因此从外部您无法访问查询参数,也无法访问消息的内容。

    传统上,在查询参数中使用凭据被认为是一种不好的做法,因为URL可以存储在代理日志、浏览器历史记录等位置。然而,这两个问题都不适用于 WebSocket (浏览器不会保留页面连接的历史记录),并且当存在TLS隧道时,代理无法访问URL。当非TLS交互是默认情况时,就会出现这种问题。为了进行比较,大多数OAuth流都会使用access\u token query参数进行端点访问。