首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Firebase匿名身份验证是否允许我保护Fi还原数据和云函数仅供我的应用程序访问?

使用Firebase匿名身份验证是否允许我保护Fi还原数据和云函数仅供我的应用程序访问?
EN

Stack Overflow用户
提问于 2018-07-19 05:11:01
回答 1查看 867关注 0票数 6

我正在创建一个移动应用程序,没有任何理由让用户进行身份验证。但是,我不希望其他人编写可以访问Firestore中我的数据的应用程序或网站,也不希望其他人调用我的云函数。

这是否意味着我需要实现匿名身份验证,然后编写要求请求来自经过身份验证的用户的访问规则?

或者,是否有一种方法来编写规则,只说它们必须来自我的应用程序?

EN

回答 1

Stack Overflow用户

发布于 2019-04-17 12:38:24

我们也遇到了同样的问题:一个部署到很多人的应用程序,它只需要从消防局文档中读取,而另一个管理应用程序(实际上只是一个网页)将不会被分发,它需要能够写入这些文档。

我们的解决办法是:

  • 使用电子邮件和密码身份验证为数据库创建另一个用户。(我们不允许用户创建账户--只有我们创建的一个静态电子邮件/密码。)
  • 只对常规应用程序使用匿名登录。
  • 有“管理应用程序”的电子邮件/密码登录。
  • 为每个文档添加这样的规则:
代码语言:javascript
复制
      allow read;
      allow write: if request.auth.uid == 'notshowingyououridhere-sorry';

我们使用离子型和类型记录,所以做用户/密码登录的代码是相对简单的:

代码语言:javascript
复制
      firebase.initializeApp(credentials);
      firebase.auth()
        .signInWithEmailAndPassword('obfuscated@sorry.com', 'sorrynotshowingyouourpassword')
        .catch(err => {
          console.log('Something went wrong:', err.message);
        });


      firebase.auth().onAuthStateChanged((user) => {
        if (user) {
          // User is signed in.
          const isAnonymous = user.isAnonymous;
          const uid = user.uid;
          console.log('onAuthStatChanged: isAnon', isAnonymous);
          console.log('userid', user.uid);
        } else {
          console.log('onAuthStateChanged: else part...');
        }
      });

希望这能有所帮助。

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

https://stackoverflow.com/questions/51414771

复制
相关文章

相似问题

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