Flutter Web Google Войти - PullRequest
       28

Flutter Web Google Войти

1 голос
/ 16 февраля 2020

Я пытаюсь реализовать вход через Google в Flutter Web. Я использую GoogleSignn 4.1.1 и Firebase Auth 0.15.4 . Я не получаю никаких сообщений об ошибках. Просто не выскакивает.

  • Я зарегистрировал веб-приложение в Firebase (добавлены зависимости) и даже добавил тег <meta> с google-signin-client_id
  • Аутентификация Firebase с Google работает, когда я запускаю его Android
  • Я также запустил Пример приложения из GoogleSignIn в Интернете. Он также не выскакивает.

Это мой код входа в систему (работает на Android)

    final FirebaseAuth _auth = FirebaseAuth.instance;
    FirebaseUser user = await _auth.currentUser();
    if (user != null) {
      log.d('alreadyLoggedIn');
    } else {
      final GoogleSignIn _googleSignIn = GoogleSignIn(clientId: Constants.GOOGLE_SIGN_IN_CLIENT_ID);
      final GoogleSignInAccount googleUser = await _googleSignIn.signIn();
      final GoogleSignInAuthentication googleAuth =
          await googleUser.authentication;
      final AuthCredential credential = GoogleAuthProvider.getCredential(
        accessToken: googleAuth.accessToken,
        idToken: googleAuth.idToken,
      );
      await _auth.signInWithCredential(credential);
      user = await _auth.currentUser();
      assert(user.email != null);
      assert(user.displayName != null);
      assert(!user.isAnonymous);
      assert(await user.getIdToken() != null);
    }
    return user;
    }

Надеюсь, кто-то знает, как это можно исправить.

1 Ответ

1 голос
/ 03 марта 2020

Следовали ли вы всем инструкциям (включая добавление идентификатора OAuth в индекс. html) с этой страницы? https://pub.dev/packages/google_sign_in_web

Вы получаете ИД КЛИЕНТА от https://console.developers.google.com/apis/credentials

Вы также должны запустить из терминала, как это, чтобы он работал на локальном хосте при отладке:

flutter run -d chrome --web-hostname localhost --web-port 5000

Авторизованный порт по умолчанию - 5000, вы можете добавить другие URI на той же странице, на которой вы получили свой идентификатор клиента (например ,8764367243864-987523.apps.googleusercontent). com), он находится в разделе "Разрешено JavaScript происхождение" https://console.developers.google.com/apis/credentials)

...