使用AngularJS/Firebase/和S3保护URL



我想使用AWS S3存储桶(存储视频)托管一个网页,该存储桶使用AngularJS和Firebase(用于身份验证)。我的要求是一个安全的URL,用户只有在经过身份验证后才能访问(例如/video)。如果我使用AngularJS,任何人都可以阅读我的Javascript并直接访问URL,所以"黑客攻击"很简单。有没有办法使用上述技术来保护URL?

以下两个URL都可以通过AWS S3访问:

  1. 主页位于site.com/,当然默认为index.html
  2. 经过身份验证的url位于site.com/video#,您应该只有在登录后才能访问此处

您可以将URL的位置存储在firebase中,比如存储在视频/收藏中,并要求用户通过身份验证才能从该收藏中读取。但这并不能阻止其他非用户找到视频的URL,除非您实现服务器端身份验证。

示例:创建一个运行Express之类的ec2,向ec2发送一个请求,其中包含经过身份验证的用户唯一的一次性令牌(存储在firebase中,由应用程序为经过身份验证用户创建),将响应的标头设置为成功,以及浏览器识别响应为视频所需的任何MIME信息,然后使令牌无效。

最新更新