将 http Google Cloud 功能“需要身份验证”与 Firebase 结合使用

问题描述 投票:0回答:1

在我的前端,我使用 Firebase 身份验证和

firebaseAuth.currentUser?.getIdToken(true)
函数来获取令牌并将其作为
Authorization: Bearer {token}
标头发送到 Google 函数。

我曾经解析函数中的令牌并在函数代码中验证它。但我想启用它的

Require authentication
设置。 问题是我在这种情况下收到
Your client does not have permission to the requested URL
错误。

我尝试将

allAuthenticatedUsers
{project}@appspot.gserviceaccount.com
firebase-service-account@firebase-sa-management.iam.gserviceaccount.com
主体设置为
Cloud Functions Invoker
角色,但没有帮助。

有什么办法可以做到

Require Authentication
已启用,并且GC仅允许对通过Firebase进行身份验证的用户执行该功能吗?

firebase google-cloud-platform firebase-authentication google-cloud-functions authorization
1个回答
0
投票

Google Cloud IAM 角色(例如“allAuthenticatedUsers”和服务帐户)与 Firebase 身份验证用户 ID 令牌完全无关。 它们彼此不兼容并且不能以任何方式互换。 您不能简单地替换代码来验证具有 IAM 权限的 Firebase 身份验证令牌。

实现 Firebase Auth 令牌验证的唯一方法是使用您编写的代码,通常使用 Firebase Admin SDK。

© www.soinside.com 2019 - 2024. All rights reserved.