giris
unknown
dart
2 years ago
3.0 kB
8
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