import 'package:firebase_auth/firebase_auth.dart'; import 'package:get/get.dart'; import 'package:sign_in_with_apple/sign_in_with_apple.dart'; class AuthController extends GetxController { final FirebaseAuth _auth = FirebaseAuth.instance; Future signInWithApple() async { try { print('Starting Apple Sign In process'); final appleCredential = await SignInWithApple.getAppleIDCredential( scopes: [ AppleIDAuthorizationScopes.email, AppleIDAuthorizationScopes.fullName, ], ); print('Apple ID Credential obtained'); final oAuthProvider = OAuthProvider('apple.com'); final credential = oAuthProvider.credential( idToken: appleCredential.identityToken, accessToken: appleCredential.authorizationCode, ); print('OAuth credential created'); UserCredential userCredential = await _auth.signInWithCredential(credential); print('User signed in successfully: ${userCredential.user?.uid}'); return userCredential.user; } catch (error) { print('Error during Apple Sign In: $error'); return null; } } Future signOut() async { try { await _auth.signOut(); print('User signed out successfully'); } catch (error) { print('Error during sign out: $error'); } } }