我正在使用顫振的 Facebook 身份驗證。
當我第一次登錄時輸入電子郵件和密碼,然后我注銷并再次登錄,然后它沒有要求輸入電子郵件和密碼。
當我第一次登錄時輸入電子郵件和密碼,然后我注銷并再次登錄,然后它沒有要求輸入電子郵件和密碼。
它看起來像

這是我的 Facebook 登錄功能
import 'package:cwc/ApiManager/preference.dart';
import 'package:firebase_auth/firebase_auth.dart';
import 'package:flutter_facebook_auth/flutter_facebook_auth.dart';
final FirebaseAuth _auth = FirebaseAuth.instance;
// final GoogleSignIn googleSignIn = GoogleSignIn();
String? fbName;
String? fbEmail;
String? fbImageUrl;
Future<String?> signInWithFacebook() async {
// Trigger the sign-in flow
final LoginResult loginResult = await FacebookAuth.instance.login();
// final GoogleSignInAccount? googleSignInAccount = await googleSignIn.signIn();
var a= await loginResult.message;
// Create a credential from the access token
final OAuthCredential facebookAuthCredential = FacebookAuthProvider.credential(loginResult.accessToken!.token);
print("facebookAuthCredential22 ${facebookAuthCredential.token}");
print("facebookAuthCredential33 ${facebookAuthCredential.accessToken}");
print("facebookAuthCredential44 ${facebookAuthCredential.rawNonce}");
// Once signed in, return the UserCredential
final UserCredential authResult =
await _auth.signInWithCredential(facebookAuthCredential);
final User? users = authResult.user;
final UserInfo? user = users!.providerData[0];
print("facebookAuthCredential11 $user");
// return FirebaseAuth.instance.signInWithCredential(facebookAuthCredential);
if (user != null) {
// Checking if email and name is null
// assert(user.email != null);
assert(user.displayName != null);
assert(user.photoURL != null);
Preferences.saveData("socialName", user.displayName.toString());
Preferences.saveData("socialEmail", user.email.toString());
Preferences.saveData("socialImage", user.photoURL.toString());
// Only taking the first part of the name, i.e., First Name
// if (googleName!.contains(" ")) {
// googleName = googleName!.substring(0, googleName!.indexOf(" "));
// }
assert(!users.isAnonymous);
assert(await users.getIdToken() != null);
final User? currentUser = _auth.currentUser;
assert(users.uid == currentUser!.uid);
print('signInWithFacebook succeeded: $user');
return '$user';
}
return null;
}
Future<void> signOutWithFacebook() async {
await FacebookAuth.instance.logOut();
print("User Signed Out");
}
uj5u.com熱心網友回復:
您還需要通過呼叫以下方式明確退出 Facebook:
FacebookAuth.instance.logOut()
另見:
- 如何使用 Firebase 在 Android 上正確退出 Facebook?
- 退出時
flutter_facebook_auth的檔案
uj5u.com熱心網友回復:
您可以在 上呼叫該setCustomParameters()方法FacebookAuthProvider。
并像這樣傳遞同意引數:
_facebookAuth.setCustomParameters({"consent":"select_account"});
您可以閱讀有關可以傳遞給此答案的同意的引數
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/410654.html
標籤:
上一篇:為什么是左邊的欄而不是右邊,為什么小屏版需要滑動而不是使用功能看選單?
下一篇:顫振集團登錄
