XCode - Swift - 使用 Parse 进行 Facebook 身份验证

Posted

技术标签:

【中文标题】XCode - Swift - 使用 Parse 进行 Facebook 身份验证【英文标题】:XCode - Swift - Facebook Authentication with Parse 【发布时间】:2015-07-03 15:32:56 【问题描述】:

我使用以下代码将 Facebook 身份验证与解析集成:

PFFacebookUtils.logInInBackgroundWithReadPermissions(permissions) 
  (user: PFUser?, error: NSError?) -> Void in

  if let user = user 
    if user.isNew 
      let graphRequest : FBSDKGraphRequest = FBSDKGraphRequest(graphpath: "me", parameters: nil)

      graphRequest.startWithCompletionHandler  (connection, result, error) -> Void in
        user["email"] = result.valueForKey("email") as! String
        user["firstName"] = result.valueForKey("first_name") as! String
        user["lastName"] = result.valueForKey("last_name") as! String

        user.saveInBackgroundWithBlock  (success: Bool, error: NSError?) -> Void in
          // goto app
        
      
     else 
      // goto app
    
   else 
    // Canceled
  

所以我使用 Parse 的 PFFacebookUtils 登录用户,然后根据用户的 Facebook 信息添加额外的字段电子邮件、名字和姓氏,然后我登录用户。只是想知道这是否是添加这些的正确方法附加字段,我还想知道在这种情况下是否有办法阻止电子邮件确认发送出去?我有一个通过电子邮件注册的选项,所以我需要电子邮件确认,但不是用于 Facebook 登录。

【问题讨论】:

【参考方案1】:

是的,据我所知,这是设置新字段的正确方法。也许您想在选项中检查 nil 而不是像那样显式展开? 不,我认为每次您在 PFUser 上设置电子邮件时,如果您在 Parse 中启用了该选项,它将发送身份验证电子邮件。

在不通知他们的情况下保存电子邮件的一个选项是创建您自己的 emailId 字段并将其设置为该字段,以便他们不会收到要求身份验证的电子邮件,并且在使用电子邮件注册新用户时,您还可以设置字段是相同的 emailId(这有点混乱,因为您重复了相同的值),但它是一个值得尝试的解决方法。

【讨论】:

以上是关于XCode - Swift - 使用 Parse 进行 Facebook 身份验证的主要内容,如果未能解决你的问题,请参考以下文章

在 Xcode 6.3 (Swift) 中使用 Parse 和 Facebook 框架编译错误

Facebook 使用 Parse SDK 登录(iOS 9、Xcode 7.1、Swift 2.1)

无法使用 Swift 在 Xcode 中使用 Parse 1.7.2 和 Facebook SDK 4.1 创建新用户

如果在 Parse 中找到,则输入邮政编码切换视图控制器(Swift 和 XCode)

如何在 Swift Xcode 6.4 的 TableView 中显示 Parse 数组

Swift 无法从 parse.com 检索图像