|
import 'package:firebase_auth/firebase_auth.dart'; |
|
import 'package:google_sign_in/google_sign_in.dart'; |
|
|
|
class AuthService { |
|
final FirebaseAuth _auth = FirebaseAuth.instance; |
|
final GoogleSignIn googleSignIn = GoogleSignIn( |
|
clientId: |
|
"387936576242-iejdacrjljds7hf99q0p6eqna8rju3sb.apps.googleusercontent.com"); |
|
|
|
|
|
|
|
Future<UserCredential?> signInWithGoogle() async { |
|
try { |
|
final GoogleSignInAccount? googleSignInAccount = |
|
await googleSignIn.signIn(); |
|
if (googleSignInAccount != null) { |
|
final GoogleSignInAuthentication googleSignInAuthentication = |
|
await googleSignInAccount.authentication; |
|
final AuthCredential credential = GoogleAuthProvider.credential( |
|
accessToken: googleSignInAuthentication.accessToken, |
|
idToken: googleSignInAuthentication.idToken, |
|
); |
|
return await _auth.signInWithCredential(credential); |
|
} |
|
} catch (e) { |
|
print("Error during Google Sign-In: $e"); |
|
return null; |
|
} |
|
} |
|
|
|
|
|
Future<UserCredential?> signInWithGitHub() async { |
|
try { |
|
final GithubAuthProvider provider = GithubAuthProvider(); |
|
return await _auth.signInWithPopup(provider); |
|
} catch (e) { |
|
print("Error during GitHub Sign-In: $e"); |
|
return null; |
|
} |
|
} |
|
|
|
|
|
Future<void> signOut() async { |
|
await _auth.signOut(); |
|
} |
|
|
|
|
|
User? getCurrentUser() { |
|
return _auth.currentUser; |
|
} |
|
} |
|
|