Firebase域名白名单如何在幕后工作以使其万无一失?

Ana*_*and 7 web firebase firebase-authentication

Firebase域白名单如何在幕后工作以使其万无一失?要清楚,我不是要在Firebase控制台中配置我的域(我理解该怎么做),而是尝试在我的服务器端构建一些类似的源域验证 - API代码.Firebase使用哪些Web标准来确保只有授权域才能进行API调用,因为API令牌是公开的.

如果有人使用非浏览器HTTP客户端与源域标头伪造我的应用程序的API令牌会怎么样?我认为Firebase会考虑这样的情况而且它已经覆盖了.试图了解它的万无一失.

EEC*_*LOR 2

我的猜测是,它并不是万无一失的,但限制了某些情况下的用例。

您可以在 CORS 相关标头中使用这样的白名单域,这将阻止现代浏览器的某些操作。

白名单域还可以与身份验证一起使用,以确保登录后重定向到您的域。

理论上,您可以去检查Referer标头,但许多浏览器出于安全/隐私目的不提供标头,因此这将是一个糟糕的选择。

至于 firebase,由于没有该库很难使用 firebase,因此该库只能向服务器提供当前 url,并阻止来自未列出域的任何操作。这绝不是万无一失的。

如果有人使用非浏览器 HTTP 客户端,其源域标头是用我的应用程序的 API 令牌伪造的,该怎么办?我认为 Firebase 会考虑这种情况及其涵盖范围。

我认为你的假设是错误的。客户端不安全,任何请求都可以伪造。最终它是一个发送到服务器的数据包,如果您控制发送者,您就可以控制数据包的内容。

如果我们监控客户端和 Firebase 之间的连接,我们就可以找到一种从另一个(浏览器外)进程执行相同任务的方法。