ioni c firebase auto phone auth не меняет состояние авторизации - PullRequest
0 голосов
/ 18 июня 2020

состояние аутентификации никогда не меняет событие после того, как пользователь вошел в систему с автоматической аутентификацией телефона firebase для android.

поведение на устройстве не android такое, как ожидалось

async signinWithPhone(phoneNumber){
    const loading =  await this.loadingCtrl.create({
      keyboardClose: false,
      animated: true,
      spinner: 'lines',
      backdropDismiss: false,
    })
    await loading.present()
    this.auth.verifyPhoneNumber(phoneNumber, 120000).then(async verificationId => {
      loading.dismiss()
      const alert = await this.alertCtrl.create({
        header: 'Verify phone number',
        message: 'Please provide the SMS code you received on your phone.',
        inputs: [
          {
            name: 'code',
            type: 'tel',
            placeholder: 'SMS Code'
          },
        ],
        buttons: [
          {
            text: 'Cancel',
            role: 'cancel',
            cssClass: 'secondary',
          }, {
            text: 'Okay',
            handler: (data) => {
              loading.present()
              this.auth.signInWithVerificationId(verificationId, data.code).then(async res => {
                console.log(res);
                this.toast.show('Signed in')
                this.router.navigate(['home'])
              })
            }
          }
        ]
      });
      await alert.present();
    }).catch(async err => {
      this.toast.show(err, 'danger')
      console.log(err);
      loading.dismiss()
    })
  }

это наблюдаемая подписка в состоянии пользователя.

this.auth.onAuthStateChanged().subscribe(user => {
        console.log(user)
      if(user){
        this.user.next(user)
        this.router.navigate(['home', 'menu'])
      } else{
        this.user.next(null)
        this.router.navigate(['login'])
      }
    })

Я не могу найти никакого решения в Интернете, я не очень знаком с тем, как это работает на базовой стороне. заранее спасибо.

...