giris
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