Simple google authentication plugin for flutter.



No configuration required.


Official docs:

In info.plist add the following:


with $(DEFINE_GOOGLE_CLIENT_ID_IOS), $(DEFINE_GOOGLE_URL_SCHEME_IOS) being the client id (iOS) and iOS URL scheme of your app, respectively.


  • Add the plugin to pubspec.yaml: flutter pub add google_auth.
  • Import the plugin in your dart code: import 'package:google_auth/google_auth.dart';.
  • To authenticate user: GoogleAuth().signIn(clientId), where clientId is:
    • For Android, the client id setup for Web app. Note: if you use the client id setup for Android app, you will get an error saying that the developer console is not setup correctly.
    • For iOS, this parameter is ignored, you can pass in any string.

This function returns a Future object resolving an object of the following format.

  • iOS:
  "idToken"?: String
  "idTokenExpire"?: int
  "accessToken": String
  "accessTokenExpire"?: int
  "userID"?: String
  "refreshToken": String
  "refreshTokenExpire"?: int
  "email"?: String
  "name"?: String
  "givenName"?: String
  "familyName"?: String
  "image"?: String
  • Android:
  "idToken": String
API reference for iOS - Token object: - Profile object:
  • To logout user: GoogleAuth().signOut(): Future<void>.
  • Possible error code: check the error code with
try {
  return {'idToken': await GoogleAuth().signIn(clientId)};
} on PlatformException catch (e) {
  if (e.code == 'API_CANCELED' || e.code == 'GSI_SIGN_IN_CANCELLED') {
    throw AppError('User has cancelled');

SDK versions

  • Android
    implementation ''
  • iOS
  s.dependency 'GoogleSignIn', '~> 7.0'