无法使用 flutter with firebase 从 Facebook 注销
Cannot sign-out from Facebook using flutter with firebase
我有一个 flutter 应用程序,我在 iOS 上使用 Facebook 和 firebase 进行身份验证。但是,虽然我调用了注销功能,但我无法再次进入登录页面
我总是看到 facebook 确认屏幕,其中有一些文本通知我我已经登录。
如何注销以便下次我被要求输入我的 email/pass
这是我的代码片段
Future<FirebaseUser> signInWithFacebook();
final FirebaseAuth _auth = FirebaseAuth.instance;
Future<FirebaseUser> signInWithFacebook() async {
FirebaseUser user;
var result = await _facebookLogin
.logInWithReadPermissions(['email', 'public_profile']);
if (result.status == FacebookLoginStatus.loggedIn) {
FacebookAccessToken myToken = result.accessToken;
AuthCredential credential =
FacebookAuthProvider.getCredential(accessToken: myToken.token);
user = await _auth.signInWithCredential(credential);
}
return user;
}
Future<void> signOut() async {
await _facebookLogin.logOut();
await _auth.signOut();
}
感谢您的帮助
Firebase 将 FirebaseUser
对象保存在缓存中,因此用户每次离开应用程序时都不需要重新登录。所以 signOut 函数应该是这样的:
Future<void> signOut() async {
await _facebookLogin.logOut();
await _auth.signOut();
_user = null;
}
并且 FirebaseUser user;
应该从 signInWithFacebook 函数中移出(我将其重命名为 _user
)。
我有一个 flutter 应用程序,我在 iOS 上使用 Facebook 和 firebase 进行身份验证。但是,虽然我调用了注销功能,但我无法再次进入登录页面
我总是看到 facebook 确认屏幕,其中有一些文本通知我我已经登录。
如何注销以便下次我被要求输入我的 email/pass
这是我的代码片段
Future<FirebaseUser> signInWithFacebook();
final FirebaseAuth _auth = FirebaseAuth.instance;
Future<FirebaseUser> signInWithFacebook() async {
FirebaseUser user;
var result = await _facebookLogin
.logInWithReadPermissions(['email', 'public_profile']);
if (result.status == FacebookLoginStatus.loggedIn) {
FacebookAccessToken myToken = result.accessToken;
AuthCredential credential =
FacebookAuthProvider.getCredential(accessToken: myToken.token);
user = await _auth.signInWithCredential(credential);
}
return user;
}
Future<void> signOut() async {
await _facebookLogin.logOut();
await _auth.signOut();
}
感谢您的帮助
Firebase 将 FirebaseUser
对象保存在缓存中,因此用户每次离开应用程序时都不需要重新登录。所以 signOut 函数应该是这样的:
Future<void> signOut() async {
await _facebookLogin.logOut();
await _auth.signOut();
_user = null;
}
并且 FirebaseUser user;
应该从 signInWithFacebook 函数中移出(我将其重命名为 _user
)。