授予管理员权限
我正在使用自定义声明,通过在创建“ admins / {userId}”中的文档时触发它来向用户授予管理员权限。
然后,Cloud Function将用户自定义声明中的“ admin”属性设置为true。然后用户需要再次登录,并且他是管理员。
现在,我在Firestore and Storage的安全规则中检查admin自定义声明,以便用户可以删除/编辑所有内容。
撤销管理员权限?
但是,当我想撤消对用户的管理权限时,如何确保在所有地方都确实撤消了该权限。
对于Firestore,我可以添加其他检查,它也从Firestore“ admins / {userId}”方向获取数据,并且不允许访问。
BUT如果我撤消权利,并且用户未刷新其令牌,他仍然可以编辑/删除Firestorage中的所有内容。而且由于无法从Storage-Security访问Firestore数据,因此甚至无法仔细检查“ admins /”方向。
那么,我如何可靠地实现用于Firestore和存储的管理功能?