2016-04-04 74 views
2

嗨我试图通过REST api在角应用中实施auth保护的音频/视频流。目标是确保音频/视频不被其他未记录的用户共享。我试过一次性使用令牌,以便流是这样的:通过REST api的私人视频

  • 角索要一次性使用令牌你点击播放按钮后POST: file/1/token
  • 角获得令牌和粘贴标记为URL ?token=...
  • 流请求被发送到服务器GET: file/1?token=...
  • Server检查令牌,并从数据库
  • 删除它。如果令牌是正确的流开始

问题出在您点击时间轴时流没有缓冲,因此浏览器自动发送另一个当然未经授权的请求,因为令牌已被删除。

我想保持api无状态,但正如你看到某种状态是由html媒体强制的。

我很想听听你对这个问题的提示或解决方案。

回答

0

问题现在已解决。也许这不是最好的解决方案,但它涵盖了所有要求。 我们决定使用打破REST原则但简单地工作的会话。

现在我们得到令牌,因为它以前POST: file/1/token

获取文件所提供的令牌GET: file/1?token=...

不同的是,在控制器中,我们打开新的PHP会议上,保存令牌到会话,并从数据库中删除。现在我们可以检查令牌是在数据库还是在会话中。

所以,如果你发送链接到其他人他们没有访问权限。只有在PHP会话中存在令牌时才有权访问。