PlatformException(sign_in_failed, com.google.android.gms.common.api.ApiException: 10: , null)

眉间皱痕 提交于 2019-12-11 19:07:29

问题


I've searched the whole internet, tried every possible solution, still I'm not being able to sign in using GoogleSignIn from my flutter app.

Things I've tried :
1. Added SHA-1 Certificate
2. Added SHA-256 Certificate
3. Filled O-Auth Screen
4. Enabled GoogleSignIn in firebase
5. Added support email

Testing currently only in debug mode. As the app is in its initial stages right now I don't want to build a release version yet. Using debug SHA-1 and SHA-256 fingerprints.

Future<FirebaseUser> _signIn(BuildContext context) async {
final GoogleSignInAccount googleUser = await _googleSignIn.signIn();
final GoogleSignInAuthentication googleAuth =
    await googleUser.authentication;

final AuthCredential credential = GoogleAuthProvider.getCredential(
    accessToken: googleAuth.accessToken, idToken: googleAuth.idToken);

AuthResult userDetails =
    await _firebaseAuth.signInWithCredential(credential);
ProviderDetails providerInfo = 
ProviderDetails(userDetails.user.providerId);

List<ProviderDetails> providerData = List<ProviderDetails>();
providerData.add(providerInfo);

UserDetails details = UserDetails(
    providerDetails: userDetails.user.providerId,
    userEmail: userDetails.user.email,
    userName: userDetails.user.displayName,
    photoUrl: userDetails.user.photoUrl,
    providerData: providerData);

return userDetails.user;
}

Error I get

[ERROR:flutter/lib/ui/ui_dart_state.cc(148)] Unhandled Exception: 
PlatformException(sign_in_failed, 
com.google.android.gms.common.api.ApiException: 10: , null)
E/flutter (12322): #0      StandardMethodCodec.decodeEnvelope 
package:flutter/…/services/message_codecs.dart:564
E/flutter (12322): #1      MethodChannel.invokeMethod 
package:flutter/…/services/platform_channel.dart:316
E/flutter (12322): <asynchronous suspension>
E/flutter (12322): #2      MethodChannel.invokeMapMethod 
package:flutter/…/services/platform_channel.dart:344
E/flutter (12322): <asynchronous suspension>
E/flutter (12322): #3      GoogleSignIn._callMethod 
package:google_sign_in/google_sign_in.dart:218
E/flutter (12322): <asynchronous suspension>
E/flutter (12322): #4      GoogleSignIn._addMethodCall.<anonymous closure> 
package:google_sign_in/google_sign_in.dart:27
E/flutter (12322): #5      _rootRun  (dart:async/zone.dart:1120:38)
E/flutter (12322): #6      _CustomZone.run  (dart:async/zone.dart:1021:19)
E/flutter (12322): #7      _FutureListener.handleWhenComplete  
(dart:async/future_impl.dart:150:18)
E/flutter (12322): #8      
Future._propagateToListeners.handleWhenCompleteCallback  
(dart:async/future_impl.dart:609:39)
E/flutter (12322): #9      Future._propagateToListeners   
(dart:async/future_impl.dart:665:37)
E/flutter (12322): #10     Future._addListener.<anonymous closure>  
(dart:async/future_impl.dart:348:9)
E/flutter (12322): #11     _rootRun  (dart:async/zone.dart:1124:13)
E/flutter (12322): #12     _CustomZone.run  (dart:async/zone.dart:1021:19)
E/flutter (12322): #13     _CustomZone.runGuarded  
(dart:async/zone.dart:923:7)
E/flutter (12322): #14     _CustomZone.bindCallbackGuarded.<anonymous 
closure>  (dart:async/zone.dart:963:23)
E/flutter (12322): #15     _microtaskLoop  
(dart:async/schedule_microtask.dart:41:21)
E/flutter (12322): #16     _startMicrotaskLoop  
(dart:async/schedule_microtask.dart:50:5)
E/flutter (12322):

回答1:


The process I used from the official google docs were giving me wrong SHA values. This article helped me out. This will give the SHA values directly related to the project. The following link shows how to get SHA values from Android Studio.

Generate SHA-1 for Flutter



来源:https://stackoverflow.com/questions/57776534/platformexceptionsign-in-failed-com-google-android-gms-common-api-apiexception

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!