cordova - 无法谷歌登录 : auth/redirect-cancelled-by-user

标签 cordova firebase-authentication

我已按照此处列出的所有步骤进行操作:
https://firebase.google.com/docs/auth/web/cordova ,验证了所有信息,但我仍然收到以下错误。

code: "auth/redirect-cancelled-by-user", message: "The redirect operation has been cancelled by the user before finalizing."
  • 我的应用程序中有正确的配置信息
  • 我的 firebase 配置与我的 firebase 控制台的配置相匹配。
  • 我有正确的动态链接。
  • 我已经安装了所有必需的插件
  • 添加了 SHA 证书指纹。
  • 项目已在 Firebase 控制台的 google 登录设置下命名。

  • 这是我如何调用谷歌登录:

    build 者有public afAuth: AngularFireAuth .和几个相关的进口是:
    import * as firebase from 'firebase/app';
    import { AngularFireAuth } from 'angularfire2/auth';
    
    // signInWithGoogle.
      signInWithGoogle(): void {
        this.showLoading();
        if (this.platform.is('android')) {
          console.log("android");
          this.provider = new firebase.auth.GoogleAuthProvider();
          this.afAuth.auth.signInWithRedirect(this.provider)
            .then(function () {
              return firebase.auth().getRedirectResult();
            })
            .then((result: any) => {
              if (result) {
                this.handleUser(result);
              }
            })
            .catch((error: any) => {
              this.hideLoading();
              var errorMessage = error.message;
              console.log("android login error: ", error);
            });
        }
        if (this.platform.is('core')) {
          console.log("in core");
          this.provider = new firebase.auth.GoogleAuthProvider();
          this.afAuth.auth.signInWithPopup(this.provider)
            .then((result: any) => {
              if (result) {
                this.handleUser(result);
              }
            })
            .catch((error: any) => {
              this.hideLoading();
              var errorMessage = error.message;
              console.log("error: ", error);
            });
        }
      }
    

    以上是我的完整方法。

    下面是一个测试项目,所以我将显示所有设置:
    <universal-links>
        <host name="bhb7m.app.goo.gl" scheme="https" />
        <host name="test1-2366d.firebaseapp.com" scheme="https">
            <path url="/__/auth/callback" />
        </host>
    </universal-links>
    <preference name="AndroidLaunchMode" value="singleTask" />
    

    Dynamic Link
    Android Settings

    Webapp config
    Android Menifest

    我想我一定是错过了一步,因为我根本无法让它工作。

    最佳答案

    问题出在依赖项上。我更新到 Cordova 8.0,然后开始出现构建错误。

    关于cordova - 无法谷歌登录 : auth/redirect-cancelled-by-user,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48045496/

    相关文章:

    ios - Firebase 身份验证限制版本

    node.js - 用户在评论系统中的显示名称

    java - 如何从 Firebase Android 中的用户 ID 获取用户对象

    cordova - 在第二次尝试刷新 token 时如何修复 "Malformed auth code"?

    android - 授权完成,出现错误 com.twitter.sdk.android.core.TwitterAuthException : Authorize failed

    javascript - 将自定义数据添加到 firebase 数据库

    node.js - 在 Apache Cordova 中添加平台不起作用

    ios - 在 iPhone 上接收推送通知

    ios - 尝试设置 selectedImage 时 UITabBarItem 没有可见界面

    ios - Phonegap iOS InAppBrowser 缩放