diff --git a/lib/src/App.dart b/lib/src/App.dart index 68c3ba6..189bc76 100644 --- a/lib/src/App.dart +++ b/lib/src/App.dart @@ -1,10 +1,5 @@ import 'package:flutter/material.dart'; -import './models/event_model.dart'; -import './models/task_model.dart'; -import './models/user_model.dart'; -import './resources/firestore_provider.dart'; - class App extends StatelessWidget { Widget build(BuildContext context) { final fire = FirestoreProvider(); 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; + } +}