2015-07-03 3 views
0

Я проверка подлинность Facebook интегрирована с разбором, используя следующий код:XCode - Swift - Facebook Authentication с Parse

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 
    } 
} 

Так я использую PFFacebookUtils Parse для входа в систему пользователя, а затем добавить дополнительные поля электронной почты, ПгвЬЫат и LastName основанный на информации пользователя Facebook, затем я регистрирую пользователя. Просто интересно, правильно ли это сделать, добавляя эти поля дополнений, и мне также было интересно, есть ли способ остановить подтверждение по электронной почте от выхода в этом сценарий? У меня есть регистр по электронной почте, поэтому мне нужно подтверждение по электронной почте, но просто не для входа в Facebook.

ответ

1

Да, насколько я знаю, это правильный способ установить новое поле. Может быть, вы хотите проверить нуль в опциях вместо явного разворачивания? И я не думаю, что каждый раз, когда вы устанавливаете электронное письмо на PFUser, он отправляет электронное письмо с подтверждением подлинности, если этот параметр включен в Parse.

Один из вариантов сохранения электронной почты без уведомления - это создать свое собственное поле электронной почты и установить его таким образом, чтобы они не получали электронное письмо с просьбой об аутентификации, а при регистрации нового пользователя с помощью электронной почты вы также можете установить это поле будет одним и тем же emailId (это довольно грязно, потому что вы повторяете одно и то же значение), но его обходное решение стоит попробовать.

Смежные вопросы