У меня возникли некоторые проблемы с аутентификацией Firebase, и мне нужна помощь.
Обычно для входа в Google+ я могу открыть браузер в приложении и выбрать профиль, в который я хочу войти. Однако кажется, что аутентификация на этом заканчивается, когда меня возвращают на мою исходную страницу. Я использовал *ngIf
, чтобы изменить макет страницы входа в систему, когда я вернусь, но изменения не отображаются. У кого-нибудь есть идеи?
Мой код для HTML следующий:
<button block ion-button (click)="login('facebook')" *ngIf = "!provider.loggedin" item-left>
<ion-icon name="logo-facebook"></ion-icon> Login With Facebook
</button>
<button block ion-button (click)="login('google')" *ngIf = "!provider.loggedin" item-left>
<ion-icon name="logo-googleplus"></ion-icon> Login With Google
</button>
<ion-card *ngIf = "provider.loggedin">
<img src="{{ provider.profilePicture }}"/>
<ion-card-content>
<ion-card-title>
{{ provider.name }}
</ion-card-title>
<p style = "text-align: center">
{{ provider.email }}
</p>
</ion-card-content>
</ion-card>
<button block ion-button (click)="FinalLogin()" *ngIf = "provider.loggedin" item-left>Please Enter!!</button>
<button block ion-button (click)="logout()" *ngIf = "provider.loggedin" item-left>Logout</button>
Код для home.ts
выглядит следующим образом:
login(provider){
let signInProvider = null;
console.log("Help")
switch(provider){
case "facebook":
signInProvider = new firebase.auth.FacebookAuthProvider()
console.log("Help2")
break;
case "google":
signInProvider = new firebase.auth.GoogleAuthProvider()
console.log("helping me")
break;
}
console.log("help3")
this.fire.auth.signInWithRedirect(signInProvider)
.then ( () => {
console.log("Help4")
this.fire.auth.getRedirectResult().then( res => {
console.log(res)
console.log('from -Google--')
this.provider.loggedin = true;
this.provider.name = res.user.displayName;
this.provider.name = res.user.email;
this.provider.profilePicture = res.user.photoURL;
this.ref.detectChanges();
console.log(res)
this.navCtrl.push(LoggedinPage);
});
})
}