【发布时间】:2021-05-20 12:52:48
【问题描述】:
我正在构建一个网站,并决定使用完整的 Firebase 纯 HTML+JS,因此我不必实施后端系统来测试新想法。这个问题的用例是所有用户都应该经过身份验证才能访问页面(非常标准的安全功能,对吧?)。
为此,我利用 Google Cloud Functions 在允许访问页面之前检查用户是否已登录。 这是在 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 令牌的算法不正确。预期“无”但得到 "RS256"
我尝试从 result.credential.accessToken 中复制并粘贴该值,但仍然收到相同的错误消息。
firebase.auth().getRedirectResult().then(function(result) {
if (result.credential) {
var token = result.credential.accessToken;
}
});
任何帮助将不胜感激。 谢谢!
【问题讨论】:
标签: firebase firebase-authentication google-cloud-functions