将Firestore在线安全模拟与自定义声明一起使用会导致错误,但在部署时(在实际处理实际请求时)效果很好。错误是:
错误:simulator.rules第[5]行,第[23]列。在对象上未定义属性admin。
我已经确认用户确实有要求(通过admin SDK并通过使用向其添加规则的应用程序)。
match /{document=**} {
allow write: if request.auth.token.admin;
allow read;
}
这是预期的吗?模拟器坏了还是我错过了什么?无法使用模拟器将很困难,因为我希望在应用程序中使用一些自定义声明。
答案 0 :(得分:3)
规则模拟器不是与Firebase Authentication的真实用户一起运行的,而是与您在屏幕快照左下角在模拟器本身内定义的用户一起运行。确保在此处定义一个token.admin
属性,以便模拟器可以找到它。