|
|
|
@ -10,7 +10,7 @@ import 'package:get/get.dart'; |
|
|
|
import 'package:crypto/crypto.dart'; |
|
|
|
|
|
|
|
class Facebook { |
|
|
|
String token = ''; |
|
|
|
String? token = ''; |
|
|
|
|
|
|
|
String name = ''; |
|
|
|
String email = ''; |
|
|
|
@ -31,10 +31,27 @@ class Facebook { |
|
|
|
return digest.toString(); |
|
|
|
} |
|
|
|
|
|
|
|
// FaceBook登录 |
|
|
|
// 修改后的 signInWithFacebook |
|
|
|
Future<bool> signInWithFacebook() async { |
|
|
|
try { |
|
|
|
UserCredential userCredential = await loginFacebook(); |
|
|
|
//UserCredential userCredential = await loginGoogle(); |
|
|
|
token = await userCredential.user?.getIdToken(); |
|
|
|
print('facebook响应数据userCredential: $token'); |
|
|
|
if (token != "") { |
|
|
|
return true; |
|
|
|
} else { |
|
|
|
return false; |
|
|
|
} |
|
|
|
} catch (e) { |
|
|
|
print(e); |
|
|
|
return false; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
// FaceBook登录 |
|
|
|
// 修改后的 signInWithFacebook |
|
|
|
Future<UserCredential> loginFacebook() async { |
|
|
|
//try { |
|
|
|
final rawNonce = generateNonce(); |
|
|
|
final nonce = sha256ofString(rawNonce); |
|
|
|
final LoginResult loginResult = await FacebookAuth.instance |
|
|
|
@ -61,7 +78,7 @@ class Facebook { |
|
|
|
switch (loginResult.accessToken!.type) { |
|
|
|
case AccessTokenType.classic: |
|
|
|
final classicToken = loginResult.accessToken as ClassicToken; |
|
|
|
token = classicToken.tokenString; |
|
|
|
// token = classicToken.tokenString; |
|
|
|
print('Token 字符串: ${classicToken.tokenString}'); |
|
|
|
print('classicToken值: ${classicToken}'); |
|
|
|
facebookAuthCredential = FacebookAuthProvider.credential( |
|
|
|
@ -70,7 +87,7 @@ class Facebook { |
|
|
|
break; |
|
|
|
case AccessTokenType.limited: |
|
|
|
final limitedToken = loginResult.accessToken as LimitedToken; |
|
|
|
token = limitedToken.tokenString; |
|
|
|
//token = limitedToken.tokenString; |
|
|
|
print('Token 字符串: ${limitedToken.tokenString}'); |
|
|
|
print('LimitedToken值: ${limitedToken}'); |
|
|
|
facebookAuthCredential = OAuthCredential( |
|
|
|
@ -85,7 +102,7 @@ class Facebook { |
|
|
|
facebookAuthCredential = FacebookAuthProvider.credential( |
|
|
|
loginResult.accessToken!.tokenString, |
|
|
|
); |
|
|
|
token = loginResult.accessToken!.tokenString; |
|
|
|
//token = loginResult.accessToken!.tokenString; |
|
|
|
} |
|
|
|
print('facebookAuthCredential值: ${facebookAuthCredential}'); |
|
|
|
if (facebookAuthCredential == null) { |
|
|
|
@ -98,12 +115,17 @@ class Facebook { |
|
|
|
pictureurl = userData["picture"]["data"]["url"].toString(); |
|
|
|
id = userData["id"].toString(); |
|
|
|
print("user login facebook ${email}${pictureurl}${name}${id}"); |
|
|
|
return FirebaseAuth.instance.signInWithCredential(facebookAuthCredential); |
|
|
|
|
|
|
|
return true; |
|
|
|
} catch (e) { |
|
|
|
print("Facebook 登录异常:$e"); |
|
|
|
return false; |
|
|
|
} |
|
|
|
// final User? user = userCredential.user; // 获取用户信息 |
|
|
|
// token = await userCredential.user?.getIdToken(); |
|
|
|
// print("irebaseAuth.instance.signInWithCredential ${token}"); |
|
|
|
|
|
|
|
// return true; |
|
|
|
// } catch (e) { |
|
|
|
// print("Facebook 登录异常:$e"); |
|
|
|
// return false; |
|
|
|
// } |
|
|
|
} |
|
|
|
|
|
|
|
// 退出Google登录 |
|
|
|
|