我试图在我的离子应用程序中创建对firebase的匿名登录 . 这是我的身份验证服务 .

@Injectable()
export class AuthService {
    public authState: any = null;
    public UserId: any;

    constructor(public angularFireAuth: AngularFireAuth,
        private firestoreUser: FirestoreUserProvider) {
        this.angularFireAuth.authState.subscribe((auth) => {
            this.authState = auth
            if (this.authState)
                this.UserId = this.authState.uid;
        });
    }

    get isUserAnonymousLoggedIn(): boolean {
        return (this.authState !== null) ? this.authState.isAnonymous : false
    }

    get currentUserId(): string {
        return (this.authState !== null) ? this.authState.uid : '';
    }

    anonymousLogin() {
        return this.angularFireAuth.auth.signInAnonymously()
            .then((user) => {
                this.authState = user;
                this.updateUserData(user.uid);
            })
            .catch(error => console.log(error));
    }

    signOut(): void {
        this.angularFireAuth.auth.signOut();
    }

    updateUserData(UserId: any): void {
        this.firestoreUser.createUser(UserId);
    }
}

虽然尝试登录以下代码工作正常,但页面刷新和登录页面再次显示 .

this.authService.angularFireAuth.authState.subscribe(user => {
          if (!user) {
            console.log('user is not logged in!');
            this.navCtrl.setRoot(AnonymousLoginPage)
          }
        })

表示subscribe方法始终返回null . 有帮助吗?