Flutter Web Google登录-弹出窗口不显示,登录按钮不起作用

时间:2020-09-26 19:50:12

标签: firebase firebase-authentication google-signin flutter-web

我有一个Flutter网络应用,该应用使用Google登录,并通过Firebase管理。如果我使用flutter run -d chrome运行它,则当我单击登录按钮时,它会弹出Google登录窗格,但是在写完我的电子邮件地址后,它表示这是一个不安全的浏览器,我应该尝试使用其他浏览器。经过研究,我找到了一种解决方法,从单独的Chrome窗口中打开localhost:5000。在这种情况下,问题在于它不显示弹出窗口。

我不知道它是否与该问题有关,但是当我检查该元素时会显示以下警告: enter image description here enter image description here

我用于处理登录的代码:

import "package:firebase_auth/firebase_auth.dart";
import "package:google_sign_in/google_sign_in.dart";

class GoogleSignInService {
  final GoogleSignIn _googleSignIn;
  final FirebaseAuth _auth;
  GoogleSignInService(this._googleSignIn, this._auth);

  Future<FirebaseUser> handleSignIn() async {
    FirebaseUser user;
    bool isSignedIn = await _googleSignIn.isSignedIn();
    if (isSignedIn) {
      user = await _auth.currentUser();
    } else {
      final GoogleSignInAccount googleUser = await _googleSignIn.signIn();
      final GoogleSignInAuthentication googleAuth =
          await googleUser.authentication;
      final AuthCredential credential = GoogleAuthProvider.getCredential(
          accessToken: googleAuth.accessToken, idToken: googleAuth.idToken);
      user = (await _auth.signInWithCredential(credential)).user;
    }

    return user;
  }
}

我在登录按钮的onPressed中调用handleSignin。我使用google_sign_in软件包的4.5.4版。我已完成此处建议的所有操作:https://pub.dev/packages/google_sign_in_web

0 个答案:

没有答案
相关问题