Я новичок в разработке приложений, но я создаю приложение с помощью Google Login, подключенного к моей Firebase.
Я могу подключиться и показать идентификатор пользователя с успехом, но я хочу перейти на другую страницу (HomePage) при успешном входе в систему.
import { HomePage } from "../home/home";
import { RegisterPage } from "../register/register";
import * as firebase from "firebase/app";
import { AngularFireAuth } from "angularfire2/auth";
import { Observable } from "rxjs/Observable";
import { Router } from "@angular/router";
import { GooglePlus } from "@ionic-native/google-plus";
import { Platform } from "ionic-angular";
@IonicPage()
@Component({
selector: "page-login",
templateUrl: "login.html"
})
export class LoginPage {
user: Observable<firebase.User>;
constructor(
public nav: NavController,
public navParams: NavParams,
public forgotCtrl: AlertController,
public menu: MenuController,
public toastCtrl: ToastController,
private afAuth: AngularFireAuth,
private gplus: GooglePlus,
private router: Router,
private platform: Platform
) {
this.menu.swipeEnable(false);
this.user = this.afAuth.authState;
}
async nativeGoogleLogin(): Promise<void> {
try {
const gplusUser = await this.gplus.login({
webClientId:
"MyClientWebAPI",
offline: true,
scopes: "profile email"
});
return await this.afAuth.auth.signInWithCredential(
firebase.auth.GoogleAuthProvider.credential(gplusUser.idToken)
//Here is where i try to inject the router.
.then(success => {
this.router.navigate(["HomePage"]);
})
);
} catch (err) {
console.log(err);
}
}
googleLogin() {
if (this.platform.is("cordova")) {
this.nativeGoogleLogin();
} else {
this.webGoogleLogin();
}
}
Я пытался внедрить некоторый код в аутентификацию, используя затем (success => ....), но не могу заставить его работать.
Может кто-нибудь помочь с кодом?
Спасибо