Как перенаправить пользователя на новую страницу после входа в систему с помощью электронной почты, Facebook или Google с помощью Firebaseui? - PullRequest
1 голос
/ 05 июня 2019

Я использую инфраструктуру Iconic 4 и пытаюсь использовать функцию FirebaseUIAuth в своем приложении, но у меня возникает проблема, когда пользователь входит в систему.

Проблема: Когда пользователь входит в систему,Кнопки входа в систему исчезают при отображении приложения в Интернете и на моем локальном хосте (это хорошо), но у меня возникают проблемы с отображением на Android.После входа в систему кнопки входа / входа остаются видимыми при рендеринге Android (не очень хорошо ... womp womp).

Я попытался изменить параметр signInFlow на «перенаправление», но степень моих знаний оIonic Framework меня немного озадачил, так как я запутался в том, как заставить кнопки входа перенаправлять пользователя в новое представление.

[файл app.module.ts только с настройкой firebaseUI]

const firebaseUiAuthConfig: firebaseui.auth.Config = {
  signInFlow: 'popup', /*tried using 'redirect' to fix android rendering*/
  signInOptions: [
    firebase.auth.GoogleAuthProvider.PROVIDER_ID,
    {
      scopes: [
        'public_profile',
        'email',
        'user_likes',
        'user_friends'
      ],
      customParameters: {
        'auth_type': 'reauthenticate'
      },
      provider: firebase.auth.FacebookAuthProvider.PROVIDER_ID
    },
    {
      requireDisplayName: true,
      provider: firebase.auth.EmailAuthProvider.PROVIDER_ID
    }
  ],
  tosUrl: '/terms',
  privacyPolicyUrl: '/privacy',
  credentialHelper: firebaseui.auth.CredentialHelper.NONE
};

[файл home.page.html с тегом firebaseui]

<ion-content padding>
  <firebase-ui></firebase-ui>

  <h1 *ngIf="afAuth.auth.currentUser">Welcome {{afAuth.auth.currentUser.displayName}}!</h1>

  <ion-button *ngIf="afAuth.auth.currentUser" (click)="signOut();">Sign Out</ion-button>
</ion-content>

[файл home.page.ts с методом выхода]

import { Component } from '@angular/core';
import { AngularFireAuth } from '@angular/fire/auth';


@Component({
  selector: 'app-home',
  templateUrl: 'home.page.html',
  styleUrls: ['home.page.scss'],
})
export class HomePage {

  constructor(public afAuth: AngularFireAuth,) {
  }

  signOut() {
    this.afAuth.auth.signOut().then(() => {
    location.reload();
    });
  }

}

Я ожидал, что рендеринг Androidбудет отображаться только:

Приветствуем некоторых пользователей!

Но также отображаются кнопки входа в систему, настроенные с помощью firebaseui (google, facebook, email)

...