ios – 如何使用Parse和Swift退出Facebook或撤消登录

ios – 如何使用Parse和Swift退出Facebook或撤消登录,第1张

概述我正在尝试将我的用户完全记录下来.使用时 PFUser.logout() 我成功地将用户从Parse中注销. 但当我回到应用程序并单击登录按钮时,我被重定向到Facebook屏幕上说:“您已经授权[应用程序的名称]” 因此,除非重置模拟器,否则我再也无法使用其他帐户登录. 我也尝试使用注销 PFFacebookUtils.facebookLoginManager().logOut() 但它也不起作 我正在尝试将我的用户完全记录下来.使用时

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或撤消登录所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1061508.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-25
下一篇 2022-05-25

发表评论

登录后才能评论

评论列表(0条)

保存