Я пытаюсь реализовать аутентификацию Google в AngularJS 2.
Я перешел по этой ссылке
Я создал приложение, содержащее 4 компонента.
- Компонент заголовка
- Компонент входа
- Детальный компонент
- Компонент приложения (корень)
Компонент входа имеет код страницы входа. Поэтому я включил следующее в login.component.html ->
<div class="g-signin2" data-onsuccess="onSignIn"></div>
Кнопка «Выйти» включена в компонент «Заголовок». Код выглядит следующим образом:
header.component.html
<div>
<span class="log-out" (click)="signOut()"> Logout </span>
</div>
header.component.ts
constructor (private router:Router, private ngZone: NgZone){
gapi.load('auth2', function () {
gapi.auth2.init()
});
window['signOut'] = (user) => ngZone.run(() => this.signOut());
}
signOut() {
var auth2 = gapi.auth2.getAuthInstance();
auth2.signOut().then(function () {
console.log('User signed out.');
});
this.router.navigate(['']);
}
После успешного выхода из системы он вернется на страницу входа, адрес '', который был установлен в app-routing.module.
Когда я выхожу из системы, меня перенаправляют на страницу входа, но кнопка подписи Google исчезает. При обновлении снова появляется
Если я что-то упустил, пожалуйста, направьте меня!
this.router.navigate(['']);
находится за пределами методаsignOut
... переместите его в то же место, где находится вашconsole.log
- person Elmer Dantas   schedule 22.01.2018