31 lines
986 B
Dart
31 lines
986 B
Dart
import 'package:firebase_auth/firebase_auth.dart';
|
|
import 'package:flutter_facebook_auth/flutter_facebook_auth.dart';
|
|
|
|
class FacebookSignIn {
|
|
Future<UserCredential?> signInWithFacebook() async {
|
|
final LoginResult result = await FacebookAuth.instance.login();
|
|
if (result.status == LoginStatus.success) {
|
|
// Create a credential from the access token
|
|
final OAuthCredential credential =
|
|
FacebookAuthProvider.credential(result.accessToken!.tokenString);
|
|
// Once signed in, return the UserCredential
|
|
return await FirebaseAuth.instance.signInWithCredential(credential);
|
|
}
|
|
return null;
|
|
}
|
|
|
|
Future<void> signOut() async {
|
|
try {
|
|
await FacebookAuth.instance.logOut();
|
|
print('Facebook Sign Out Successful');
|
|
} catch (e) {
|
|
print('Error during Facebook Sign Out: $e');
|
|
}
|
|
}
|
|
|
|
Future<bool> isSignedIn() async {
|
|
final accessToken = await FacebookAuth.instance.accessToken;
|
|
return accessToken != null;
|
|
}
|
|
}
|