我正在使用Angular和Firebase构建网站。我使用Angularfire2和AngularFireAuth库和GoogleAuthProvider(Google)作为我的身份验证提供程序。如何在angularfire2/auth signOut之后从Google身份验证中断开连接?
这里是我的服务代码:
import { Injectable } from '@angular/core';
import { Observable } from 'rxjs/Observable';
import { AngularFireAuth } from 'angularfire2/auth';
import * as firebase from 'firebase/app';
@Injectable()
export class AuthenticationService {
user: Observable<firebase.User>;
constructor(public afAuth: AngularFireAuth) {
this.user = afAuth.authState;
}
login() {
this.afAuth.auth.signInWithPopup(new firebase.auth.GoogleAuthProvider());
}
logout() {
this.afAuth.auth.signOut();
}
}
当用户注销'我的网站,它的工作原理,但似乎“缓存”的谷歌认证。因此,当他们尝试第二次登录时,我遇到了几个问题:
- 用户不允许选择其他Google帐户进行登录。
- 用户自动登录...这似乎是一个安全问题。另一个用户可以访问同一个共享PC,并以前一个用户身份登录,并且不需要输入密码即可。
我在做什么错?有没有办法阻止这些证书缓存angularfire2/auth?有没有办法在用户注销我的网站时将用户注销?
我很欣赏你的反应,并同意这是 “作为设计的”,但我仍然相信这是一个不幸的用户体验。我宁愿选择让我使用Google凭据登录,但不能同时登录Google。 – szaske