我想使用AWS S3存储桶(存储视频)来托管使用AngularJS和Firebase(用于身份验证)的网页。我的要求是一个安全的URL,用户只能在经过身份验证后访问(例如/视频)。如果我使用AngularJS,任何人都可以阅读我的Javascript并直接转到URL,因此“hack”是微不足道的。有没有办法可以使用上述技术保护URL?
以下两个网址均可通过AWS S3访问:
答案 0 :(得分:1)
您可以将URL的位置存储在firebase中,例如在视频/集合中,并要求用户进行身份验证以便从该集合中读取。但是,除非您实施服务器端身份验证,否则这不会阻止其他非用户查找视频的URL。
实施例: 创建一个运行Express或其他东西的ec2,用经过身份验证的用户唯一的一次性令牌(存储在firebase中,由您的App为经过身份验证的用户创建)向ec2发送请求,将响应的头设置为成功以及任何MIME信息您需要浏览器识别响应是视频,然后使令牌无效。