HTML5   发布时间:2022-04-27  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了ios – Parse:Facebook用户取消链接并再次登录创建两个用户表条目大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我看到通过Facebook代码登录的解析看起来像这样.

PFFacebookUtils.logInInBACkgroundWithReadPermissions(permissions) {
        (user: PFUser?,error: NSError?) -> Void in
        if let user = user {
            if user.isNew {
                println("User signed up and logged in through Facebook!")
                let graphrequest : FBSDKGraphrequest = FBSDKGraphrequest(graPHPath: "me",parameters: nil)
                graphrequest.startWithCompletionHandler({ (connection,result,error) -> Void in

                    if ((error) != nil)
                    {
                        println("Error: \(error)")
                    }
                    else
                    {
                        let userEmail : NSString = result.valueForKey("email") as! NSString
                        println("User Email is: \(userEmail)")
                        user["email"] = userEmail
                    }
                })
            } else {
                println("User logged in through Facebook!")
            }
        } else {
            println("Uh oh. The user cancelled the Facebook login.")
        }
    }

注销方法如下所示

PFFacebookUtilS.UnlinkUserInBACkground(PFUser.currentUser()!) { (succeeded: Bool,error: NSError?) -> Void in
        if succeeded {
            FBSDKAccessToken.setCurrentAccessToken(nil)
            FBSDKProfile.setCurrentProfile(nil)
            PFUser.logout()
        } else {
            println("Error")
        }
    }

用户第一次登录时,我看到解析在user表中创建了一行,其中authData指向Facebook.注销后,此authData将被删除.

问题是当用户再次登录时,解析会创建另一行并链接指向Facebook的authData,有没有办法避免这种情况.我想使用之前创建的同一行并链接到Facebook登录,而不是每次用户注销和登录时创建多行.

我可以检查电子邮件是否已经存在,但为此我需要再次登录用户的电子邮件,当发生这种情况时,已经创建了一个新行.

解决方法

您需要将用户链接到Facebook帐户,下面的代码为您执行以下链接

if !PFFacebookUtils.isLinkedWithUser(user) {
  PFFacebookUtils.linkUserInBACkground(user,withReadPermissions: nil,{
    (succeeded: Bool?,error: NSError?) -> Void in
    if succeeded {
      println("Woohoo,the user is linked with Facebook!")
    }
  })
}

From Parse.com documentation:

大佬总结

以上是大佬教程为你收集整理的ios – Parse:Facebook用户取消链接并再次登录创建两个用户表条目全部内容,希望文章能够帮你解决ios – Parse:Facebook用户取消链接并再次登录创建两个用户表条目所遇到的程序开发问题。

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

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。