Firebase with Electron,如何保护主机?

时间:2018-01-14 17:45:17

标签: node.js firebase localhost firebase-authentication electron

我正在考虑将Firebase与我的Electron App一起使用。具体来说,我想首先使用Firebase身份验证将用户签到我的应用中。到目前为止,我已经完成了大量有关该主题的研究,我最担心的是我需要授权重定向的域名需要是localhost(如果我错了,请纠正我)。默认情况下,Firebase接口将localhost设置为允许的域,我假设仅用于开发人员测试,而不是用于实时生产环境(如果我错了,请再次纠正我)。下图是我所指的Firebase身份验证界面的一部分,用于设置授权域。

enter image description here

我的问题是,为了分发可访问Firebase的Electron应用程序,我是否必须授权localhost域?同样,如果我确实已授权localhost域,这是否安全,在恶意用户无法设置自己的localhost并重定向到非预期页面的情况下,使他们能够自由地向Firebase数据库添加数据?

如果有一个替代的,比授权localhost更安全的选项,我的选择是什么?

我已经在很多地方看到,Firebase安全的大部分内容都是为谁可以读写数据库设置适用的规则。即this post对该主题进行了一些很好的监督。但我坚信,如果有额外的安全措施可以采取,那么只要它们不会降低应用程序的质量,就要随身携带它们。

我是太偏执了,还是这是正确的做法?提前致谢!任何建议或指导都表示赞赏。

1 个答案:

答案 0 :(得分:1)

我在帖子中看到很多问题,但我会回答这两个问题:

  1.   

    我的问题是,为了分发电子申请   有权访问Firebase,我是否必须拥有localhost域   授权?

    这不是Firebase所暗示的内容。拥有localhost 域名授权仅用于您运行时的测试目的 在部署到另一个域之前,您的应用在本地。

  2.   

    如果我确实已授权localhost域,那么这是安全的吗?   恶意用户无法设置自己的localhost和   重定向到非预期的页面,使他们能够自由添加   数据到Firebase数据库?

    是的,这是安全的。你说你还没有开始使用Firebase, 但是当你这样做时,你会发现你需要下载service credentials 能够在您的应用程序中使用SDK。只有您可以访问这些凭据。这就是为什么其他用户无法设置自己的本地主机并访问您的身份验证系统的原因。