iOS:无法注销 Facebook 用户并再次要求输入电子邮件和密码

Posted

技术标签:

【中文标题】iOS:无法注销 Facebook 用户并再次要求输入电子邮件和密码【英文标题】:iOS: unable to logout Facebook user and ask for email and password again 【发布时间】:2018-03-26 23:51:46 【问题描述】:

我在第一次登录后无法切换用户。我尝试使用

loginManager.logOut

但我一直返回到同一屏幕,没有退出选项。我如何让它再次要求我输入电子邮件和密码?

【问题讨论】:

Using Swift Cocoapods 5.5.0 同样的问题...你找到任何解决方案了吗? @MXV 【参考方案1】:

使用以下代码

[FBSession.activeSession closeAndClearTokenInformation];
[FBSession setActiveSession:nil];

【讨论】:

【参考方案2】:

还有另一种解决方案。像这样改变 loginManager 的登录行为

 let loginManager = LoginManager()
 loginManager.loginBehavior = .browser

每次用户退出时都会打开webview提示输入用户名和密码。

然后使用代码登录用户

loginManager.logIn(readPermissions: [.publicProfile, .email], viewController: self, completion:  (loginResult) in

    switch loginResult 
    case .failed(let error):
      print(error)
    case .cancelled:
      print("User cancelled login.")
    case .success(let grantedPermissions, let declinedPermissions, let accessToken):
      print(grantedPermissions)
      print(declinedPermissions)
      print(accessToken)
      print("Logged in!")

    
  )

【讨论】:

【参考方案3】:

试试这个

FBSDKLoginManager *login;  //Global object for same class

login = [[FBSDKLoginManager alloc] init]; //when tap on login with Facebook


// for logout
[FBSDKAccessToken setCurrentAccessToken:nil];
[FBSDKProfile setCurrentProfile:nil];
[login logOut];

【讨论】:

以上是关于iOS:无法注销 Facebook 用户并再次要求输入电子邮件和密码的主要内容,如果未能解决你的问题,请参考以下文章

调用 facebook ios sdk 的注销功能未清除用户凭据

IOS FACEBOOK SDK,从FB注销并登录后

使用 facebook SDK for ios 6 实现 Facebook 注销

无法更新用户显示名称直到我注销并再次登录firebase

注销时flutter_facebook_auth插件未清除数据

Facebook SDK 4.0 IOS Swift 以编程方式注销用户