giris

 avatar
unknown
dart
a year ago
3.0 kB
7
Indexable
import 'package:flutter/widgets.dart';
import 'package:google_sign_in/google_sign_in.dart';
import 'package:sign_in_with_apple/sign_in_with_apple.dart';
import 'package:flutter/foundation.dart';

import '../services/token_service.dart';

class LoginHelper {
  Future<Map<String, String?>?> googleSignIn() async {
    try {
      final googleSignIn = GoogleSignIn();
      await googleSignIn.signOut();
      final GoogleSignInAccount? googleUser = await googleSignIn.signIn();

      if (googleUser != null) {
        return {
          "mail": googleUser.email.trim(),
          "name": googleUser.displayName
        };
      } else {
        return null;
      }
    } catch (e) {
      debugPrint("LoginHelper -> googleSignIn ERROR (catch) : $e");
      return null;
    }
  }

  // Future<Map<String, String?>?> facebookSignIn() async {
  //   try {
  //     final result = await FacebookAuth.instance
  //         .login(permissions: ["email", "public_profile"]);
  //     if (result.status == LoginStatus.success) {
  //       final userData = await FacebookAuth.instance.getUserData();
  //       if (userData["email"] != null) {
  //         return {
  //           "mail": userData["email"],
  //           "name": userData["name"],
  //         };
  //       } else {
  //         debugPrint("LoginHelper -> facebookSignIn ERROR1 : ${userData} ");
  //         return null;
  //       }
  //     } else {
  //       debugPrint("LoginHelper -> facebookSignIn ERROR2 : ${result.status} ");
  //       return null;
  //     }
  //   } catch (e) {
  //     debugPrint("LoginHelper -> facebookSignIn ERROR (catch) : $e");
  //     return null;
  //   }

  //   // try {
  //   //   FacebookAuth facebookAuth = FacebookAuth.i;
  //   //   LoginResult fUser = await facebookAuth.login(
  //   //     permissions: ['email', 'public_profile'],
  //   //     loginBehavior: LoginBehavior.dialogOnly,
  //   //   );

  //   //   var userData = await facebookAuth.getUserData();
  //   //   if (userData["email"] != null) {
  //   //   } else {}
  //   // } catch (e) {
  //   //   debugPrint("LoginHelper -> facebookSignIn ERROR (catch) : $e");
  //   //   return null;
  //   // }
  // }

  Future<Map<String, String?>?> appleSignIn() async {
    try {
      final tokenService = TokenService();
      final userData = await SignInWithApple.getAppleIDCredential(
        scopes: [
          AppleIDAuthorizationScopes.email,
          AppleIDAuthorizationScopes.fullName,
        ],
        nonce: 'example-nonce',
        state: 'example-state',
      );

      if (userData.email != null) {
        return {
          "mail": userData.email,
          "name": userData.givenName,
        };
      } else {
        var email = tokenService.appleJWTRead(
          identityToken: userData.identityToken.toString(),
        );

        return {
          "mail": email.toString(),
          "name": null,
        };
      }
    } catch (e) {
      debugPrint("LoginHelper -> appleSignIn ERROR (catch) : $e");
      return null;
    }
  }
}
Editor is loading...
Leave a Comment