29 lines
773 B
Dart
29 lines
773 B
Dart
import 'package:flutter/material.dart';
|
|
|
|
import 'package:flutter/material.dart';
|
|
import 'package:firebase_auth/firebase_auth.dart';
|
|
import 'package:google_sign_in/google_sign_in.dart';
|
|
|
|
class GoogleSignProvider extends ChangeNotifier {
|
|
final googleSign = GoogleSignIn();
|
|
|
|
GoogleSignInAccount? _user;
|
|
|
|
GoogleSignInAccount get user => _user!;
|
|
|
|
Future googleLogin() async {
|
|
final googleUser = await googleSign.signIn();
|
|
if (googleUser == null) return;
|
|
_user = googleUser;
|
|
|
|
final googleAuth = await googleUser.authentication;
|
|
|
|
final credential = GoogleAuthProvider.credential(
|
|
accessToken: googleAuth.accessToken, idToken: googleAuth.idToken);
|
|
|
|
await FirebaseAuth.instance.signInWithCredential(credential);
|
|
|
|
notifyListeners();
|
|
}
|
|
}
|