【问题标题】:Using Facebook and Google Authentication使用 Facebook 和 Google 身份验证
【发布时间】:2018-01-24 02:57:42
【问题描述】:

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

  1. 脸书: 当我输入我的 Facebook 登录用户名和密码时,它会显示 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.,而在使用 twitter 时,会出现应该在登录时显示的页面。

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

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

【问题讨论】:

  • 如果 Twitter 在您的情况下运行良好,您可以在这里说明stackoverflow.com/q/45159463/5043867,如果是 Facebook,您很可能需要在线设置 facebook 应用程序的状态,这可能会导致问题
  • @PardeepJain 您能否对 Facebook 位有更多了解?对谷歌部分有什么想法吗?
  • 对于 facebook,您需要使用 facebook 开发者网站设置一个应用程序,然后将您的应用程序 url 列入白名单,对于 google,您可以将您的用户名保存在本地存储中,然后在登录时in 再次删除本地存储,然后再次登录
  • @RahulSingh 我只使用loginfb() { this.afAuth.auth.signInWithPopup(new firebase.auth.FacebookAuthProvider()); } 对于其他人,我只是将 Facebook 替换为 Google、Twitter 和 Github,它们运行良好。对于 Facebook,我应该在哪里放置 OAuth 重定向 URI?
  • 我使用的是https://www.npmjs.com/package/ng2-social-login而不是firebase

标签: facebook angular authentication firebase-authentication facebook-authentication


【解决方案1】:

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

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

【讨论】:

  • 感谢您的代码帮助。我不得不对其进行一些调整并使其成为this.afAuth.auth.signInWithPopup(new firebase.auth.GoogleAuthProvider().setCustomParameters({prompt: 'select_account'}));,因为当我使用您的确切代码时,该按钮不起作用。但是,谢谢,您的代码有所帮助。我只是把它缩减为一条线。
猜你喜欢
  • 2018-02-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-03-24
  • 2016-11-21
  • 1970-01-01
  • 2015-08-10
  • 2018-03-21
相关资源
最近更新 更多