如何在谷歌云功能上检查经过身份验证的用户



我正在构建一个网站,并决定使用纯HTML+JS和完整的Firebase,这样我就不必实现后端系统来测试新想法。这个问题的用例是,所有用户都应该经过身份验证才能访问页面(相当标准的安全功能,对吧?(。

为了实现这一点,我利用谷歌云功能在允许访问页面之前检查用户是否已登录。以下是firebase.json上实现的代码:

"hosting": {
"rewrites": [ {
"source": "/home.html",
"function": "home"
} ]
}

在home函数中,我运行以下代码来检查Id Token是否有效:

admin.auth().verifyIdToken(idToken).then((decodedToken) => {
const userId = decodedToken.uid;
})

我面临的问题是idToken的值无效:

Firebase ID令牌的算法不正确。期望";none";但是得到了"RS256";

我试图复制&超过了result.credential.accessToken中的值,但我仍然收到相同的错误消息。

firebase.auth().getRedirectResult().then(function(result) {
if (result.credential) {
var token = result.credential.accessToken;
}
});

任何帮助都将不胜感激。谢谢

我知道您将HTTPS请求定向到homeHTTPS云功能。

您应该在HTTP请求的Authorization标头中将Firebase ID令牌作为Bearer令牌传递,如以下官方云函数示例中所解释和演示的那样。

相关内容

  • 没有找到相关文章

最新更新