【问题标题】:Firebase Authentication on Ionic+Android opens a browser windowIonic+Android 上的 Firebase 身份验证打开一个浏览器窗口
【发布时间】:2020-09-19 12:00:30
【问题描述】:

我正在尝试使用 Firebase Auth 对用户进行身份验证。当使用ionic serve --ssl 时,一切都会如您所愿。

但是,当使用ionic cordova run android -l --ssl 并尝试登录手机时,手机会切换到浏览器并打开一个新标签。选择您要使用的帐户 (Google Auth) 会关闭该选项卡。这就是它结束的地方。关闭浏览器并切换回应用程序会显示登录页面,而无需进行任何身份验证。

这是一个实际操作的视频。 IMGUR

我尝试了以下指南:

  1. https://firebase.google.com/docs/auth/web/google-signin
  2. https://firebase.google.com/docs/auth/web/cordova

还有以下库:

  1. https://github.com/RaphaelJenni/FirebaseUI-Angular
  2. https://github.com/chemerisuk/cordova-plugin-firebase-authentication
  3. https://github.com/baumblatt/capacitor-firebase-auth
  4. https://ionicframework.com/docs/native/firebase-authentication(这是什么文档!?) 在这一点上我能得到的任何帮助都将不胜感激!

【问题讨论】:

  • 你有什么解决办法吗?我也面临同样的问题。有人请帮忙。
  • 我还没想出解决办法。

标签: android firebase ionic-framework firebase-authentication


【解决方案1】:

如果有其他人遇到这个问题,请参考https://github.com/baumblatt/capacitor-firebase-auth

问题是 web 版本的 firebaseUI 不能在原生 android 上运行,所以你需要这个库才能让它工作。

替换您的登录按钮

为此,您将 Capacitor firebase auth 的登录功能包装起来

  const handleSignIn = () => {
    cfaSignIn("google.com").subscribe((user: User) =>
      console.log(user.displayName)
    );
  };

在一个函数中并使用您的登录按钮调用它,那么它应该可以解决您的问题。

但是,您仍然需要在 firebase 上配置 SHA1 密钥才能在 android 上运行。

祝你好运!

【讨论】:

    【解决方案2】:

    我在使用 Quasar + Cordova 时遇到了类似的问题。通过 注释掉 firebase.initializeApp(config) 方法中使用的 Firebase 配置中的 authDomain 键解决了这个问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-03-25
      • 2021-12-21
      • 1970-01-01
      • 2014-07-03
      • 1970-01-01
      • 1970-01-01
      • 2018-06-07
      相关资源
      最近更新 更多