From d4e5228db18533a119be72420c328d685de5878f Mon Sep 17 00:00:00 2001 From: AYM1607 Date: Tue, 26 Feb 2019 20:49:53 -0600 Subject: [PATCH] Created [signIn] methos --- lib/src/App.dart | 2 +- lib/src/resources/google_login_provider.dart | 27 ++++++++++++++++++++ 2 files changed, 28 insertions(+), 1 deletion(-) diff --git a/lib/src/App.dart b/lib/src/App.dart index 526ec8b..3f2a14b 100644 --- a/lib/src/App.dart +++ b/lib/src/App.dart @@ -100,4 +100,4 @@ class App extends StatelessWidget { ), ); } -} */ +} diff --git a/lib/src/resources/google_login_provider.dart b/lib/src/resources/google_login_provider.dart index 5820daa..0e3525f 100644 --- a/lib/src/resources/google_login_provider.dart +++ b/lib/src/resources/google_login_provider.dart @@ -1 +1,28 @@ +import 'dart:async'; + import 'package:firebase_auth/firebase_auth.dart'; +import 'package:google_sign_in/google_sign_in.dart'; + +class GoogleSignInProvider { + final GoogleSignIn _googleSignIn; + final FirebaseAuth _auth; + + GoogleSignInProvider([GoogleSignIn googleSignIn, FirebaseAuth firebaseAuth]) + : _googleSignIn = googleSignIn ?? GoogleSignIn(), + _auth = firebaseAuth ?? FirebaseAuth.instance; + + Future signIn() async { + final GoogleSignInAccount googleUser = await _googleSignIn.signIn(); + final GoogleSignInAuthentication googleAuth = + await googleUser.authentication; + + final AuthCredential credential = GoogleAuthProvider.getCredential( + accessToken: googleAuth.accessToken, + idToken: googleAuth.idToken, + ); + + final FirebaseUser user = await _auth.signInWithCredential(credential); + print("signed in " + user.displayName); + return user; + } +}