首页 > 解决方案 > 来自 Firestore 规则的 Firebase 安装身份验证令牌验证

问题描述

我想要一个只能由特定 Firebase 安装访问的 Firestore 集合。例如,

/MyPrivateInstallationCollection/{FirebaseInstallationID}

根据文档,存在 Firebase 安装身份验证令牌,但它们与 Firebase 身份验证令牌不同。https://firebase.google.com/docs/projects/manage-installations#retrieve_auth_tokens

在 Firestore 安全参考文档中,没有安装 ID 的痕迹。 https://firebase.google.com/docs/reference/rules/rules.firestore.Request

是否可以使用 Firestore 安全规则中的 Firebase 安装令牌?

如何验证 FIS 身份验证令牌?它们应该如何使用?

标签: firebasegoogle-cloud-firestorefirebase-authenticationfirebase-security

解决方案


安装 ID 不会自动包含在用户的身份验证令牌中。

如果要在身份验证令牌中包含安装 ID,可以在受信任的环境中使用 Admin SDK将其设置为自定义声明。

或者,您可以包含从 UID(包含在身份验证令牌中)到其安装 ID 的映射然后在您的安全规则中检查该映射。请记住,用户可以拥有多个设备,因此在您的数据结构中允许每个 UID 有多个安装 ID。


推荐阅读