大多数应用程序都有一个“代表客户X的行为”按钮。使用Firebase可以实现吗?
我注意到我可以使用自定义登录名创建管理令牌,但是由于数据不可避免地由用户的ID索引,因此如果我仍然以自己的身份进行身份验证,则很难获得用户的数据。
例如,如果您的安全规则使用auth.uid,如下所示:
".write": "auth.uid == $user_id"
然后,您可以使用适当的uid(以及您正在使用的简单登录中的所有其他详细信息)生成令牌:
function superUserToken(USER_ID) {
var FirebaseTokenGenerator = require("firebase-token-generator");
var tokenGenerator = new FirebaseTokenGenerator(YOUR_FIREBASE_SECRET);
return tokenGenerator.createToken({uid: USER_ID});
}
然后,当您想使用su
另一个用户时,只需使用新令牌直接调用auth()即可:
var fbRef = new Firebase(URL);
fbRef.auth( superUserToken('Kato!'), function(error, user) { /* ... */ });
无需在开发环境中创建多个帐户的情况下,此技术对于测试安全规则也很有用。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句