如何在Firebase中调试身份验证?

时间:2020-09-28 15:13:37

标签: javascript firebase firebase-authentication facebook-login google-login

当前,当我将身份验证登录流程设置为重定向时,尽管登录过程确实转到了Google或Facebook登录屏幕,但登录过程仍未完成。但是,当我将登录流设置为弹出窗口时,身份验证过程将按预期工作。我很好奇的是如何在Firebase中调试身份验证?控制台显然只显示与前端javascript相关的代码,而无论我是通过弹出式还是重定向方式登录或注销时,firebase控制台中的DebugView都不会显示任何内容。找出与重定向登录流模式相关的身份验证错误的步骤有哪些?

我的app.js代码如下:

firebaseUI.start('#firebaseui-auth-container', {
    signInFlow: 'redirect',
    signInSuccessUrl: 'http://www.bing.com',
    signInOptions: [
      firebaseDB.firebase_.auth.EmailAuthProvider.PROVIDER_ID,
      firebaseDB.firebase_.auth.GoogleAuthProvider.PROVIDER_ID,
      firebaseDB.firebase_.auth.FacebookAuthProvider.PROVIDER_ID
    ],
  });

  firebase.auth().onAuthStateChanged(user => {
    if (user) {
      console.log(user.displayName);
    } else {
      console.log('no user signed in');
    }
  });

1 个答案:

答案 0 :(得分:1)

我想到了几个提示:

(1)仔细查看浏览器上的JavaScript控制台日志。 JavaScript臭名昭著的原因是“吐出错误消息(在您通常不会看到的地方。。 )和继续前进。”

(2)仔细查看Firebase和Web服务器的服务器端日志。感兴趣的顺序可能涉及几个不同软件之间的一次或多次“往返” ,并且您需要从方法上,系统地重建确切发生的事情以及发生的顺序。 “整个时间表。”

(3)“不要 承担!” “相信,但要验证”,正如他们所说。对于实际问题,请不要采取任何“假设”措施–例如,在这里您可能“假设”这是“ Firebase身份验证”中的问题。假设会让您“追逐白兔”的时间很痛苦,却徒手空空。 (请相信我……)

由于通信可能已加密,因此您可能不会从“ TCP / IP转储程序”(例如tcpdump ...)获得太多有用的信息。