【问题标题】:Firebase change Facebook accountFirebase 更改 Facebook 帐户
【发布时间】:2017-06-10 14:11:40
【问题描述】:

我目前正在开发一个 Angular2 应用程序,它使用 Firebase 作为用户系统,并提供以下提供商:电子邮件 + 密码、Facebook、谷歌

问题是当我使用 Facebook 登录时,我无法再更改 Facebook 帐户。当我注销并再次点击“使用 Facebook 登录”时,会自动使用之前的用户。

通过 GoogleAuthProvider 我可以按如下方式管理帐户更改

const googleAuthProvider = new firebase.auth.GoogleAuthProvider();
googleAuthProvider.setCustomParameters({prompt: 'select_account'});

但我不能通过 Facebook 做同样的事情,因为 Api 不同,我在文档中找不到类似的选项。

有人遇到过同样的问题吗?

【问题讨论】:

    标签: angular typescript firebase-authentication facebook-login


    【解决方案1】:

    退出 Firebase 不会自动让用户退出 Facebook。因此,如果您希望它们退出,则必须为此添加显式调用。

    LoginManager.getInstance().logOut()
    

    请参阅 https://stackoverflow.com/a/29559001/209103https://developers.facebook.com/docs/reference/android/current/class/LoginManager/

    【讨论】:

    • 我在网站上使用 Angular => 我不使用 Android SDK。
    【解决方案2】:

    与 Google 不同,Facebook 不支持同时登录多个帐户的功能。最接近prompt 的是auth_type: 'reauthenticate',它会强制用户再次输入他/她的密码。这至少可以让用户知道他们登录时使用的 Facebook 帐户。

    【讨论】:

    • 试过 provider.setCustomParameters({ auth_type : 'reauthenticate', prompt : { auth_type : 'reauthenticate' } });返回 auth.signInWithPopup(provider).then( .... }) 作为 Promise;但是没有成功
    • provider.setCustomParameters({ auth_type : 'reauthenticate'}).
    猜你喜欢
    • 2019-04-14
    • 1970-01-01
    • 1970-01-01
    • 2017-07-22
    • 1970-01-01
    • 2021-10-29
    • 2018-03-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多