1

在我的Angular2应用程序中,我使用Google,Facebook,Twitter和Github身份验证。 Twitter工作正常。问题在于Facebook和Google。使用Facebook和Google身份验证

  1. Facebook的: 当我输入我的用户名和密码Facebook登录,它同时使用Twitter,这应该记录显示在出现的页面上,而说App Not Set Up: This app is still in development mode, and you don't have access to it. Switch to a registered test user or ask an app admin for permissions.

  2. Google: 当我没有登录到任何邮件ID时,Google身份验证正常工作。但是,如果我已经登录到我的任何邮件ID,则身份验证系统会将该邮件ID自身并登录到该应用程序。有什么办法可以让系统询问我要使用哪个邮件ID,即使我通过一个ID登录时也是如此?

任何帮助将不胜感激。谢谢。

+0

如果Twitter的工作在你的情况下,罚你可以在这里https://stackoverflow.com/q/45159463/5043867把一些光,在Facebook中的情况下,最有可能你需要在网上设置facebook应用程序的状态,这可能会导致问题 –

+0

@PardeepJain你能否在facebook上说一点点吗?还有关于谷歌部分的任何想法? –

+0

对于Facebook,您需要使用Facebook开发人员网站设置应用程序,然后将您的应用程序网址列入白名单,并且对于Google,您可以将您的用户名保存在本地存储中,然后在登录时再次删除本地存储和然后再次登录 –

回答

1

您可以通过设置自定义参数强制提示Google。这会给用户切换帐户的选项:

var provider = new firebase.auth.GoogleAuthProvider(); 
provider.setCustomParameters({prompt: 'select_account'}); 
firebase.auth().signInWithPopup(provider); 
+0

感谢您的代码。我必须稍微调整一下,并设置this.afAuth.auth.signInWithPopup(new firebase.auth.GoogleAuthProvider()。setCustomParameters({prompt:'select_account'}));'因为当我使用你的确切代码时,按钮不起作用。但是,谢谢,您的代码帮助。我只是将它缩减为一条线。 –