【发布时间】:2021-09-13 02:43:49
【问题描述】:
所有规则在模拟器中都可以正常工作,但不能通过应用程序。我一直在关注 YouTube 频道 Fireship 在 google 上使用自定义数据 angluar here 登录的视频。
rules_version = '2';
service cloud.firestore {
match /databases/{database}/documents {
match /users/{userId} {
allow read, write: if request.auth.uid == userId;
}
}
}
我的身份验证服务
@Injectable({ providedIn: 'root' })
export class AuthService {
user$: Observable<User>;
constructor(
private ngAuth: AngularFireAuth,
private firestore: AngularFirestore,
) {
this.user$ = this.ngAuth.authState.pipe(
switchMap(user => user ? this.userRef(user).valueChanges() : of(null)),
);
}
private userRef({ uid }): AngularFirestoreDocument {
return this.firestore.doc<User>(`users/${uid}`);
}
}
在html中使用
<img *ngIf="auth.user$ | async as user" [src]="user.photoURL" alt="user">
【问题讨论】:
标签: javascript angular google-cloud-firestore firebase-security