【问题标题】:How to play authenticated audio stream in HTML 5?如何在 HTML 5 中播放经过身份验证的音频流?
【发布时间】:2018-09-24 10:01:27
【问题描述】:

我们有一个音频流 API,它采用 Basic Authentication。验证成功后,它会返回带有"audio/mpeg" MIME 的音频流。

我们之前在 HTML 中使用 <audio> 标记来播放音频文件,但现在通过身份验证,该标记不再起作用。 <audio> 标签规范不允许“身份验证”标头 See this StackOverflow thread.

如果<audio> 标签在这里没有帮助,那么在网络上通过身份验证播放音频的替代方法是什么?

【问题讨论】:

  • 通常crossOrigin 属性是为此目的,您必须事先将授权保存在客户端的cookie中。但我不得不承认,我更习惯于属性的“匿名”而不是“使用凭据”……
  • @Kaiido 感谢您的回复,音频流 API 托管在同一台服务器上,而不是在不同的服务器上。但仅当请求标头具有“Authorization=Basic +token”时才可用,不幸的是,音频标签没有任何规定可以与 src URL 一起发送标头

标签: javascript html audio html5-audio


【解决方案1】:

在源标签中使用 URL 格式 https://username:password@example.com/your_stream,这会在“授权”标头中发送凭据。

【讨论】:

  • 我怀疑这是一种不安全的做法,因为我们将用户名:密码放在 URL 中 :)
  • 不推荐在 URL 中发送 SRC 属性的用户名和密码
猜你喜欢
  • 2013-08-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-05-05
  • 1970-01-01
  • 2019-03-20
相关资源
最近更新 更多