首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我可以使用FirebaseSimpleLogin作为另一个用户进行身份验证吗?

我可以使用FirebaseSimpleLogin作为另一个用户进行身份验证吗?
EN

Stack Overflow用户
提问于 2014-01-23 00:23:30
回答 1查看 170关注 0票数 0

大多数应用程序都有一个“代表客户X”的按钮。使用Firebase可以实现这一点吗?

我注意到我可以使用自定义登录名创建管理令牌,但是由于数据不可避免地被用户的ID索引,所以如果我仍然像我自己一样的话,获取用户的数据是很困难的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-01-23 15:33:31

您可以通过自定义登录创建令牌来模拟以用户身份登录。

例如,如果您的安全规则正在使用auth.uid,如下所示:

代码语言:javascript
复制
".write": "auth.uid == $user_id"

然后,您可以使用适当的uid生成令牌(再加上您正在使用的简单登录的任何其他细节):

代码语言:javascript
复制
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():

代码语言:javascript
复制
var fbRef = new Firebase(URL);
fbRef.auth( superUserToken('Kato!'), function(error, user) { /* ... */ });

这种技术对于测试安全规则也很有用,而不需要在dev环境中创建多个帐户。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21296957

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档