【问题标题】:How does the firebase authentication and realtime application database secure itself?Firebase 身份验证和实时应用程序数据库如何保护自身?
【发布时间】:2018-09-16 23:47:25
【问题描述】:

从如何保护对在线资源的访问的一般开发角度来看,我对此感到好奇。我们使用以下 firebase 配置参数初始化我们的 webapp:

  • apikey
  • authdomain
  • projectid
  • databaseurl
  • messagesenderid

服务器如何使用这些来确保请求有效?主要是为什么其他人不能直接从应用程序中提取这些参数,然后创建另一个使用相同参数的“Evil”应用程序。

“邪恶”将包括创建一个不同的应用程序,使用从真实应用程序中获取的相同凭据,使用纯电子邮件/密码注册表单根据真实应用程序中包含的相同凭据为用户注册,然后一旦用户签了更“恶”。

也是简单的 node express js 应用程序,我们希望使用上述参数保护对它的访问,从应用程序请求生命周期的角度来看,这将如何工作?

1) Express 收到请求

2) Express 检查 ...

最后,这部分是 openid-connect 工作原理的一部分吗?换句话说,它是完全遵循 openid-connect 规范,还是专门为 firebase 构建的基于自定义的安全解决方案?

【问题讨论】:

    标签: javascript node.js firebase firebase-authentication openid-connect


    【解决方案1】:

    这些配置参数只不过是在各种服务器上识别您的 Firebase 项目。它们绝不是一种身份验证/授权机制。

    在这里查看我的答案:

    您会注意到,其中大部分都指向 Firebase 身份验证来对用户进行身份验证,然后是服务器端安全规则来授权他们的访问。有了这两个,什么代码执行访问就不再重要了。如果用户在同一个后端进行身份验证,并且数据访问遵循您的服务器端安全规则,则意味着它遵循您设置的规则,无论它是哪个代码。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-12-26
      • 1970-01-01
      • 2021-01-11
      • 2021-04-17
      • 1970-01-01
      • 2021-01-22
      • 1970-01-01
      • 2018-01-28
      相关资源
      最近更新 更多