【发布时间】:2022-01-10 03:11:11
【问题描述】:
我目前有一个 iframe,我嵌入到我的网站、chrome 扩展程序和 3rd 方网站中。
问题如下: 我正在使用 firebase 数据填充 iframe 的部分内容。 在我的网站中,我嵌入了自己的 iframe 并受到 firebase 令牌(视图)的保护,我不知道它是如何工作的,但它在调用数据库时会正确返回数据。 示例:
getData(
reference: string,
){
const ref = `accounts/${reference}`;
const dataReturn = this.db.object(ref).valueChanges();
return dataReturn;
}
这在我的 webapp 上返回得很好,当用户在我的 webapp 中注销时,数据就会受到保护(因为它必须如此)
问题从这里开始:当第 3 方嵌入我的 iframe 时,他们使用 oAuth 令牌(从我的 API 获取用户等),因此他们没有登录我的网站,因此,当他们嵌入并尝试获取数据(自动,因为我们调用 firebase onInit),它们被 firebase 阻止,因为它们没有有效的令牌/它们没有在我的网站中进行身份验证。
有没有办法使用该 oAuth 令牌让他们获取 firebase 数据?
在 chrome 扩展程序中发生了相同的场景,我们使用 oAuth 令牌让用户登录(以防止创建帐户并登录我们的 web 应用程序,防止出现 CORS 问题)。
这些是我在实时数据库 firebase 中的规则:
"accounts": {
".read": "auth !== null",
".write": false,
}
谢谢!
【问题讨论】:
标签: javascript firebase-realtime-database iframe oauth firebase-authentication