PFUser.logout()
我成功地将用户从Parse中注销.
但当我回到应用程序并单击登录按钮时,我被重定向到Facebook屏幕上说:“您已经授权[应用程序的名称]”
因此,除非重置模拟器,否则我再也无法使用其他帐户登录.
我也尝试使用注销
PFFacebookUtils.facebookLoginManager().logout()
但它也不起作用……
希望你能帮我找到解决方案!
我正在使用最新的Facebook和Parse SDK
更新:
实际上使用PFUser.logout()和Parse的最新版本以及Facebook iOS SDK版本> = 4.4.0将完成这项工作.
不要使用PFFacebookUtils.facebookLoginManager().logout()或FBSDKLoginManager().logout(),因为它只会将用户从Facebook注销,而不能从Parse后端注销.这意味着它不会删除Parse后端上的可撤销会话.
解决方法 实际上,撤销登录(让人们完全取消授权应用程序,或撤消登录)和从他/她的Facebook帐户注销用户之间存在差异:撤消登录
(你可以检查Facebook documentation)
您还可以通过调用此Graph API端点,让人们完全取消授权应用或撤消登录:
DELETE /{user-ID}/permissions
此请求必须使用有效的用户访问令牌或当前应用的应用访问令牌.如果请求成功,您的应用会收到true的回复.如果呼叫成功,则该人员的任何用户访问令牌都将失效,他们将不得不再次登录.由于您要对您的应用取消授权,因此他们还必须授予对您应用的访问权限,就像他们第一次登录一样.
let facebookRequest: FBSDKGraphRequest! = FBSDKGraphRequest(graPHPath: "/me/permissions",parameters: nil,httpMethod: "DELETE")facebookRequest.startWithCompletionHandler { (connection: FBSDKGraphRequestConnection!,result: AnyObject!,error: NSError!) -> VoID in if(error == nil && result != nil){ println("Permission successfully revoked. This app will no longer post to Facebook on your behalf.") println("result = \(result)") } else { if let error: NSError = error { if let errorString = error.userInfo?["error"] as? String { println("errorString variable equals: \(errorString)") } } else { println("No value for error key") } }}
从用户的Facebook帐户中注销用户
如果您使用Parse和Facebook iOS SDK版本> = 4.4.0通过Facebook注册或登录用户,并且您不想取消授权应用程序或撤消登录,但只是想要注销来自Facebook的用户,请使用:
PFUser.logout()
它将注销用户,删除Parse后端端的会话(不要忘记通过您的Parse应用程序设置enable Parse revocable session),此外它还将删除写在用户设备磁盘上的Facebook会话.
我希望这个答案会帮助你们.
总结以上是内存溢出为你收集整理的ios – 如何使用Parse和Swift退出Facebook或撤消登录全部内容,希望文章能够帮你解决ios – 如何使用Parse和Swift退出Facebook或撤消登录所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)