Future firebaseAuthentication()

in frontend/frontend-flutter/lib/screens/disclaimer.dart [320:377]


  Future<String?> firebaseAuthentication() async {
    print('Disclaimer: firebaseAuthentication() : START');
    print('Disclaimer: firebaseAuthentication() : auth= ${widget.auth}');
    String? res = null;
    try {
      final credential = await signInWithGoogle();

      print('Disclaimer: firebaseAuthentication() : credential = $credential');
      final user = credential.user;

      print('Disclaimer: firebaseAuthentication() : user.uid = ${user!.uid}.');

      print(
          'Disclaimer: firebaseAuthentication() : credential.additionalUserInfo.profile["given_name"] = ${credential.additionalUserInfo!.profile!["given_name"]}');
      print(
          'Disclaimer: firebaseAuthentication() : credential.additionalUserInfo.profile["family_name"] = ${credential.additionalUserInfo!.profile!["family_name"]}');

      TextToDocParameter.firstName =
          credential.additionalUserInfo!.profile!["given_name"];
      TextToDocParameter.lastName =
          credential.additionalUserInfo!.profile!["family_name"];
      TextToDocParameter.email =
          credential.additionalUserInfo!.profile!["email"];
      TextToDocParameter.userID = credential.user!.uid;
      TextToDocParameter.picture =
          credential.additionalUserInfo!.profile!["picture"];

      print(
          'Disclaimer: firebaseAuthentication() : TextToDocParameter.userID = ${TextToDocParameter.userID}');

      TextToDocParameter.isAuthenticated = true;
      print(
          "Disclaimer: firebaseAuthentication() : TextToDocParameter.isAuthenticated = ${TextToDocParameter.isAuthenticated}");

      print('Disclaimer: firebaseAuthentication() : user?.uid = ${user?.uid}');
      print(
          'Disclaimer: firebaseAuthentication() : email = ${TextToDocParameter.email}');
      print(
          'Disclaimer: firebaseAuthentication() : picture = ${TextToDocParameter.picture}');

      Navigator.of(context).pushReplacementNamed('/landingPage');
    } on FirebaseAuthException catch (e) {
      if (e.code == 'user-not-found') {
        print('Disclaimer: firebaseAuthentication() : User does not exists');
        res = 'User does not exists';
        return res;
      } else if (e.code == 'wrong-password') {
        print('Disclaimer: firebaseAuthentication() : Password does not match');
        res = 'Password does not match';
        return res;
      } else {
        print('Disclaimer: firebaseAuthentication() : ${e.code}');
        print('Disclaimer: firebaseAuthentication() : ${e.message}');
        res = e.message;
        return res;
      }
    }
  }