Экран аутентификации Google по щелчку приложения в угловых 6 - PullRequest
0 голосов
/ 06 июня 2018

Я создаю приложение на Angular 6 + PWA.Я должен внедрить Google Authentication для входа в систему. Экран входа в систему Google должен быть первым экраном, когда мы нажимаем на значок приложения.Мне не нужен экран, для которого появляется кнопка Google, и при ее нажатии появляется экран входа в систему.После успешного входа в систему появится целевая страница.Из того, что я мог собрать, только при нажатии на следующую кнопку, появится экран входа в систему

<div class="g-signin2" data-onsuccess="onSignIn"></div>

Когда мы нажимаем на эту кнопку, управление передается onSignIn () , а затемпоток продолжается.Я хочу, чтобы эта функция вызывалась для ngOnInit () из angular app.component.ts , поскольку она является корневым компонентом.По сути, я не хочу следующее:

<div class="g-signin2" data-onsuccess="onSignIn"></div>

и все же я хочу вызвать его метод onSignIn ()

Как я могу добиться этого?

1 Ответ

0 голосов
/ 11 декабря 2018

В моем AuthService у меня есть метод, который выглядит следующим образом:

googleLogin() {
const provider = new auth.GoogleAuthProvider()
return this.oAuthLogin(provider);
}

В компоненте, который вы хотите использовать, вы можете сделать это:

import { Component, OnInit } from 
'@angular/core';
import { AuthService } from 
'../auth/auth.service';

@Component({
selector: 'user-profile',
templateUrl: './user-profile.component.html',
styleUrls: ['./user-profile.component.css']
})
export class UserProfileComponent implements 
OnInit {


constructor(public auth: AuthService) { 

}

ngOnInit() {
 this.auth.googleLogin();
}

}

Не забудьтеимпортировать AuthService в компонент, в котором вы его используете.

Возможно, вы не используете firebase, но просто вызовите метод google login в вашем конкретном auth api в любой функции OnInit.Не нужно «иметь», чтобы нажать кнопку для вызова метода.

...