我正在创建一个移动应用程序,没有任何理由让用户进行身份验证。但是,我不希望其他人编写可以访问Firestore中我的数据的应用程序或网站,也不希望其他人调用我的云函数。
这是否意味着我需要实现匿名身份验证,然后编写要求请求来自经过身份验证的用户的访问规则?
或者,是否有一种方法来编写规则,只说它们必须来自我的应用程序?
发布于 2019-04-17 12:38:24
我们也遇到了同样的问题:一个部署到很多人的应用程序,它只需要从消防局文档中读取,而另一个管理应用程序(实际上只是一个网页)将不会被分发,它需要能够写入这些文档。
我们的解决办法是:
allow read;
allow write: if request.auth.uid == 'notshowingyououridhere-sorry';我们使用离子型和类型记录,所以做用户/密码登录的代码是相对简单的:
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...');
}
});希望这能有所帮助。
https://stackoverflow.com/questions/51414771
复制相似问题