【发布时间】:2020-07-28 11:27:44
【问题描述】:
我有一个使用 google 帐户登录的用户,在 firebase 中,用户 ID 是 '123'
在 firestore: data 中,存在一个集合“用户”,其中包含一个文档“123”,字段为“名称:“测试””
在firestore:规则中,规则如下
service cloud.firestore {
match /databases/{database}/documents {
match /users/{userId} {
allow read, update, write, delete: if request.auth.uid == userId;
}
}
}
在我的组件中,我的代码是:
users: Observable<User[]>;
ngOnInit()
{
this.users = this.firestore.collection<User>('users');
}
constructor(public auth: AngularFireAuth, private firestore : AngularFirestore) {}
HTML:
<ul>
<li *ngFor='user of angObs | async>
{{ user.name }}
<li>
<ul>
<div *ngIf='auth.user | async as user'>
<p>User id:</p>
{{ user.uid }}
</div>
hmtl 内容如下:
用户名:
123
当规则为 request.auth.uid != null; 时,用户会看到数据。
当规则为 request.auth.uid == userId; 时,用户看不到数据。
我做错了什么?
【问题讨论】:
标签: javascript google-cloud-firestore firebase-authentication angularfire2