Guest User

Untitled

a guest
Apr 25th, 2021
298
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Dart 9.00 KB | None | 0 0
  1. import 'package:firebase_auth/firebase_auth.dart';
  2. import 'package:flutter/material.dart';
  3. import 'package:google_sign_in/google_sign_in.dart';
  4.  
  5. class Authentication with ChangeNotifier {
  6.   final FirebaseAuth _firebaseAuth = FirebaseAuth.instance;
  7.   final GoogleSignIn _googleSignIn = GoogleSignIn();
  8.  
  9.   String? uid;
  10.   String? get getUsetUid => uid;
  11.  
  12.   Future userState() async {
  13.     FirebaseAuth.instance.authStateChanges().listen(
  14.       (User? user) {
  15.         print(user);
  16.  
  17.         if (user == null) {
  18.           print('User is currently signed out!');
  19.           // return false;
  20.         } else {
  21.           print('User is signed in!');
  22.           // return true;
  23.         }
  24.         // return user;
  25.       },
  26.     );
  27.   }
  28.  
  29.   Future signInWIthGoogle() async {
  30.     final GoogleSignInAccount? _googleSignInAccount = await _googleSignIn.signIn();
  31.  
  32.     if (_googleSignInAccount != null) {
  33.       final GoogleSignInAuthentication? _googleSignInAuthentication = await _googleSignInAccount.authentication;
  34.  
  35.       // final AuthCredential authCredential = FirebaseAuth.insta
  36.  
  37.       final AuthCredential _authCredential = GoogleAuthProvider.credential(
  38.         accessToken: _googleSignInAuthentication!.accessToken,
  39.         idToken: _googleSignInAuthentication.idToken,
  40.       );
  41.  
  42.       // AuthResult result = await auth.signInWithCredential(_authCredential);
  43.  
  44.       final UserCredential? _userCredential = await _firebaseAuth.signInWithCredential(_authCredential);
  45.  
  46.       // FirebaseUser user = await auth.currentUser();
  47.  
  48.       final User? _user = _userCredential!.user;
  49.       uid = _user!.uid;
  50.       print(_user);
  51.       print('Google User Uid => $uid');
  52.       notifyListeners();
  53.       return Future.value(true);
  54.     }
  55.   }
  56.  
  57.   void signOutWithGoogle() async {
  58.     User? user;
  59.     print(user);
  60.     await _googleSignIn.disconnect();
  61.     await GoogleSignIn().signOut();
  62.     await FirebaseAuth.instance.signOut();
  63.  
  64.     _googleSignIn.signOut();
  65.     return _firebaseAuth.signOut();
  66.   }
  67. }
  68.  
  69. import 'package:battle_line/routes/route_builder.dart';
  70. import 'package:battle_line/services/authentication.dart';
  71. import 'package:battle_line/views/screen/splash_screen.dart';
  72. import 'package:firebase_core/firebase_core.dart';
  73. import 'package:flutter/material.dart';
  74. import 'package:provider/provider.dart';
  75. import 'package:provider/single_child_widget.dart';
  76.  
  77. void main() async {
  78.   WidgetsFlutterBinding.ensureInitialized();
  79.   await Firebase.initializeApp();
  80.   runApp(
  81.     MultiProvider(
  82.       providers: providers,
  83.       child: MyApp(),
  84.     ),
  85.   );
  86. }
  87.  
  88. List<SingleChildWidget> providers = [
  89.   ChangeNotifierProvider<Authentication>(create: (_) => Authentication()),
  90. ];
  91.  
  92. class MyApp extends StatelessWidget {
  93.   @override
  94.   Widget build(BuildContext context) {
  95.     final _authenticationP = Provider.of<Authentication>(context, listen: false);
  96.     print(_authenticationP.userState());
  97.     return MaterialApp(
  98.       debugShowCheckedModeBanner: false,
  99.       theme: ThemeData(
  100.         fontFamily: 'Roboto',
  101.         brightness: Brightness.dark,
  102.         primarySwatch: Colors.blue,
  103.       ),
  104.       home: MySplashScreen(),
  105.       onGenerateRoute: RouteBuilder.generateRoute,
  106.     );
  107.   }
  108. }
  109.  
  110.  
  111. // Application Just Run
  112. Launching lib\main.dart on vivo 1610 in debug mode...
  113. lib\main.dart:1
  114. Parameter format not correct -
  115. √ Built build\app\outputs\flutter-apk\app-debug.apk.
  116. Connecting to VM Service at ws://127.0.0.1:58299/ktuGVe5GbSc=/ws
  117. I/flutter (18434): Instance of 'Future<dynamic>'
  118. I/flutter (18434): null
  119. I/flutter (18434): User is currently signed out!
  120.    
  121. // Just Sign in with google
  122. D/PhoneWindow(18434): DEBUG_SYSTEMUI:origin statusbar style
  123. D/PhoneWindow(18434): DEBUG_SYSTEMUI:IconColor=1
  124. D/PhoneWindow(18434): DEBUG_SYSTEMUI:StatusBarColor final set ff000000
  125. 2
  126. W/System  (18434): Ignoring header X-Firebase-Locale because its value was null.
  127. D/FirebaseAuth(18434): Notifying id token listeners about user ( XUxmvIqc9mM7wIlcaDFbPBfWhbz1 ).
  128. D/FirebaseAuth(18434): Notifying auth state listeners about user ( XUxmvIqc9mM7wIlcaDFbPBfWhbz1 ).
  129. I/flutter (18434): User(displayName: Kevin Rebort, email: kevinrebort@gmail.com, emailVerified: true, isAnonymous: false, metadata: UserMetadata(creationTime: 2021-04-24 15:52:45.818, lastSignInTime: 2021-04-25 15:35:21.910), phoneNumber: null, photoURL: https://lh3.googleusercontent.com/-d7EiGOHconA/AAAAAAAAAAI/AAAAAAAAAAA/AMZuucnKZFSaegdVWEM7FDPvMdm8p-NvZw/s96-c/photo.jpg, providerData, [UserInfo(displayName: Kevin Rebort, email: [email protected], phoneNumber: null, photoURL: https://lh3.googleusercontent.com/-d7EiGOHconA/AAAAAAAAAAI/AAAAAAAAAAA/AMZuucnKZFSaegdVWEM7FDPvMdm8p-NvZw/s96-c/photo.jpg, providerId: google.com, uid: 100989913149925301834)], refreshToken: , tenantId: null, uid: XUxmvIqc9mM7wIlcaDFbPBfWhbz1)
  130. I/flutter (18434): User is signed in!
  131. I/flutter (18434): User(displayName: Kevin Rebort, email: kevinrebort@gmail.com, emailVerified: true, isAnonymous: false, metadata: UserMetadata(creationTime: 2021-04-24 15:52:45.818, lastSignInTime: 2021-04-25 15:35:21.910), phoneNumber: null, photoURL: https://lh3.googleusercontent.com/-d7EiGOHconA/AAAAAAAAAAI/AAAAAAAAAAA/AMZuucnKZFSaegdVWEM7FDPvMdm8p-NvZw/s96-c/photo.jpg, providerData, [UserInfo(displayName: Kevin Rebort, email: [email protected], phoneNumber: null, photoURL: https://lh3.googleusercontent.com/-d7EiGOHconA/AAAAAAAAAAI/AAAAAAAAAAA/AMZuucnKZFSaegdVWEM7FDPvMdm8p-NvZw/s96-c/photo.jpg, providerId: google.com, uid: 100989913149925301834)], refreshToken: , tenantId: null, uid: XUxmvIqc9mM7wIlcaDFbPBfWhbz1)
  132. I/flutter (18434): Google User Uid => XUxmvIqc9mM7wIlcaDFbPBfWhbz1
  133.  
  134. // User Log Out
  135. W/System  (18434): Ignoring header X-Firebase-Locale because its value was null.
  136. D/FirebaseAuth(18434): Notifying id token listeners about user ( XUxmvIqc9mM7wIlcaDFbPBfWhbz1 ).
  137. I/flutter (18434): User(displayName: Kevin Rebort, email: kevinrebort@gmail.com, emailVerified: true, isAnonymous: false, metadata: UserMetadata(creationTime: 2021-04-24 15:52:45.818, lastSignInTime: 2021-04-25 15:38:44.827), phoneNumber: null, photoURL: https://lh3.googleusercontent.com/-d7EiGOHconA/AAAAAAAAAAI/AAAAAAAAAAA/AMZuucnKZFSaegdVWEM7FDPvMdm8p-NvZw/s96-c/photo.jpg, providerData, [UserInfo(displayName: Kevin Rebort, email: [email protected], phoneNumber: null, photoURL: https://lh3.googleusercontent.com/-d7EiGOHconA/AAAAAAAAAAI/AAAAAAAAAAA/AMZuucnKZFSaegdVWEM7FDPvMdm8p-NvZw/s96-c/photo.jpg, providerId: google.com, uid: 100989913149925301834)], refreshToken: , tenantId: null, uid: XUxmvIqc9mM7wIlcaDFbPBfWhbz1)
  138. I/flutter (18434): Google User Uid => XUxmvIqc9mM7wIlcaDFbPBfWhbz1
  139.  
  140. // Hot Restart With out sign in and user still sign in
  141. Restarted application in 3,259ms.
  142. W/DynamiteModule(18434): Local module descriptor class for providerinstaller not found.
  143. I/DynamiteModule(18434): Considering local module providerinstaller:0 and remote module providerinstaller:0
  144. W/ProviderInstaller(18434): Failed to load providerinstaller module: No acceptable module found. Local version is 0 and remote version is 0.
  145. V/NativeCrypto(18434): Registering com/google/android/gms/org/conscrypt/NativeCrypto's 287 native methods...
  146. 2
  147. I/art     (18434): Rejecting re-init on previously-failed class java.lang.Class<com.google.android.gms.org.conscrypt.Java7ExtendedSSLSession>
  148. 2
  149. I/art     (18434): Rejecting re-init on previously-failed class java.lang.Class<com.google.android.gms.org.conscrypt.Java8ExtendedSSLSession>
  150. I/ProviderInstaller(18434): Installed default security provider GmsCore_OpenSSL
  151. I/flutter (18434): Instance of 'Future<dynamic>'
  152. I/flutter (18434): User(displayName: Kevin Rebort, email: [email protected], emailVerified: true, isAnonymous: false, metadata: UserMetadata(creationTime: 2021-04-24 15:52:45.818, lastSignInTime: 2021-04-25 15:35:21.910), phoneNumber: null, photoURL: https://lh3.googleusercontent.com/-d7EiGOHconA/AAAAAAAAAAI/AAAAAAAAAAA/AMZuucnKZFSaegdVWEM7FDPvMdm8p-NvZw/s96-c/photo.jpg, providerData, [UserInfo(displayName: Kevin Rebort, email: [email protected], phoneNumber: null, photoURL: https://lh3.googleusercontent.com/-d7EiGOHconA/AAAAAAAAAAI/AAAAAAAAAAA/AMZuucnKZFSaegdVWEM7FDPvMdm8p-NvZw/s96-c/photo.jpg, providerId: google.com, uid: 100989913149925301834)], refreshToken: , tenantId: null, uid: XUxmvIqc9mM7wIlcaDFbPBfWhbz1)
  153. I/flutter (18434): User is signed in!
  154. I/flutter (18434): User(displayName: Kevin Rebort, email: [email protected], emailVerified: true, isAnonymous: false, metadata: UserMetadata(creationTime: 2021-04-24 15:52:45.818, lastSignInTime: 2021-04-25 15:35:21.910), phoneNumber: null, photoURL: https://lh3.googleusercontent.com/-d7EiGOHconA/AAAAAAAAAAI/AAAAAAAAAAA/AMZuucnKZFSaegdVWEM7FDPvMdm8p-NvZw/s96-c/photo.jpg, providerData, [UserInfo(displayName: Kevin Rebort, email: [email protected], phoneNumber: null, photoURL: https://lh3.googleusercontent.com/-d7EiGOHconA/AAAAAAAAAAI/AAAAAAAAAAA/AMZuucnKZFSaegdVWEM7FDPvMdm8p-NvZw/s96-c/photo.jpg, providerId: google.com, uid: 100989913149925301834)], refreshToken: , tenantId: null, uid: XUxmvIqc9mM7wIlcaDFbPBfWhbz1)
  155. I/flutter (18434): User is signed in!
  156.  
Advertisement
Add Comment
Please, Sign In to add comment