没有AngularFire的Firebase路由安全

时间:2014-10-14 18:45:43

标签: firebase firebase-hosting

我创建了一个使用Firebase作为数据存储,实时更新和托管后端的Web应用程序。

移动大多数客户端的东西非常灵活,但安全问题是一个很重要的问题。

要访问Firebase上的数据,Firebase安全规则会处理大多数事情。但是,当使用Firebase进行托管时,我觉得访问某些路线时缺乏安全性。

目前,在页面加载时,我可以检查用户是否已登录。如果用户未登录(或者如果身份验证令牌无效)我可以重定向用户到不同的页面(即登录页面)。但是,我的问题是如果该页面上的静态html中嵌入了我不希望未经授权的用户看到的信息会怎样?

我觉得我收到的第一个答案是,"数据应保存在Firebase变量中,并且仅在授权成功时才加载。"虽然这是一个有效的选项,但我认为将HTML(或者甚至只是文本的段落)存储为Firebase变量是很糟糕的,并且应该有更好的方法。

最初我认为这将是firebase.json文件中的固有选项,因为可以定义重定向,标题等。但是,firebase.json中没有任何内容可用于安全性(例如firebase-security.json 1}})这将允许我执行auth检查,如下所示:

 {
   "firebase": "myfirebase",
   "public": "app",
   "ignore": [],
   "rules": "config/security-rules.json",
   "routes": [ {
     "source" : "/for_authorized_only/",
     "destination": "/authorized_page.html",
     "auth": true, //Must be authorized
   }, {
     "source": "/some_public_route",
     "destination": "index.html",
     "auth": false, //No auth required to access this page
   } ]
 }

我还没有尝试过AngularJS或AngularFire,但在搜索了一下之后,看起来angularFire-seed项目似乎包含路由安全性,但是这应该包含在Firebase中而不是依赖于另一个框架!

我有什么东西可以让我完成这个吗?

0 个答案:

没有答案