Firebase 更改 Facebook 帐户
Posted
技术标签:
【中文标题】Firebase 更改 Facebook 帐户【英文标题】:Firebase change Facebook account 【发布时间】: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 不同,我在文档中找不到类似的选项。
有人遇到过同样的问题吗?
【问题讨论】:
【参考方案1】:退出 Firebase 不会自动让用户退出 Facebook。因此,如果您希望它们退出,则必须为此添加显式调用。
LoginManager.getInstance().logOut()
请参阅 https://***.com/a/29559001/209103 和 https://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')
.以上是关于Firebase 更改 Facebook 帐户的主要内容,如果未能解决你的问题,请参考以下文章
如果在 Firebase Android 初始注册期间帐户已与 google 关联,则使用 Facebook 登录
我可以使用 Firebase Auth 或 FaceBook 帐户工具包而不是 SMSprovider 吗?
Firebase 未从 Facebook 捕获电子邮件/电话