Skip to content

Instantly share code, notes, and snippets.

@ijoschek
Last active April 28, 2019 18:06
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ijoschek/2af14c3eb123278d792968c0020d7658 to your computer and use it in GitHub Desktop.
Save ijoschek/2af14c3eb123278d792968c0020d7658 to your computer and use it in GitHub Desktop.
flutter_auth_tut
import 'dart:async';
import 'package:firebase_auth/firebase_auth.dart';
import 'package:google_sign_in/google_sign_in.dart';
final FirebaseAuth _auth = FirebaseAuth.instance;
final GoogleSignIn _googleSignIn = GoogleSignIn();
Future<FirebaseUser> loginWithGoogle() async {
GoogleSignInAccount currentUser = _googleSignIn.currentUser;
if (currentUser == null) {
currentUser = await _googleSignIn.signInSilently();
}
if (currentUser == null) {
currentUser = await _googleSignIn.signIn();
if (currentUser == null) {
throw('Login Canceled');
}
}
final GoogleSignInAuthentication auth = await currentUser.authentication;
final FirebaseUser user =
await _auth.signInWithCredential(GoogleAuthProvider.getCredential(
idToken: gAuth.idToken,
accessToken: gAuth.accessToken,
));
assert(user != null);
assert(!user.isAnonymous);
assert(await user.getIdToken() != null);
return user;
}
//...
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment