Flutter Firebase Auth / Google_sign_in не в состоянии войти с кодом состояния = ОТМЕНЕНО - PullRequest
0 голосов
/ 21 сентября 2018

Это мой pubspec.yaml.Я использую Flutter:

dependencies:
flutter:
    sdk: flutter

cupertino_icons: ^0.1.2
shared_preferences: ^0.4.2
json_serializable: ^1.2.1
camera: ^0.2.3
path_provider: ^0.4.1
simple_permissions: ^0.1.6
share: ^0.5.3
#Google Sign_In
firebase_auth: ^0.5.20
google_sign_in: ^3.0.5

Я не могу пройти проверку подлинности с помощью метода входа в Google.Окно отображается нормально, и после того, как мое приложение выдает ошибку:

PlatformException(sign_in_failed, Status{statusCode=CANCELED, resolution=null}, null)

Не нашли каких-либо решений в Интернете, кто-нибудь может мне помочь?

Вот мой _signIn() метод

Future<FirebaseUser> _signIn() async {

GoogleSignInAccount googleSignInAccount = await googleSignIn.signIn();
GoogleSignInAuthentication gSA = await googleSignInAccount.authentication;

FirebaseUser user = await auth.signInWithGoogle(
    idToken: gSA.idToken, accessToken: gSA.accessToken);

print("User Name : ${user.displayName}");
return user;
}

Мой код падает после того, как я позвонил GoogleSignInAccount googleSignInAccount = await googleSignIn.signIn();, поэтому я предположил, что мои настройки были неверными.

Вот как я называю _signIn()

MaterialButton(
        child: Text("Google Sign-In"),
        onPressed: (){
          _signIn()
            .then((FirebaseUser user) => print(user))
            .catchError((e) => print(e));
        },
      ),

Я уже удалил Firebase-проект в онлайн-консоли Google и создал новый.Также я попробовал анонимный вход -> отлично работал

Любая помощь приветствуется

Ответы [ 2 ]

0 голосов
/ 28 сентября 2018

Хорошо, мне удалось решить эту проблему с помощью APK в режиме release !

Что нужно сделать:

Сборка приложения в режиме выпускаи добавьте SHA1 или SHA256 в свой проект Firebase.

Если вы не знаете, как подготовить ваше приложение к выпуску , вы можете сделать это быстро.

0 голосов
/ 22 сентября 2018

Я просто столкнулся с той же проблемой.Вот как я это решил.

1) Получите ключ сертификата SHA1.(см. https://developers.google.com/android/guides/client-auth)

2) Поместите ключ SHA1 в консоль Firebase

3) Перестройте свое приложение для флаттера и попробуйте снова.Это должно работать сейчас.

...