gpt4 book ai didi

firebase - 是否可以将 Firestore 规则中的 Cloud Functions 触发的请求与经过用户身份验证的请求区分开来?

转载 作者:行者123 更新时间:2023-12-04 09:07:54 24 4
gpt4 key购买 nike

"Extend with Cloud Functions"文档的部分说:

Cloud Functions execute in a trusted environment, which means they are authorized as a service account on your project. You can perform reads and writes using the Firebase Admin SDK:


API reference for rulesrequest.auth将包含 uid 和 token 映射。都没有 firebase.identities也不是 firebase.sign_in_provider似乎包含一个“ serviceAccount ”键来指定如何授权请求。
用例:我为用户实现了基于角色的机制,并希望允许对某些角色和 allow delete: if request.auth.uid != null && isOneOfRoles(['super-admin', 'admin']); 进行操作。 .我不能仅仅依靠检查 request.auth.uid != null; .

最佳答案

使用 firebase-admin 从 Cloud Functions 发出的请求SDK 将 不是 由安全规则评估。它们使用服务帐户授权,这意味着它们不受规则约束。
如果您想以用户身份进行授权并让您的写操作受安全规则保护,您可以尝试使用 Cloud Functions 中的 Web SDK。您可以使用自定义身份验证来创建在 Cloud Functions 中使用的用户帐户,尽管这可能会减慢速度,因为在使用 SDK 之前您必须在每个函数调用中进行身份验证。

关于firebase - 是否可以将 Firestore 规则中的 Cloud Functions 触发的请求与经过用户身份验证的请求区分开来?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63411295/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com